diff --git a/README.md b/README.md index 449a055..9b1b966 100644 --- a/README.md +++ b/README.md @@ -11,4 +11,10 @@ TODO:: * ~~Kofis löschen~~ * ~~Logout~~ * Konfis auf der Frontseite mit Websockets updaten -* Mode hinzufügen: in der Config soll man zwischen Gemeinden und Konfis umschalten können, so dass entweder die Gemeinden oder Konfis gegeneinander spielen \ No newline at end of file +* ~~Mode hinzufügen: in der Config soll man zwischen Gemeinden und Konfis umschalten können, so dass entweder die Gemeinden oder Konfis gegeneinander spielen~~ +* Alles in Fenster packen +* Random Port (wenn man irgendwie den laufenden port finden kann) +* Front-Tabelle schöner +* Mini-Doku + * Inbetriebnahme + * Bedienung \ No newline at end of file diff --git a/add.go b/add.go index 2624ff3..5fdff00 100644 --- a/add.go +++ b/add.go @@ -6,6 +6,10 @@ import ( ) func addKonfi(c echo.Context) error { + + //Config + SiteConf := initConfig() + //Datenbankverbindung aufbauen db := DBinit() @@ -18,16 +22,36 @@ func addKonfi(c echo.Context) error { //Wenn eingeloggt if logged != nil { - kofi := new(Kofi) - kofi.Name = c.FormValue("name") - kofi.Gemeinde = c.FormValue("gemeinde") + // Mode nach Kofis + if SiteConf.Mode == 0 { + kofi := new(Kofi) + kofi.Name = c.FormValue("name") + kofi.Gemeinde = c.FormValue("gemeinde") + + // Einfügen + _, err := db.Insert(kofi) + if err == nil { + return c.JSON(http.StatusOK, Message{"success"}) + } + + return c.JSON(http.StatusInternalServerError, Message{"Error."}) + + } else if SiteConf.Mode == 1 { // Mode nach Gemeinden + + gemeinde := new(Gemeinde) + gemeinde.Name = c.FormValue("name") + + _, err := db.Insert(gemeinde) + if err == nil { + return c.JSON(http.StatusOK, Message{"success"}) + } + + return c.JSON(http.StatusInternalServerError, Message{"Error."}) - //Aktuelle Coins holen - _, err := db.Insert(kofi) - if err == nil { - return c.JSON(http.StatusOK, Message{"success"}) } - return c.JSON(http.StatusOK, Message{"Error."}) + + return c.JSON(http.StatusInternalServerError, Message{"Wrong Mode."}) + } else { return c.JSON(http.StatusOK, Message{"Login first."}) } diff --git a/admin.go b/admin.go index 7e4d58f..3878b73 100644 --- a/admin.go +++ b/admin.go @@ -3,13 +3,18 @@ package main import ( "github.com/labstack/echo" "net/http" + "strconv" ) -type Loggedin struct { +type AdminInfos struct { Loggedin bool + Mode int } func adminHandler(c echo.Context) error { + //Config + SiteConf := initConfig() + rw := c.Response() r := c.Request() @@ -20,8 +25,8 @@ func adminHandler(c echo.Context) error { loggedin := sess.Get("login") if loggedin != nil { - return c.Render(http.StatusOK, "admin", Loggedin{true}) + return c.Render(http.StatusOK, "admin_mode_" + strconv.Itoa(SiteConf.Mode), AdminInfos{true, SiteConf.Mode}) } else { - return c.Render(http.StatusOK, "admin", Loggedin{false}) + return c.Render(http.StatusOK, "login", AdminInfos{false, SiteConf.Mode}) } } diff --git a/assets/js/admin.js b/assets/js/admin.js index d473760..420edb2 100644 --- a/assets/js/admin.js +++ b/assets/js/admin.js @@ -1,9 +1,13 @@ function getList() { $.getJSON('/list?asc=asc', function (data) { //console.log(data); - $("#konfis").html(''); + $("#list").html(''); $.each(data, function (i, item) { - $("#konfis").append(' ' + item.Name + ' ' + item.Gemeinde + ' ' + item.KCoins + '    '); + if(item.Gemeinde !== undefined) { + $("#list").append(' ' + item.Name + ' ' + item.Gemeinde + ' ' + item.KCoins + '    '); + } else { + $("#list").append(' ' + item.Name + ' ' + item.KCoins + '    '); + } }); }); } @@ -15,7 +19,7 @@ function updateCoins(id) { var addcoins = $('#kcoins_' + id).val(); if(addcoins != 0) { - $('#kcoins_container_' + id).addClass('disabled'); + $('#coins_container_' + id).addClass('disabled'); $.ajax({ url: '/update', @@ -23,11 +27,11 @@ function updateCoins(id) { data: 'id=' + id + '&addcoins=' + addcoins, success: function (msg) { console.log(msg); - $('#kcoins_container_' + id).removeClass('disabled'); + $('#coins_container_' + id).removeClass('disabled'); if (msg.Message == 'success') { $('#kcoins_' + id).val("0"); - $('#kcoins_display_' + id).html(msg.Kofi.KCoins); + $('#kcoins_display_' + id).html(msg.Data.KCoins); } else { $('#msg').html('
Ein Fehler trat auf.
'); @@ -72,6 +76,42 @@ function deleteKonfi(id) { ; } +function deleteGemeinde(id) { + console.log('Delete', id); + $('#kcoins_container_' + id).addClass('disabled'); + + $('.ui.basic.gemeindedel.modal') + .modal({ + closable : false, + duration: 200, + onDeny : function(){ + $('#kcoins_container_' + id).removeClass('disabled'); + return true; + }, + onApprove : function() { + $.ajax({ + url: '/delete', + method: 'POST', + data: 'id=' + id, + success: function (msg) { + console.log(msg); + + if (msg.Message == 'success') { + //$('#kcoins_row_' + id).remove(); + getList(); + $('#msg').html('
Die Gemeinde wurde erfolgreich gelöscht.
'); + } else { + $('#msg').html('
Ein Fehler trat auf.
'); + } + } + }); + } + }) + .modal('show') + ; +} + +// Konfi hinzufügen $('.ui.kofiadd.modal') .modal({ duration: 200, @@ -101,6 +141,35 @@ $('.ui.kofiadd.modal') .modal('attach events', '.addKofi.button', 'show') ; +$('.ui.gemeindeadd.modal') + .modal({ + duration: 200, + onApprove : function() { + $('.loader').addClass('active'); + console.log('bul'); + $.ajax({ + url: '/add', + method: 'POST', + data: 'name=' + $('#name').val(), + success: function (msg) { + $('.loader').removeClass('active'); + console.log(msg); + + if (msg.Message == 'success') { + $('#name').val(''); + + getList(); + $('#msg').html('
Die Gemeinde wurde erfolgreich hinzugefügt.
'); + } else { + $('#msg').html('
Ein Fehler trat auf.
'); + } + } + }); + } + }) + .modal('attach events', '.addGemeinde.button', 'show') +; + $('.ui.kofiupload.modal') .modal('attach events', '.ui.right.labeled.icon.uploadKofis.button.blue', 'show') ; \ No newline at end of file diff --git a/assets/js/load.js b/assets/js/load.js index b660eb1..65b0ec3 100644 --- a/assets/js/load.js +++ b/assets/js/load.js @@ -3,7 +3,11 @@ setInterval(function() { //console.log(data); $( "#konfis" ).html(''); $.each( data, function( i, item ) { - $( "#konfis" ).append(' ' + item.Name + ' ' + item.Gemeinde + ' ' + item.KCoins + ''); + if (item.Gemeinde != undefined) { + $( "#konfis" ).append(' ' + item.Name + ' ' + item.Gemeinde + ' ' + item.KCoins + ''); + } else { + $( "#konfis" ).append(' ' + item.Name + ' ' + item.KCoins + ''); + } }); }); }, 1000); diff --git a/config.go b/config.go index e1d25de..c12e59f 100644 --- a/config.go +++ b/config.go @@ -10,6 +10,7 @@ type Configuration struct { AdminPassword string Interface string DBFile string + Mode int } var SiteConf Configuration = Configuration{} diff --git a/config.ini b/config.ini index 2d61207..696f2fe 100644 --- a/config.ini +++ b/config.ini @@ -1,3 +1,12 @@ +; Das Adminpasswort, wird benötigt, um sich unter /admin einzuloggen AdminPassword = geheim + +; 0 = Konfis sind selbstständig +; 1 = Gemeinden spielen gegeneinancer +Mode = 1 + +; Serverkram +; Das Interface inkl. Port, auf dem der Webserver läuft Interface = :8080 +; Hier wird die Datenbank gespeichert DBFile = ./data.db \ No newline at end of file diff --git a/delete.go b/delete.go index 81adc3d..df9984a 100644 --- a/delete.go +++ b/delete.go @@ -7,6 +7,10 @@ import ( ) func deleteKonfi(c echo.Context) error { + + //Config + SiteConf := initConfig() + //Datenbankverbindung aufbauen db := DBinit() @@ -22,12 +26,19 @@ func deleteKonfi(c echo.Context) error { id, _ := strconv.Atoi(c.FormValue("id")) //Löschen - _, err := db.Id(id).Delete(&Kofi{}) - if err == nil { - return c.JSON(http.StatusOK, Message{"success"}) + if SiteConf.Mode == 0 { + _, err := db.Id(id).Delete(&Kofi{}) + if err == nil { + return c.JSON(http.StatusOK, Message{"success"}) + } + } else if SiteConf.Mode == 1{ + _, err := db.Id(id).Delete(&Gemeinde{}) + if err == nil { + return c.JSON(http.StatusOK, Message{"success"}) + } } - return c.JSON(http.StatusOK, Message{"Error."}) + return c.JSON(http.StatusInternalServerError, Message{"Error."}) } else { - return c.JSON(http.StatusOK, Message{"Login first."}) + return c.JSON(http.StatusForbidden, Message{"Login first."}) } } diff --git a/getList.go b/getList.go index 27d5e18..97924f4 100644 --- a/getList.go +++ b/getList.go @@ -10,21 +10,46 @@ func getList(c echo.Context) error { //Datenbankverbindung aufbauen db := DBinit() - //Daten holen und anzeigen - var kofi []Kofi - asc := c.QueryParam("asc") - if asc == "" { - err := db.OrderBy("KCoins DESC").Find(&kofi) - if err != nil { - fmt.Println(err) + //Config + SiteConf := initConfig() + + if SiteConf.Mode == 0 { + //Daten holen und anzeigen + var kofi []Kofi + asc := c.QueryParam("asc") + if asc == "" { + err := db.OrderBy("KCoins DESC").Find(&kofi) + if err != nil { + fmt.Println(err) + } + } else { + err := db.OrderBy("Name ASC").Find(&kofi) + if err != nil { + fmt.Println(err) + } } - } else { - err := db.OrderBy("Name ASC").Find(&kofi) - if err != nil { - fmt.Println(err) + + //Template + return c.JSON(http.StatusOK, kofi) + } else if SiteConf.Mode == 1 { + //Daten holen und anzeigen + var gemeinden []Gemeinde + asc := c.QueryParam("asc") + if asc == "" { + err := db.OrderBy("KCoins DESC").Find(&gemeinden) + if err != nil { + fmt.Println(err) + } + } else { + err := db.OrderBy("Name ASC").Find(&gemeinden) + if err != nil { + fmt.Println(err) + } } + + //Template + return c.JSON(http.StatusOK, gemeinden) } - //Template - return c.JSON(http.StatusOK, kofi) + return c.HTML(http.StatusInternalServerError, "Error. (Wrong mode)") } diff --git a/main.go b/main.go index 59a6098..aae4938 100644 --- a/main.go +++ b/main.go @@ -79,7 +79,8 @@ func main() { //DB init - Create tables db := DBinit() - db.CreateTables(&Kofi{}) + db.Sync(&Kofi{}) + db.Sync(&Gemeinde{}) //Start the server e.Logger.SetLevel(log.ERROR) diff --git a/showList.go b/showList.go index 52a8ede..ca9d031 100644 --- a/showList.go +++ b/showList.go @@ -6,6 +6,10 @@ import ( ) func showList(c echo.Context) error { + + //Config + SiteConf := initConfig() + //Template - return c.Render(http.StatusOK, "index", Message{"schinken"}) + return c.Render(http.StatusOK, "index", SiteConf) } diff --git a/tpl/admin.html b/tpl/admin_mode_0.html similarity index 74% rename from tpl/admin.html rename to tpl/admin_mode_0.html index cf48c30..7480d11 100644 --- a/tpl/admin.html +++ b/tpl/admin_mode_0.html @@ -1,4 +1,4 @@ -{{define "admin"}} +{{define "admin_mode_0"}} @@ -37,7 +37,7 @@ Bearbeiten - + Laden... @@ -75,14 +75,12 @@ Konfi hinzufügen
-


-
@@ -108,41 +106,14 @@
Abbrechen
-
+
include Hochladen
-{{else}} - -
-
-

- Kasino Admin -

-
-
-
-
- - -
-
-
Login
-
- -
- -
-
-
-{{end}} - -{{if .Loggedin}} -{{else}} - {{end}} + -{{end}} \ No newline at end of file +{{end}}include \ No newline at end of file diff --git a/tpl/admin_mode_1.html b/tpl/admin_mode_1.html new file mode 100644 index 0000000..d45ad20 --- /dev/null +++ b/tpl/admin_mode_1.html @@ -0,0 +1,95 @@ +{{define "admin_mode_1"}} + + + + + Kasino Admin + + + + +{{if .Loggedin}} + +
+

Kasino Admin +
+

+ + + Ausloggen + +

+ + + Gemeinde Hinzufügen + +

+ +
+ + + + + + + + + + + + + +
NameKonfiCoinsBearbeiten
Laden...
+
+ + + + + + + + + + +{{end}} + + + +{{end}} \ No newline at end of file diff --git a/tpl/index.html b/tpl/index.html index 3d561e4..836f947 100644 --- a/tpl/index.html +++ b/tpl/index.html @@ -10,7 +10,9 @@ + {{if eq .Mode 0}} + {{end}} diff --git a/tpl/login.html b/tpl/login.html new file mode 100644 index 0000000..c3c6da8 --- /dev/null +++ b/tpl/login.html @@ -0,0 +1,37 @@ +{{define "login"}} + + + + + Kasino Admin + + + + + +
+
+

+ Kasino Admin +

+
+
+
+
+ + +
+
+
Login
+
+ +
+ + +
+
+ + + + +{{end}} \ No newline at end of file diff --git a/update.go b/update.go index c5b22a6..d2cbd38 100644 --- a/update.go +++ b/update.go @@ -7,6 +7,10 @@ import ( ) func update(c echo.Context) error { + + //Config + SiteConf := initConfig() + //Datenbankverbindung aufbauen db := DBinit() @@ -22,23 +26,43 @@ func update(c echo.Context) error { id, _ := strconv.Atoi(c.FormValue("id")) addcoins, _ := strconv.Atoi(c.FormValue("addcoins")) - //Aktuelle Coins holen - var kofi = Kofi{ID: id} - has, err := db.Get(&kofi) - checkErr(err) - if has { - newCoins := kofi.KCoins + addcoins + if SiteConf.Mode == 0 { + //Aktuelle Coins holen + var kofi= Kofi{ID: id} + has, err := db.Get(&kofi) + checkErr(err) + if has { + newCoins := kofi.KCoins + addcoins - //Updaten - kofi.KCoins = newCoins - _, err := db.Id(id).Update(kofi) + //Updaten + kofi.KCoins = newCoins + _, err := db.Id(id).Update(kofi) - if err == nil { - return c.JSON(http.StatusOK, UpdatedMessage{"success", kofi}) + if err == nil { + return c.JSON(http.StatusOK, UpdatedMessageKofi{"success", kofi}) + } } + } else if SiteConf.Mode == 1{ + var gemeinde = Gemeinde{ID: id} + has, err := db.Get(&gemeinde) + checkErr(err) + + if has { + newCoins := gemeinde.KCoins + addcoins + + // Updaten + gemeinde.KCoins = newCoins + _, err := db.ID(id).Update(gemeinde) + + if err == nil { + return c.JSON(http.StatusOK, UpdatedMessageGemeinde{"success", gemeinde}) + } + + } + } - return c.JSON(http.StatusOK, Message{"Error."}) + return c.JSON(http.StatusInternalServerError, Message{"Error."}) } else { - return c.JSON(http.StatusOK, Message{"Login first."}) + return c.JSON(http.StatusForbidden, Message{"Login first."}) } } diff --git a/utils.go b/utils.go index 0e7d602..2638280 100644 --- a/utils.go +++ b/utils.go @@ -9,13 +9,24 @@ type Kofi struct { KCoins int } +type Gemeinde struct { + ID int `xorm:"pk autoincr"` + Name string + KCoins int +} + type Message struct { Message string } -type UpdatedMessage struct { +type UpdatedMessageKofi struct { Message string - Kofi Kofi + Data Kofi +} + +type UpdatedMessageGemeinde struct { + Message string + Data Gemeinde } //CheckError diff --git a/vendor/github.com/denisenkom/go-mssqldb/README.md b/vendor/github.com/denisenkom/go-mssqldb/README.md index 924fd91..64177bd 100644 --- a/vendor/github.com/denisenkom/go-mssqldb/README.md +++ b/vendor/github.com/denisenkom/go-mssqldb/README.md @@ -1,6 +1,8 @@ # A pure Go MSSQL driver for Go's database/sql package +[![GoDoc](https://godoc.org/github.com/denisenkom/go-mssqldb?status.svg)](http://godoc.org/github.com/denisenkom/go-mssqldb) [![Build status](https://ci.appveyor.com/api/projects/status/ujv21jd241h8o5s7?svg=true)](https://ci.appveyor.com/project/denisenk/go-mssqldb) +[![codecov](https://codecov.io/gh/denisenkom/go-mssqldb/branch/master/graph/badge.svg)](https://codecov.io/gh/denisenkom/go-mssqldb) ## Install diff --git a/vendor/github.com/denisenkom/go-mssqldb/appveyor.yml b/vendor/github.com/denisenkom/go-mssqldb/appveyor.yml index fc4cfcf..0155dce 100644 --- a/vendor/github.com/denisenkom/go-mssqldb/appveyor.yml +++ b/vendor/github.com/denisenkom/go-mssqldb/appveyor.yml @@ -44,7 +44,9 @@ before_test: Start-Service "SQLBrowser" - sqlcmd -S "(local)\%SQLINSTANCE%" -Q "Use [master]; CREATE DATABASE test;" - sqlcmd -S "(local)\%SQLINSTANCE%" -h -1 -Q "set nocount on; Select @@version" + - pip install codecov test_script: - - go test -v -cover + - go test -race -coverprofile=coverage.txt -covermode=atomic + - codecov -f coverage.txt diff --git a/vendor/github.com/denisenkom/go-mssqldb/buf.go b/vendor/github.com/denisenkom/go-mssqldb/buf.go index 122c192..98851d2 100644 --- a/vendor/github.com/denisenkom/go-mssqldb/buf.go +++ b/vendor/github.com/denisenkom/go-mssqldb/buf.go @@ -1,11 +1,9 @@ package mssql import ( - "database/sql/driver" "encoding/binary" "errors" "io" - "net" ) type packetType uint8 @@ -53,19 +51,6 @@ func newTdsBuffer(bufsize uint16, transport io.ReadWriteCloser) *tdsBuffer { return w } -func checkBadConn(err error) error { - if err == io.EOF { - return driver.ErrBadConn - } - - switch err.(type) { - case net.Error: - return driver.ErrBadConn - default: - return err - } -} - func (rw *tdsBuffer) ResizeBuffer(packetsizei int) { if len(rw.rbuf) != packetsizei { newbuf := make([]byte, packetsizei) @@ -152,7 +137,7 @@ func (r *tdsBuffer) readNextPacket() error { var err error err = binary.Read(r.transport, binary.BigEndian, &header) if err != nil { - return checkBadConn(err) + return err } offset := uint16(binary.Size(header)) if int(header.Size) > len(r.rbuf) { @@ -163,7 +148,7 @@ func (r *tdsBuffer) readNextPacket() error { } _, err = io.ReadFull(r.transport, r.rbuf[offset:header.Size]) if err != nil { - return checkBadConn(err) + return err } r.rpos = offset r.rsize = header.Size @@ -206,7 +191,7 @@ func (r *tdsBuffer) byte() byte { func (r *tdsBuffer) ReadFull(buf []byte) { _, err := io.ReadFull(r, buf[:]) if err != nil { - badStreamPanic(checkBadConn(err)) + badStreamPanic(err) } } diff --git a/vendor/github.com/denisenkom/go-mssqldb/bulkcopy_test.go b/vendor/github.com/denisenkom/go-mssqldb/bulkcopy_test.go index f5dd25f..070b811 100644 --- a/vendor/github.com/denisenkom/go-mssqldb/bulkcopy_test.go +++ b/vendor/github.com/denisenkom/go-mssqldb/bulkcopy_test.go @@ -71,11 +71,18 @@ func TestBulkcopy(t *testing.T) { conn := open(t) defer conn.Close() - setupTable(conn, tableName) + err := setupTable(conn, tableName) + if (err != nil) { + t.Error("Setup table failed: ", err.Error()) + return + } + + log.Println("Preparing copyin statement") stmt, err := conn.Prepare(CopyIn(tableName, MssqlBulkOptions{}, columns...)) for i := 0; i < 10; i++ { + log.Printf("Executing copy in statement %d time with %d values", i+1, len(values)) _, err = stmt.Exec(values...) if err != nil { t.Error("AddRow failed: ", err.Error()) @@ -142,8 +149,8 @@ func compareValue(a interface{}, expected interface{}) bool { return reflect.DeepEqual(expected, a) } } -func setupTable(conn *sql.DB, tableName string) { +func setupTable(conn *sql.DB, tableName string) (err error) { tablesql := `CREATE TABLE ` + tableName + ` ( [id] [int] IDENTITY(1,1) NOT NULL, [test_nvarchar] [nvarchar](50) NULL, @@ -186,9 +193,9 @@ func setupTable(conn *sql.DB, tableName string) { [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY];` - _, err := conn.Exec(tablesql) + _, err = conn.Exec(tablesql) if err != nil { log.Fatal("tablesql failed:", err) } - + return } diff --git a/vendor/github.com/denisenkom/go-mssqldb/mssql.go b/vendor/github.com/denisenkom/go-mssqldb/mssql.go index d273796..d600d88 100644 --- a/vendor/github.com/denisenkom/go-mssqldb/mssql.go +++ b/vendor/github.com/denisenkom/go-mssqldb/mssql.go @@ -58,6 +58,38 @@ type MssqlConn struct { transactionCtx context.Context processQueryText bool + + connectionGood bool +} + +func (c *MssqlConn) checkBadConn(err error) error { + // this is a hack to address Issue #275 + // we set connectionGood flag to false if + // error indicates that connection is not usable + // but we return actual error instead of ErrBadConn + // this will cause connection to stay in a pool + // but next request to this connection will return ErrBadConn + + // it might be possible to revise this hack after + // https://github.com/golang/go/issues/20807 + // is implemented + if err == nil { + return nil + } + if err == io.EOF { + return driver.ErrBadConn + } + + switch err.(type) { + case net.Error: + c.connectionGood = false + return err + case StreamError: + c.connectionGood = false + return err + default: + return err + } } func (c *MssqlConn) simpleProcessResp(ctx context.Context) error { @@ -67,18 +99,21 @@ func (c *MssqlConn) simpleProcessResp(ctx context.Context) error { switch token := tok.(type) { case doneStruct: if token.isError() { - return token.getError() + return c.checkBadConn(token.getError()) } case error: - return token + return c.checkBadConn(token) } } return nil } func (c *MssqlConn) Commit() error { + if !c.connectionGood { + return driver.ErrBadConn + } if err := c.sendCommitRequest(); err != nil { - return err + return c.checkBadConn(err) } return c.simpleProcessResp(c.transactionCtx) } @@ -98,8 +133,11 @@ func (c *MssqlConn) sendCommitRequest() error { } func (c *MssqlConn) Rollback() error { + if !c.connectionGood { + return driver.ErrBadConn + } if err := c.sendRollbackRequest(); err != nil { - return err + return c.checkBadConn(err) } return c.simpleProcessResp(c.transactionCtx) } @@ -122,12 +160,19 @@ func (c *MssqlConn) Begin() (driver.Tx, error) { return c.begin(context.Background(), isolationUseCurrent) } -func (c *MssqlConn) begin(ctx context.Context, tdsIsolation isoLevel) (driver.Tx, error) { - err := c.sendBeginRequest(ctx, tdsIsolation) - if err != nil { - return nil, err +func (c *MssqlConn) begin(ctx context.Context, tdsIsolation isoLevel) (tx driver.Tx, err error) { + if !c.connectionGood { + return nil, driver.ErrBadConn } - return c.processBeginResponse(ctx) + err = c.sendBeginRequest(ctx, tdsIsolation) + if err != nil { + return nil, c.checkBadConn(err) + } + tx, err = c.processBeginResponse(ctx) + if err != nil { + return nil, c.checkBadConn(err) + } + return } func (c *MssqlConn) sendBeginRequest(ctx context.Context, tdsIsolation isoLevel) error { @@ -183,7 +228,7 @@ func (d *MssqlDriver) open(dsn string) (*MssqlConn, error) { } } - conn := &MssqlConn{sess, context.Background(), d.processQueryText} + conn := &MssqlConn{sess: sess, transactionCtx: context.Background(), processQueryText: d.processQueryText, connectionGood: true} conn.sess.log = d.log return conn, nil } @@ -206,6 +251,9 @@ type queryNotifSub struct { } func (c *MssqlConn) Prepare(query string) (driver.Stmt, error) { + if !c.connectionGood { + return nil, driver.ErrBadConn + } if len(query) > 10 && strings.EqualFold(query[:10], "INSERTBULK") { return c.prepareCopyIn(query) } @@ -315,9 +363,12 @@ func (s *MssqlStmt) Query(args []driver.Value) (driver.Rows, error) { return s.queryContext(context.Background(), convertOldArgs(args)) } -func (s *MssqlStmt) queryContext(ctx context.Context, args []namedValue) (driver.Rows, error) { - if err := s.sendQuery(args); err != nil { - return nil, err +func (s *MssqlStmt) queryContext(ctx context.Context, args []namedValue) (rows driver.Rows, err error) { + if !s.c.connectionGood { + return nil, driver.ErrBadConn + } + if err = s.sendQuery(args); err != nil { + return nil, s.c.checkBadConn(err) } return s.processQueryResponse(ctx) } @@ -343,13 +394,13 @@ loop: break loop case doneStruct: if token.isError() { - return nil, token.getError() + return nil, s.c.checkBadConn(token.getError()) } case error: - return nil, token + return nil, s.c.checkBadConn(token) } } - res = &MssqlRows{sess: s.c.sess, tokchan: tokchan, cols: cols, cancel: cancel} + res = &MssqlRows{stmt: s, tokchan: tokchan, cols: cols, cancel: cancel} return } @@ -357,11 +408,17 @@ func (s *MssqlStmt) Exec(args []driver.Value) (driver.Result, error) { return s.exec(context.Background(), convertOldArgs(args)) } -func (s *MssqlStmt) exec(ctx context.Context, args []namedValue) (driver.Result, error) { - if err := s.sendQuery(args); err != nil { - return nil, err +func (s *MssqlStmt) exec(ctx context.Context, args []namedValue) (res driver.Result, err error) { + if !s.c.connectionGood { + return nil, driver.ErrBadConn } - return s.processExec(ctx) + if err = s.sendQuery(args); err != nil { + return nil, s.c.checkBadConn(err) + } + if res, err = s.processExec(ctx); err != nil { + return nil, s.c.checkBadConn(err) + } + return } func (s *MssqlStmt) processExec(ctx context.Context) (res driver.Result, err error) { @@ -389,7 +446,7 @@ func (s *MssqlStmt) processExec(ctx context.Context) (res driver.Result, err err } type MssqlRows struct { - sess *tdsSession + stmt *MssqlStmt cols []columnStruct tokchan chan tokenStruct @@ -415,6 +472,9 @@ func (rc *MssqlRows) Columns() (res []string) { } func (rc *MssqlRows) Next(dest []driver.Value) error { + if !rc.stmt.c.connectionGood { + return driver.ErrBadConn + } if rc.nextCols != nil { return io.EOF } @@ -430,10 +490,10 @@ func (rc *MssqlRows) Next(dest []driver.Value) error { return nil case doneStruct: if tokdata.isError() { - return tokdata.getError() + return rc.stmt.c.checkBadConn(tokdata.getError()) } case error: - return tokdata + return rc.stmt.c.checkBadConn(tokdata) } } return io.EOF diff --git a/vendor/github.com/denisenkom/go-mssqldb/queries_test.go b/vendor/github.com/denisenkom/go-mssqldb/queries_test.go index 3fad48f..48503f6 100644 --- a/vendor/github.com/denisenkom/go-mssqldb/queries_test.go +++ b/vendor/github.com/denisenkom/go-mssqldb/queries_test.go @@ -343,7 +343,6 @@ func TestExec(t *testing.T) { } func TestShortTimeout(t *testing.T) { - t.Skip("TODO: fix this test") if testing.Short() { t.Skip("short") } @@ -841,7 +840,6 @@ func TestConnectionClosing(t *testing.T) { } func TestBeginTranError(t *testing.T) { - t.Skip("TODO: fix this test") checkConnStr(t) drv := driverWithProcess(t) conn, err := drv.open(makeConnStr(t).String()) @@ -878,10 +876,13 @@ func TestBeginTranError(t *testing.T) { case driver.ErrBadConn: t.Error("processBeginResponse should fail with error different from ErrBadConn but it did") } + + if conn.connectionGood { + t.Fatal("Connection should be in a bad state") + } } func TestCommitTranError(t *testing.T) { - t.Skip("TODO: fix this test") checkConnStr(t) drv := driverWithProcess(t) conn, err := drv.open(makeConnStr(t).String()) @@ -919,6 +920,10 @@ func TestCommitTranError(t *testing.T) { t.Error("simpleProcessResp should fail with error different from ErrBadConn but it did") } + if conn.connectionGood { + t.Fatal("Connection should be in a bad state") + } + // reopen connection conn, err = drv.open(makeConnStr(t).String()) defer conn.Close() @@ -936,7 +941,6 @@ func TestCommitTranError(t *testing.T) { } func TestRollbackTranError(t *testing.T) { - t.Skip("TODO: fix this test") checkConnStr(t) drv := driverWithProcess(t) conn, err := drv.open(makeConnStr(t).String()) @@ -974,6 +978,10 @@ func TestRollbackTranError(t *testing.T) { t.Error("simpleProcessResp should fail with error different from ErrBadConn but it did") } + if conn.connectionGood { + t.Fatal("Connection should be in a bad state") + } + // reopen connection conn, err = drv.open(makeConnStr(t).String()) defer conn.Close() @@ -1031,7 +1039,6 @@ func TestSendQueryErrors(t *testing.T) { } func TestProcessQueryErrors(t *testing.T) { - t.Skip("TODO: fix this test") checkConnStr(t) drv := driverWithProcess(t) conn, err := drv.open(makeConnStr(t).String()) @@ -1056,6 +1063,10 @@ func TestProcessQueryErrors(t *testing.T) { if err == driver.ErrBadConn { t.Error("processQueryResponse expected to fail with error other than ErrBadConn but it failed with it") } + + if conn.connectionGood { + t.Fatal("Connection should be in a bad state") + } } func TestSendExecErrors(t *testing.T) { diff --git a/vendor/github.com/denisenkom/go-mssqldb/tds_test.go b/vendor/github.com/denisenkom/go-mssqldb/tds_test.go index 4fe7d00..7cffe98 100644 --- a/vendor/github.com/denisenkom/go-mssqldb/tds_test.go +++ b/vendor/github.com/denisenkom/go-mssqldb/tds_test.go @@ -198,36 +198,6 @@ func TestConnect(t *testing.T) { defer conn.Close() } -func TestBadConnect(t *testing.T) { - t.Skip("TODO: fix this test") - var badDSNs []string - - if parsed, err := url.Parse(os.Getenv("SQLSERVER_DSN")); err == nil { - parsed.User = url.UserPassword("baduser", "badpwd") - badDSNs = append(badDSNs, parsed.String()) - } - if len(os.Getenv("HOST")) > 0 && len(os.Getenv("INSTANCE")) > 0 { - badDSNs = append(badDSNs, - fmt.Sprintf( - "Server=%s\\%s;User ID=baduser;Password=badpwd", - os.Getenv("HOST"), os.Getenv("INSTANCE"), - ), - ) - } - SetLogger(testLogger{t}) - for _, badDsn := range badDSNs { - conn, err := sql.Open("mssql", badDsn) - if err != nil { - t.Error("Open connection failed:", err.Error()) - } - defer conn.Close() - err = conn.Ping() - if err == nil { - t.Error("Ping should fail for connection: ", badDsn) - } - } -} - func simpleQuery(conn *sql.DB, t *testing.T) (stmt *sql.Stmt) { stmt, err := conn.Prepare("select 1 as a") if err != nil { diff --git a/vendor/github.com/denisenkom/go-mssqldb/types.go b/vendor/github.com/denisenkom/go-mssqldb/types.go index 46de065..295de80 100644 --- a/vendor/github.com/denisenkom/go-mssqldb/types.go +++ b/vendor/github.com/denisenkom/go-mssqldb/types.go @@ -923,6 +923,10 @@ func makeGoLangScanType(ti typeInfo) reflect.Type { default: panic("invalid size of MONEYN") } + case typeDateTim4: + return reflect.TypeOf(time.Time{}) + case typeDateTime: + return reflect.TypeOf(time.Time{}) case typeDateTimeN: switch ti.Size { case 4: diff --git a/vendor/github.com/go-ini/ini/.travis.yml b/vendor/github.com/go-ini/ini/.travis.yml index 9a41f64..d9d1b8f 100644 --- a/vendor/github.com/go-ini/ini/.travis.yml +++ b/vendor/github.com/go-ini/ini/.travis.yml @@ -1,11 +1,10 @@ sudo: false language: go go: - - 1.4 - - 1.5 - - 1.6 - - 1.7 - - 1.8 + - 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 f8827dd..7f3c4d1 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.1" + _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-xorm/core/column.go b/vendor/github.com/go-xorm/core/column.go index d4d8314..d9362e9 100644 --- a/vendor/github.com/go-xorm/core/column.go +++ b/vendor/github.com/go-xorm/core/column.go @@ -13,12 +13,13 @@ const ( ONLYFROMDB ) -// database column +// Column defines database column type Column struct { Name string TableName string FieldName string SQLType SQLType + IsJSON bool Length int Length2 int Nullable bool diff --git a/vendor/github.com/go-xorm/core/rows.go b/vendor/github.com/go-xorm/core/rows.go index c4dec23..4a4acaa 100644 --- a/vendor/github.com/go-xorm/core/rows.go +++ b/vendor/github.com/go-xorm/core/rows.go @@ -247,6 +247,18 @@ type Row struct { err error // deferred error for easy chaining } +// ErrorRow return an error row +func ErrorRow(err error) *Row { + return &Row{ + err: err, + } +} + +// NewRow from rows +func NewRow(rows *Rows, err error) *Row { + return &Row{rows, err} +} + func (row *Row) Columns() ([]string, error) { if row.err != nil { return nil, row.err diff --git a/vendor/github.com/go-xorm/xorm/README.md b/vendor/github.com/go-xorm/xorm/README.md index e366a63..c8c4389 100644 --- a/vendor/github.com/go-xorm/xorm/README.md +++ b/vendor/github.com/go-xorm/xorm/README.md @@ -6,10 +6,6 @@ Xorm is a simple and powerful ORM for Go. [![](https://goreportcard.com/badge/github.com/go-xorm/xorm)](https://goreportcard.com/report/github.com/go-xorm/xorm) [![Join the chat at https://img.shields.io/discord/323460943201959939.svg](https://img.shields.io/discord/323460943201959939.svg)](https://discord.gg/HuR2CF3) -# Notice - -The last master version is not backwards compatible. You should use `engine.ShowSQL()` and `engine.Logger().SetLevel()` instead of `engine.ShowSQL = `, `engine.ShowInfo = ` and so on. - # Features * Struct <-> Table Mapping Support @@ -38,7 +34,7 @@ Drivers for Go's sql package which currently support database/sql includes: * Mysql: [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) -* MyMysql: [github.com/ziutek/mymysql/godrv](https://github.com/ziutek/mymysql/godrv) +* MyMysql: [github.com/ziutek/mymysql/godrv](https://github.com/ziutek/mymysql/tree/master/godrv) * Postgres: [github.com/lib/pq](https://github.com/lib/pq) @@ -52,6 +48,14 @@ Drivers for Go's sql package which currently support database/sql includes: # Changelog +* **v0.6.3** + * merge tests to main project + * add `Exist` function + * add `SumInt` function + * Mysql now support read and create column comment. + * fix time related bugs. + * fix some other bugs. + * **v0.6.2** * refactor tag parse methods * add Scan features to Get @@ -64,22 +68,6 @@ methods can use `builder.Cond` as parameter * add Sum, SumInt, SumInt64 and NotIn methods * some bugs fixed -* **v0.5.0** - * logging interface changed - * some bugs fixed - -* **v0.4.5** - * many bugs fixed - * extends support unlimited deepth - * Delete Limit support - -* **v0.4.4** - * ql database expriment support - * tidb database expriment support - * sql.NullString and etc. field support - * select ForUpdate support - * many bugs fixed - [More changes ...](https://github.com/go-xorm/manual-en-US/tree/master/chapter-16) # Installation @@ -126,7 +114,7 @@ results, err := engine.Query("select * from user") results, err := engine.QueryString("select * from user") ``` -* `Execute` runs a SQL string, it returns `affetcted` and `error` +* `Execute` runs a SQL string, it returns `affected` and `error` ```Go affected, err := engine.Exec("update user set age = ? where name = ?", age, name) @@ -168,6 +156,25 @@ has, err := engine.Where("id = ?", id).Cols(cols...).Get(&valuesSlice) // SELECT col1, col2, col3 FROM user WHERE id = ? ``` +* Check if one record exist on table + +```Go +has, err := testEngine.Exist(new(RecordExist)) +// SELECT * FROM record_exist LIMIT 1 +has, err = testEngine.Exist(&RecordExist{ + Name: "test1", + }) +// SELECT * FROM record_exist WHERE name = ? LIMIT 1 +has, err = testEngine.Where("name = ?", "test1").Exist(&RecordExist{}) +// SELECT * FROM record_exist WHERE name = ? LIMIT 1 +has, err = testEngine.SQL("select * from record_exist where name = ?", "test1").Exist() +// select * from record_exist where name = ? +has, err = testEngine.Table("record_exist").Exist() +// SELECT * FROM record_exist LIMIT 1 +has, err = testEngine.Table("record_exist").Where("name = ?", "test1").Exist() +// SELECT * FROM record_exist WHERE name = ? LIMIT 1 +``` + * Query multiple records from database, also you can use join and extends ```Go @@ -260,6 +267,14 @@ err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e")) # Cases +* [studygolang](http://studygolang.com/) - [github.com/studygolang/studygolang](https://github.com/studygolang/studygolang) + +* [Gitea](http://gitea.io) - [github.com/go-gitea/gitea](http://github.com/go-gitea/gitea) + +* [Gogs](http://try.gogits.org) - [github.com/gogits/gogs](http://github.com/gogits/gogs) + +* [grafana](https://grafana.com/) - [github.com/grafana/grafana](http://github.com/grafana/grafana) + * [github.com/m3ng9i/qreader](https://github.com/m3ng9i/qreader) * [Wego](http://github.com/go-tango/wego) @@ -268,8 +283,6 @@ err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e")) * [Xorm Adapter](https://github.com/casbin/xorm-adapter) for [Casbin](https://github.com/casbin/casbin) - [github.com/casbin/xorm-adapter](https://github.com/casbin/xorm-adapter) -* [Gogs](http://try.gogits.org) - [github.com/gogits/gogs](http://github.com/gogits/gogs) - * [Gorevel](http://gorevel.cn/) - [github.com/goofcc/gorevel](http://github.com/goofcc/gorevel) * [Gowalker](http://gowalker.org) - [github.com/Unknwon/gowalker](http://github.com/Unknwon/gowalker) diff --git a/vendor/github.com/go-xorm/xorm/README_CN.md b/vendor/github.com/go-xorm/xorm/README_CN.md index 66a3c01..cb2c179 100644 --- a/vendor/github.com/go-xorm/xorm/README_CN.md +++ b/vendor/github.com/go-xorm/xorm/README_CN.md @@ -8,10 +8,6 @@ xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作 [![](https://goreportcard.com/badge/github.com/go-xorm/xorm)](https://goreportcard.com/report/github.com/go-xorm/xorm) [![Join the chat at https://img.shields.io/discord/323460943201959939.svg](https://img.shields.io/discord/323460943201959939.svg)](https://discord.gg/HuR2CF3) -# 注意 - -最新的版本有不兼容的更新,您必须使用 `engine.ShowSQL()` 和 `engine.Logger().SetLevel()` 来替代 `engine.ShowSQL = `, `engine.ShowInfo = ` 等等。 - ## 特性 * 支持Struct和数据库表之间的灵活映射,并支持自动同步 @@ -56,6 +52,15 @@ xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作 ## 更新日志 +* **v0.6.3** + * 合并单元测试到主工程 + * 新增`Exist`方法 + * 新增`SumInt`方法 + * Mysql新增读取和创建字段注释支持 + * 新增`SetConnMaxLifetime`方法 + * 修正了时间相关的Bug + * 修复了一些其它Bug + * **v0.6.2** * 重构Tag解析方式 * Get方法新增类似Scan的特性 @@ -72,18 +77,6 @@ xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作 * logging接口进行不兼容改变 * Bug修正 -* **v0.4.5** - * bug修正 - * extends 支持无限级 - * Delete Limit 支持 - -* **v0.4.4** - * Tidb 数据库支持 - * QL 试验性支持 - * sql.NullString支持 - * ForUpdate 支持 - * bug修正 - [更多更新日志...](https://github.com/go-xorm/manual-zh-CN/tree/master/chapter-16) ## 安装 @@ -172,6 +165,25 @@ has, err := engine.Where("id = ?", id).Cols(cols...).Get(&valuesSlice) // SELECT col1, col2, col3 FROM user WHERE id = ? ``` +* 检测记录是否存在 + +```Go +has, err := testEngine.Exist(new(RecordExist)) +// SELECT * FROM record_exist LIMIT 1 +has, err = testEngine.Exist(&RecordExist{ + Name: "test1", + }) +// SELECT * FROM record_exist WHERE name = ? LIMIT 1 +has, err = testEngine.Where("name = ?", "test1").Exist(&RecordExist{}) +// SELECT * FROM record_exist WHERE name = ? LIMIT 1 +has, err = testEngine.SQL("select * from record_exist where name = ?", "test1").Exist() +// select * from record_exist where name = ? +has, err = testEngine.Table("record_exist").Exist() +// SELECT * FROM record_exist LIMIT 1 +has, err = testEngine.Table("record_exist").Where("name = ?", "test1").Exist() +// SELECT * FROM record_exist WHERE name = ? LIMIT 1 +``` + * 查询多条记录,当然可以使用Join和extends来组合使用 ```Go @@ -263,6 +275,14 @@ err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e")) # 案例 +* [Go语言中文网](http://studygolang.com/) - [github.com/studygolang/studygolang](https://github.com/studygolang/studygolang) + +* [Gitea](http://gitea.io) - [github.com/go-gitea/gitea](http://github.com/go-gitea/gitea) + +* [Gogs](http://try.gogits.org) - [github.com/gogits/gogs](http://github.com/gogits/gogs) + +* [grafana](https://grafana.com/) - [github.com/grafana/grafana](http://github.com/grafana/grafana) + * [github.com/m3ng9i/qreader](https://github.com/m3ng9i/qreader) * [Wego](http://github.com/go-tango/wego) @@ -271,8 +291,6 @@ err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e")) * [Xorm Adapter](https://github.com/casbin/xorm-adapter) for [Casbin](https://github.com/casbin/casbin) - [github.com/casbin/xorm-adapter](https://github.com/casbin/xorm-adapter) -* [Gogs](http://try.gogits.org) - [github.com/gogits/gogs](http://github.com/gogits/gogs) - * [Gowalker](http://gowalker.org) - [github.com/Unknwon/gowalker](http://github.com/Unknwon/gowalker) * [Gobuild.io](http://gobuild.io) - [github.com/shxsun/gobuild](http://github.com/shxsun/gobuild) diff --git a/vendor/github.com/go-xorm/xorm/circle.yml b/vendor/github.com/go-xorm/xorm/circle.yml index 3063ac9..e81bdb0 100644 --- a/vendor/github.com/go-xorm/xorm/circle.yml +++ b/vendor/github.com/go-xorm/xorm/circle.yml @@ -21,7 +21,7 @@ database: test: override: # './...' is a relative pattern which means all subdirectories - - go test -v -race -db="sqlite3::mysql::postgres" -conn_str="./test.db::root:@/xorm_test::dbname=xorm_test sslmode=disable" -coverprofile=coverage.txt -covermode=atomic + - go test -v -race -db="sqlite3::mysql::mymysql::postgres" -conn_str="./test.db::root:@/xorm_test::xorm_test/root/::dbname=xorm_test sslmode=disable" -coverprofile=coverage.txt -covermode=atomic - cd /home/ubuntu/.go_workspace/src/github.com/go-xorm/tests && ./sqlite3.sh - cd /home/ubuntu/.go_workspace/src/github.com/go-xorm/tests && ./mysql.sh - cd /home/ubuntu/.go_workspace/src/github.com/go-xorm/tests && ./postgres.sh diff --git a/vendor/github.com/go-xorm/xorm/doc.go b/vendor/github.com/go-xorm/xorm/doc.go index bf412bd..a687e69 100644 --- a/vendor/github.com/go-xorm/xorm/doc.go +++ b/vendor/github.com/go-xorm/xorm/doc.go @@ -90,7 +90,7 @@ another is Rows 5. Update one or more records - affected, err := engine.Id(...).Update(&user) + affected, err := engine.ID(...).Update(&user) // UPDATE user SET ... 6. Delete one or more records, Delete MUST has condition diff --git a/vendor/github.com/go-xorm/xorm/engine.go b/vendor/github.com/go-xorm/xorm/engine.go index 5c48710..0d34bf9 100644 --- a/vendor/github.com/go-xorm/xorm/engine.go +++ b/vendor/github.com/go-xorm/xorm/engine.go @@ -169,7 +169,7 @@ func (engine *Engine) quote(sql string) string { return engine.dialect.QuoteStr() + sql + engine.dialect.QuoteStr() } -// SqlType will be depracated, please use SQLType instead +// SqlType will be deprecated, please use SQLType instead // // Deprecated: use SQLType instead func (engine *Engine) SqlType(c *core.Column) string { @@ -205,14 +205,14 @@ func (engine *Engine) SetDefaultCacher(cacher core.Cacher) { // you can use NoCache() func (engine *Engine) NoCache() *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.NoCache() } // NoCascade If you do not want to auto cascade load object func (engine *Engine) NoCascade() *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.NoCascade() } @@ -245,7 +245,7 @@ func (engine *Engine) Dialect() core.Dialect { // NewSession New a session func (engine *Engine) NewSession() *Session { - session := &Session{Engine: engine} + session := &Session{engine: engine} session.Init() return session } @@ -259,7 +259,6 @@ func (engine *Engine) Close() error { func (engine *Engine) Ping() error { session := engine.NewSession() defer session.Close() - engine.logger.Infof("PING DATABASE %v", engine.DriverName()) return session.Ping() } @@ -274,36 +273,6 @@ func (engine *Engine) logSQL(sqlStr string, sqlArgs ...interface{}) { } } -func (engine *Engine) logSQLQueryTime(sqlStr string, args []interface{}, executionBlock func() (*core.Stmt, *core.Rows, error)) (*core.Stmt, *core.Rows, error) { - if engine.showSQL && engine.showExecTime { - b4ExecTime := time.Now() - stmt, res, err := executionBlock() - execDuration := time.Since(b4ExecTime) - if len(args) > 0 { - engine.logger.Infof("[SQL] %s %v - took: %v", sqlStr, args, execDuration) - } else { - engine.logger.Infof("[SQL] %s - took: %v", sqlStr, execDuration) - } - return stmt, res, err - } - return executionBlock() -} - -func (engine *Engine) logSQLExecutionTime(sqlStr string, args []interface{}, executionBlock func() (sql.Result, error)) (sql.Result, error) { - if engine.showSQL && engine.showExecTime { - b4ExecTime := time.Now() - res, err := executionBlock() - execDuration := time.Since(b4ExecTime) - if len(args) > 0 { - engine.logger.Infof("[sql] %s [args] %v - took: %v", sqlStr, args, execDuration) - } else { - engine.logger.Infof("[sql] %s - took: %v", sqlStr, execDuration) - } - return res, err - } - return executionBlock() -} - // Sql provides raw sql input parameter. When you have a complex SQL statement // and cannot use Where, Id, In and etc. Methods to describe, you can use SQL. // @@ -320,7 +289,7 @@ func (engine *Engine) Sql(querystring string, args ...interface{}) *Session { // This code will execute "select * from user" and set the records to users func (engine *Engine) SQL(query interface{}, args ...interface{}) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.SQL(query, args...) } @@ -329,14 +298,14 @@ func (engine *Engine) SQL(query interface{}, args ...interface{}) *Session { // invoked. Call NoAutoTime if you dont' want to fill automatically. func (engine *Engine) NoAutoTime() *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.NoAutoTime() } // NoAutoCondition disable auto generate Where condition from bean or not func (engine *Engine) NoAutoCondition(no ...bool) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.NoAutoCondition(no...) } @@ -570,56 +539,56 @@ func (engine *Engine) tbName(v reflect.Value) string { // Cascade use cascade or not func (engine *Engine) Cascade(trueOrFalse ...bool) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Cascade(trueOrFalse...) } // Where method provide a condition query func (engine *Engine) Where(query interface{}, args ...interface{}) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Where(query, args...) } -// Id will be depracated, please use ID instead +// Id will be deprecated, please use ID instead func (engine *Engine) Id(id interface{}) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Id(id) } // ID method provoide a condition as (id) = ? func (engine *Engine) ID(id interface{}) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.ID(id) } // Before apply before Processor, affected bean is passed to closure arg func (engine *Engine) Before(closures func(interface{})) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Before(closures) } // After apply after insert Processor, affected bean is passed to closure arg func (engine *Engine) After(closures func(interface{})) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.After(closures) } // Charset set charset when create table, only support mysql now func (engine *Engine) Charset(charset string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Charset(charset) } // StoreEngine set store engine when create table, only support mysql now func (engine *Engine) StoreEngine(storeEngine string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.StoreEngine(storeEngine) } @@ -628,35 +597,35 @@ func (engine *Engine) StoreEngine(storeEngine string) *Session { // but distinct will not provide id func (engine *Engine) Distinct(columns ...string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Distinct(columns...) } // Select customerize your select columns or contents func (engine *Engine) Select(str string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Select(str) } // Cols only use the parameters as select or update columns func (engine *Engine) Cols(columns ...string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Cols(columns...) } // AllCols indicates that all columns should be use func (engine *Engine) AllCols() *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.AllCols() } // MustCols specify some columns must use even if they are empty func (engine *Engine) MustCols(columns ...string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.MustCols(columns...) } @@ -667,77 +636,84 @@ func (engine *Engine) MustCols(columns ...string) *Session { // it will use parameters's columns func (engine *Engine) UseBool(columns ...string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.UseBool(columns...) } // Omit only not use the parameters as select or update columns func (engine *Engine) Omit(columns ...string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Omit(columns...) } // Nullable set null when column is zero-value and nullable for update func (engine *Engine) Nullable(columns ...string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Nullable(columns...) } // In will generate "column IN (?, ?)" func (engine *Engine) In(column string, args ...interface{}) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.In(column, args...) } +// NotIn will generate "column NOT IN (?, ?)" +func (engine *Engine) NotIn(column string, args ...interface{}) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.NotIn(column, args...) +} + // Incr provides a update string like "column = column + ?" func (engine *Engine) Incr(column string, arg ...interface{}) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Incr(column, arg...) } // Decr provides a update string like "column = column - ?" func (engine *Engine) Decr(column string, arg ...interface{}) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Decr(column, arg...) } // SetExpr provides a update string like "column = {expression}" func (engine *Engine) SetExpr(column string, expression string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.SetExpr(column, expression) } // Table temporarily change the Get, Find, Update's table func (engine *Engine) Table(tableNameOrBean interface{}) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Table(tableNameOrBean) } // Alias set the table alias func (engine *Engine) Alias(alias string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Alias(alias) } // Limit will generate "LIMIT start, limit" func (engine *Engine) Limit(limit int, start ...int) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Limit(limit, start...) } // Desc will generate "ORDER BY column1 DESC, column2 DESC" func (engine *Engine) Desc(colNames ...string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Desc(colNames...) } @@ -749,35 +725,35 @@ func (engine *Engine) Desc(colNames ...string) *Session { // func (engine *Engine) Asc(colNames ...string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Asc(colNames...) } // OrderBy will generate "ORDER BY order" func (engine *Engine) OrderBy(order string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.OrderBy(order) } // Join the join_operator should be one of INNER, LEFT OUTER, CROSS etc - this will be prepended to JOIN func (engine *Engine) Join(joinOperator string, tablename interface{}, condition string, args ...interface{}) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Join(joinOperator, tablename, condition, args...) } // GroupBy generate group by statement func (engine *Engine) GroupBy(keys string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.GroupBy(keys) } // Having generate having statement func (engine *Engine) Having(conditions string) *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Having(conditions) } @@ -1208,6 +1184,9 @@ func (engine *Engine) ClearCache(beans ...interface{}) error { // table, column, index, unique. but will not delete or change anything. // If you change some field, you should change the database manually. func (engine *Engine) Sync(beans ...interface{}) error { + session := engine.NewSession() + defer session.Close() + for _, bean := range beans { v := rValue(bean) tableName := engine.tbName(v) @@ -1216,14 +1195,12 @@ func (engine *Engine) Sync(beans ...interface{}) error { return err } - s := engine.NewSession() - defer s.Close() - isExist, err := s.Table(bean).isTableExist(tableName) + isExist, err := session.Table(bean).isTableExist(tableName) if err != nil { return err } if !isExist { - err = engine.CreateTables(bean) + err = session.createTable(bean) if err != nil { return err } @@ -1234,11 +1211,11 @@ func (engine *Engine) Sync(beans ...interface{}) error { }*/ var isEmpty bool if isEmpty { - err = engine.DropTables(bean) + err = session.dropTable(bean) if err != nil { return err } - err = engine.CreateTables(bean) + err = session.createTable(bean) if err != nil { return err } @@ -1249,9 +1226,7 @@ func (engine *Engine) Sync(beans ...interface{}) error { return err } if !isExist { - session := engine.NewSession() - defer session.Close() - if err := session.Statement.setRefValue(v); err != nil { + if err := session.statement.setRefValue(v); err != nil { return err } err = session.addColumn(col.Name) @@ -1262,9 +1237,7 @@ func (engine *Engine) Sync(beans ...interface{}) error { } for name, index := range table.Indexes { - session := engine.NewSession() - defer session.Close() - if err := session.Statement.setRefValue(v); err != nil { + if err := session.statement.setRefValue(v); err != nil { return err } if index.Type == core.UniqueType { @@ -1273,9 +1246,7 @@ func (engine *Engine) Sync(beans ...interface{}) error { return err } if !isExist { - session := engine.NewSession() - defer session.Close() - if err := session.Statement.setRefValue(v); err != nil { + if err := session.statement.setRefValue(v); err != nil { return err } @@ -1290,9 +1261,7 @@ func (engine *Engine) Sync(beans ...interface{}) error { return err } if !isExist { - session := engine.NewSession() - defer session.Close() - if err := session.Statement.setRefValue(v); err != nil { + if err := session.statement.setRefValue(v); err != nil { return err } @@ -1328,7 +1297,7 @@ func (engine *Engine) CreateTables(beans ...interface{}) error { } for _, bean := range beans { - err = session.CreateTable(bean) + err = session.createTable(bean) if err != nil { session.Rollback() return err @@ -1348,7 +1317,7 @@ func (engine *Engine) DropTables(beans ...interface{}) error { } for _, bean := range beans { - err = session.DropTable(bean) + err = session.dropTable(bean) if err != nil { session.Rollback() return err @@ -1385,6 +1354,13 @@ func (engine *Engine) QueryString(sqlStr string, args ...interface{}) ([]map[str return session.QueryString(sqlStr, args...) } +// QueryInterface runs a raw sql and return records as []map[string]interface{} +func (engine *Engine) QueryInterface(sqlStr string, args ...interface{}) ([]map[string]interface{}, error) { + session := engine.NewSession() + defer session.Close() + return session.QueryInterface(sqlStr, args...) +} + // Insert one or more records func (engine *Engine) Insert(beans ...interface{}) (int64, error) { session := engine.NewSession() @@ -1426,6 +1402,13 @@ func (engine *Engine) Get(bean interface{}) (bool, error) { return session.Get(bean) } +// Exist returns true if the record exist otherwise return false +func (engine *Engine) Exist(bean ...interface{}) (bool, error) { + session := engine.NewSession() + defer session.Close() + return session.Exist(bean...) +} + // Find retrieve records from table, condiBeans's non-empty fields // are conditions. beans could be []Struct, []*Struct, map[int64]Struct // map[int64]*Struct @@ -1451,10 +1434,10 @@ func (engine *Engine) Rows(bean interface{}) (*Rows, error) { } // Count counts the records. bean's non-empty fields are conditions. -func (engine *Engine) Count(bean interface{}) (int64, error) { +func (engine *Engine) Count(bean ...interface{}) (int64, error) { session := engine.NewSession() defer session.Close() - return session.Count(bean) + return session.Count(bean...) } // Sum sum the records by some column. bean's non-empty fields are conditions. @@ -1580,7 +1563,7 @@ func (engine *Engine) formatTime(sqlTypeName string, t time.Time) (v interface{} // Unscoped always disable struct tag "deleted" func (engine *Engine) Unscoped() *Session { session := engine.NewSession() - session.IsAutoClose = true + session.isAutoClose = true return session.Unscoped() } diff --git a/vendor/github.com/go-xorm/xorm/examples/cache.go b/vendor/github.com/go-xorm/xorm/examples/cache.go index 72d987d..0c680d2 100644 --- a/vendor/github.com/go-xorm/xorm/examples/cache.go +++ b/vendor/github.com/go-xorm/xorm/examples/cache.go @@ -67,7 +67,7 @@ func main() { fmt.Println("users3:", users3) user4 := new(User) - has, err := Orm.Id(1).Get(user4) + has, err := Orm.ID(1).Get(user4) if err != nil { fmt.Println(err) return @@ -76,7 +76,7 @@ func main() { fmt.Println("user4:", has, user4) user4.Name = "xiaolunwen" - _, err = Orm.Id(1).Update(user4) + _, err = Orm.ID(1).Update(user4) if err != nil { fmt.Println(err) return @@ -84,14 +84,14 @@ func main() { fmt.Println("user4:", user4) user5 := new(User) - has, err = Orm.Id(1).Get(user5) + has, err = Orm.ID(1).Get(user5) if err != nil { fmt.Println(err) return } fmt.Println("user5:", has, user5) - _, err = Orm.Id(1).Delete(new(User)) + _, err = Orm.ID(1).Delete(new(User)) if err != nil { fmt.Println(err) return @@ -99,7 +99,7 @@ func main() { for { user6 := new(User) - has, err = Orm.Id(1).Get(user6) + has, err = Orm.ID(1).Get(user6) if err != nil { fmt.Println(err) return diff --git a/vendor/github.com/go-xorm/xorm/examples/cachegoroutine.go b/vendor/github.com/go-xorm/xorm/examples/cachegoroutine.go index 815e0ad..e5b2b9d 100644 --- a/vendor/github.com/go-xorm/xorm/examples/cachegoroutine.go +++ b/vendor/github.com/go-xorm/xorm/examples/cachegoroutine.go @@ -55,7 +55,7 @@ func test(engine *xorm.Engine) { } else if x+j < 16 { _, err = engine.Insert(&User{Name: "xlw"}) } else if x+j < 32 { - //_, err = engine.Id(1).Delete(u) + //_, err = engine.ID(1).Delete(u) _, err = engine.Delete(u) } if err != nil { diff --git a/vendor/github.com/go-xorm/xorm/examples/derive.go b/vendor/github.com/go-xorm/xorm/examples/derive.go index 86529ee..9056151 100644 --- a/vendor/github.com/go-xorm/xorm/examples/derive.go +++ b/vendor/github.com/go-xorm/xorm/examples/derive.go @@ -51,7 +51,7 @@ func main() { } info := LoginInfo{} - _, err = orm.Id(1).Get(&info) + _, err = orm.ID(1).Get(&info) if err != nil { fmt.Println(err) return diff --git a/vendor/github.com/go-xorm/xorm/examples/goroutine.go b/vendor/github.com/go-xorm/xorm/examples/goroutine.go index 629ea9a..59e56d1 100644 --- a/vendor/github.com/go-xorm/xorm/examples/goroutine.go +++ b/vendor/github.com/go-xorm/xorm/examples/goroutine.go @@ -59,7 +59,7 @@ func test(engine *xorm.Engine) { } else if x+j < 16 { _, err = engine.Insert(&User{Name: "xlw"}) } else if x+j < 32 { - _, err = engine.Id(1).Delete(u) + _, err = engine.ID(1).Delete(u) } if err != nil { fmt.Println(err) diff --git a/vendor/github.com/go-xorm/xorm/examples/maxconnect.go b/vendor/github.com/go-xorm/xorm/examples/maxconnect.go index 507cbc3..72d0a50 100644 --- a/vendor/github.com/go-xorm/xorm/examples/maxconnect.go +++ b/vendor/github.com/go-xorm/xorm/examples/maxconnect.go @@ -62,7 +62,7 @@ func test(engine *xorm.Engine) { } else if x+j < 16 { _, err = engine.Insert(&User{Name: "xlw"}) } else if x+j < 32 { - _, err = engine.Id(1).Delete(u) + _, err = engine.ID(1).Delete(u) } if err != nil { fmt.Println(err) diff --git a/vendor/github.com/go-xorm/xorm/examples/singlemapping.go b/vendor/github.com/go-xorm/xorm/examples/singlemapping.go index 3ae0fd1..86e5d1d 100644 --- a/vendor/github.com/go-xorm/xorm/examples/singlemapping.go +++ b/vendor/github.com/go-xorm/xorm/examples/singlemapping.go @@ -48,7 +48,7 @@ func main() { } info := LoginInfo{} - _, err = orm.Id(1).Get(&info) + _, err = orm.ID(1).Get(&info) if err != nil { fmt.Println(err) return diff --git a/vendor/github.com/go-xorm/xorm/helpers.go b/vendor/github.com/go-xorm/xorm/helpers.go index 8c0f757..5a0fe7c 100644 --- a/vendor/github.com/go-xorm/xorm/helpers.go +++ b/vendor/github.com/go-xorm/xorm/helpers.go @@ -358,7 +358,7 @@ func genCols(table *core.Table, session *Session, bean interface{}, useCol bool, for _, col := range table.Columns() { if useCol && !col.IsVersion && !col.IsCreated && !col.IsUpdated { - if _, ok := getFlagForColumn(session.Statement.columnMap, col); !ok { + if _, ok := getFlagForColumn(session.statement.columnMap, col); !ok { continue } } @@ -397,32 +397,32 @@ func genCols(table *core.Table, session *Session, bean interface{}, useCol bool, continue } - if session.Statement.ColumnStr != "" { - if _, ok := getFlagForColumn(session.Statement.columnMap, col); !ok { + if session.statement.ColumnStr != "" { + if _, ok := getFlagForColumn(session.statement.columnMap, col); !ok { continue - } else if _, ok := session.Statement.incrColumns[col.Name]; ok { + } else if _, ok := session.statement.incrColumns[col.Name]; ok { continue - } else if _, ok := session.Statement.decrColumns[col.Name]; ok { + } else if _, ok := session.statement.decrColumns[col.Name]; ok { continue } } - if session.Statement.OmitStr != "" { - if _, ok := getFlagForColumn(session.Statement.columnMap, col); ok { + if session.statement.OmitStr != "" { + if _, ok := getFlagForColumn(session.statement.columnMap, col); ok { continue } } // !evalphobia! set fieldValue as nil when column is nullable and zero-value - if _, ok := getFlagForColumn(session.Statement.nullableMap, col); ok { + if _, ok := getFlagForColumn(session.statement.nullableMap, col); ok { if col.Nullable && isZero(fieldValue.Interface()) { var nilValue *int fieldValue = reflect.ValueOf(nilValue) } } - if (col.IsCreated || col.IsUpdated) && session.Statement.UseAutoTime /*&& isZero(fieldValue.Interface())*/ { + if (col.IsCreated || col.IsUpdated) && session.statement.UseAutoTime /*&& isZero(fieldValue.Interface())*/ { // if time is non-empty, then set to auto time - val, t := session.Engine.NowTime2(col.SQLType.Name) + val, t := session.engine.NowTime2(col.SQLType.Name) args = append(args, val) var colName = col.Name @@ -430,7 +430,7 @@ func genCols(table *core.Table, session *Session, bean interface{}, useCol bool, col := table.GetColumn(colName) setColumnTime(bean, col, t) }) - } else if col.IsVersion && session.Statement.checkVersion { + } else if col.IsVersion && session.statement.checkVersion { args = append(args, 1) } else { arg, err := session.value2Interface(col, fieldValue) @@ -441,7 +441,7 @@ func genCols(table *core.Table, session *Session, bean interface{}, useCol bool, } if includeQuote { - colNames = append(colNames, session.Engine.Quote(col.Name)+" = ?") + colNames = append(colNames, session.engine.Quote(col.Name)+" = ?") } else { colNames = append(colNames, col.Name) } diff --git a/vendor/github.com/go-xorm/xorm/processors_test.go b/vendor/github.com/go-xorm/xorm/processors_test.go index 6c22af0..5fc2170 100644 --- a/vendor/github.com/go-xorm/xorm/processors_test.go +++ b/vendor/github.com/go-xorm/xorm/processors_test.go @@ -173,7 +173,7 @@ func TestProcessors(t *testing.T) { } p2 := &ProcessorsStruct{} - _, err = testEngine.Id(p.Id).Get(p2) + _, err = testEngine.ID(p.Id).Get(p2) if err != nil { t.Error(err) panic(err) @@ -308,7 +308,7 @@ func TestProcessors(t *testing.T) { } p2 = &ProcessorsStruct{} - _, err = testEngine.Id(p.Id).Get(p2) + _, err = testEngine.ID(p.Id).Get(p2) if err != nil { t.Error(err) panic(err) @@ -402,7 +402,7 @@ func TestProcessors(t *testing.T) { for _, elem := range pslice { p = &ProcessorsStruct{} - _, err = testEngine.Id(elem.Id).Get(p) + _, err = testEngine.ID(elem.Id).Get(p) if err != nil { t.Error(err) panic(err) @@ -508,7 +508,7 @@ func TestProcessorsTx(t *testing.T) { } session.Close() p2 := &ProcessorsStruct{} - _, err = testEngine.Id(p.Id).Get(p2) + _, err = testEngine.ID(p.Id).Get(p2) if err != nil { t.Error(err) panic(err) @@ -569,7 +569,7 @@ func TestProcessorsTx(t *testing.T) { } session.Close() p2 = &ProcessorsStruct{} - _, err = testEngine.Id(p.Id).Get(p2) + _, err = testEngine.ID(p.Id).Get(p2) if err != nil { t.Error(err) panic(err) @@ -616,7 +616,7 @@ func TestProcessorsTx(t *testing.T) { p = p2 // reset - _, err = session.Id(insertedId).Before(b4UpdateFunc).After(afterUpdateFunc).Update(p) + _, err = session.ID(insertedId).Before(b4UpdateFunc).After(afterUpdateFunc).Update(p) if err != nil { t.Error(err) panic(err) @@ -656,7 +656,7 @@ func TestProcessorsTx(t *testing.T) { session.Close() p2 = &ProcessorsStruct{} - _, err = testEngine.Id(insertedId).Get(p2) + _, err = testEngine.ID(insertedId).Get(p2) if err != nil { t.Error(err) panic(err) @@ -729,7 +729,7 @@ func TestProcessorsTx(t *testing.T) { p = &ProcessorsStruct{} - _, err = session.Id(insertedId).Before(b4UpdateFunc).After(afterUpdateFunc).Update(p) + _, err = session.ID(insertedId).Before(b4UpdateFunc).After(afterUpdateFunc).Update(p) if err != nil { t.Error(err) panic(err) @@ -767,7 +767,7 @@ func TestProcessorsTx(t *testing.T) { } session.Close() p2 = &ProcessorsStruct{} - _, err = testEngine.Id(insertedId).Get(p2) + _, err = testEngine.ID(insertedId).Get(p2) if err != nil { t.Error(err) panic(err) @@ -813,7 +813,7 @@ func TestProcessorsTx(t *testing.T) { p = &ProcessorsStruct{} // reset - _, err = session.Id(insertedId).Before(b4DeleteFunc).After(afterDeleteFunc).Delete(p) + _, err = session.ID(insertedId).Before(b4DeleteFunc).After(afterDeleteFunc).Delete(p) if err != nil { t.Error(err) panic(err) @@ -852,7 +852,7 @@ func TestProcessorsTx(t *testing.T) { session.Close() p2 = &ProcessorsStruct{} - _, err = testEngine.Id(insertedId).Get(p2) + _, err = testEngine.ID(insertedId).Get(p2) if err != nil { t.Error(err) panic(err) @@ -882,7 +882,7 @@ func TestProcessorsTx(t *testing.T) { p = &ProcessorsStruct{} - _, err = session.Id(insertedId).Before(b4DeleteFunc).After(afterDeleteFunc).Delete(p) + _, err = session.ID(insertedId).Before(b4DeleteFunc).After(afterDeleteFunc).Delete(p) if err != nil { t.Error(err) panic(err) diff --git a/vendor/github.com/go-xorm/xorm/rows.go b/vendor/github.com/go-xorm/xorm/rows.go index bb9738c..258d9f2 100644 --- a/vendor/github.com/go-xorm/xorm/rows.go +++ b/vendor/github.com/go-xorm/xorm/rows.go @@ -17,7 +17,6 @@ type Rows struct { NoTypeCheck bool session *Session - stmt *core.Stmt rows *core.Rows fields []string beanType reflect.Type @@ -29,56 +28,33 @@ func newRows(session *Session, bean interface{}) (*Rows, error) { rows.session = session rows.beanType = reflect.Indirect(reflect.ValueOf(bean)).Type() - defer rows.session.resetStatement() - var sqlStr string var args []interface{} var err error - if err = rows.session.Statement.setRefValue(rValue(bean)); err != nil { + if err = rows.session.statement.setRefValue(rValue(bean)); err != nil { return nil, err } - if len(session.Statement.TableName()) <= 0 { + if len(session.statement.TableName()) <= 0 { return nil, ErrTableNotFound } - if rows.session.Statement.RawSQL == "" { - sqlStr, args, err = rows.session.Statement.genGetSQL(bean) + if rows.session.statement.RawSQL == "" { + sqlStr, args, err = rows.session.statement.genGetSQL(bean) if err != nil { return nil, err } } else { - sqlStr = rows.session.Statement.RawSQL - args = rows.session.Statement.RawParams + sqlStr = rows.session.statement.RawSQL + args = rows.session.statement.RawParams } - for _, filter := range rows.session.Engine.dialect.Filters() { - sqlStr = filter.Do(sqlStr, session.Engine.dialect, rows.session.Statement.RefTable) - } - - rows.session.saveLastSQL(sqlStr, args...) - if rows.session.prepareStmt { - rows.stmt, err = rows.session.DB().Prepare(sqlStr) - if err != nil { - rows.lastError = err - rows.Close() - return nil, err - } - - rows.rows, err = rows.stmt.Query(args...) - if err != nil { - rows.lastError = err - rows.Close() - return nil, err - } - } else { - rows.rows, err = rows.session.DB().Query(sqlStr, args...) - if err != nil { - rows.lastError = err - rows.Close() - return nil, err - } + rows.rows, err = rows.session.queryRows(sqlStr, args...) + if err != nil { + rows.lastError = err + rows.Close() + return nil, err } rows.fields, err = rows.rows.Columns() @@ -119,7 +95,7 @@ func (rows *Rows) Scan(bean interface{}) error { } dataStruct := rValue(bean) - if err := rows.session.Statement.setRefValue(dataStruct); err != nil { + if err := rows.session.statement.setRefValue(dataStruct); err != nil { return err } @@ -128,13 +104,13 @@ func (rows *Rows) Scan(bean interface{}) error { return err } - _, err = rows.session.slice2Bean(scanResults, rows.fields, len(rows.fields), bean, &dataStruct, rows.session.Statement.RefTable) + _, err = rows.session.slice2Bean(scanResults, rows.fields, len(rows.fields), bean, &dataStruct, rows.session.statement.RefTable) return err } // Close session if session.IsAutoClose is true, and claimed any opened resources func (rows *Rows) Close() error { - if rows.session.IsAutoClose { + if rows.session.isAutoClose { defer rows.session.Close() } @@ -142,17 +118,10 @@ func (rows *Rows) Close() error { if rows.rows != nil { rows.lastError = rows.rows.Close() if rows.lastError != nil { - defer rows.stmt.Close() return rows.lastError } } - if rows.stmt != nil { - rows.lastError = rows.stmt.Close() - } } else { - if rows.stmt != nil { - defer rows.stmt.Close() - } if rows.rows != nil { defer rows.rows.Close() } diff --git a/vendor/github.com/go-xorm/xorm/rows_test.go b/vendor/github.com/go-xorm/xorm/rows_test.go index b246329..c48938a 100644 --- a/vendor/github.com/go-xorm/xorm/rows_test.go +++ b/vendor/github.com/go-xorm/xorm/rows_test.go @@ -38,4 +38,31 @@ func TestRows(t *testing.T) { cnt++ } assert.EqualValues(t, 1, cnt) + + sess := testEngine.NewSession() + defer sess.Close() + + rows1, err := sess.Prepare().Rows(new(UserRows)) + assert.NoError(t, err) + defer rows1.Close() + + cnt = 0 + for rows1.Next() { + err = rows1.Scan(user) + assert.NoError(t, err) + cnt++ + } + assert.EqualValues(t, 1, cnt) + + rows2, err := testEngine.SQL("SELECT * FROM user_rows").Rows(new(UserRows)) + assert.NoError(t, err) + defer rows2.Close() + + cnt = 0 + for rows2.Next() { + err = rows2.Scan(user) + assert.NoError(t, err) + cnt++ + } + assert.EqualValues(t, 1, cnt) } diff --git a/vendor/github.com/go-xorm/xorm/session.go b/vendor/github.com/go-xorm/xorm/session.go index 76d7cb2..8a8d5af 100644 --- a/vendor/github.com/go-xorm/xorm/session.go +++ b/vendor/github.com/go-xorm/xorm/session.go @@ -21,16 +21,16 @@ import ( // kind of database operations. type Session struct { db *core.DB - Engine *Engine - Tx *core.Tx - Statement Statement - IsAutoCommit bool - IsCommitedOrRollbacked bool - IsAutoClose bool + engine *Engine + tx *core.Tx + statement Statement + isAutoCommit bool + isCommitedOrRollbacked bool + isAutoClose bool // Automatically reset the statement after operations that execute a SQL // query such as Count(), Find(), Get(), ... - AutoResetStatement bool + autoResetStatement bool // !nashtsai! storing these beans due to yet committed tx afterInsertBeans map[interface{}]*[]func(interface{}) @@ -60,12 +60,12 @@ func (session *Session) Clone() *Session { // Init reset the session as the init status. func (session *Session) Init() { - session.Statement.Init() - session.Statement.Engine = session.Engine - session.IsAutoCommit = true - session.IsCommitedOrRollbacked = false - session.IsAutoClose = false - session.AutoResetStatement = true + session.statement.Init() + session.statement.Engine = session.engine + session.isAutoCommit = true + session.isCommitedOrRollbacked = false + session.isAutoClose = false + session.autoResetStatement = true session.prepareStmt = false // !nashtsai! is lazy init better? @@ -88,19 +88,23 @@ func (session *Session) Close() { if session.db != nil { // When Close be called, if session is a transaction and do not call // Commit or Rollback, then call Rollback. - if session.Tx != nil && !session.IsCommitedOrRollbacked { + if session.tx != nil && !session.isCommitedOrRollbacked { session.Rollback() } - session.Tx = nil + session.tx = nil session.stmtCache = nil - session.Init() session.db = nil } } +// IsClosed returns if session is closed +func (session *Session) IsClosed() bool { + return session.db == nil +} + func (session *Session) resetStatement() { - if session.AutoResetStatement { - session.Statement.Init() + if session.autoResetStatement { + session.statement.Init() } } @@ -128,75 +132,75 @@ func (session *Session) After(closures func(interface{})) *Session { // Table can input a string or pointer to struct for special a table to operate. func (session *Session) Table(tableNameOrBean interface{}) *Session { - session.Statement.Table(tableNameOrBean) + session.statement.Table(tableNameOrBean) return session } // Alias set the table alias func (session *Session) Alias(alias string) *Session { - session.Statement.Alias(alias) + session.statement.Alias(alias) return session } // NoCascade indicate that no cascade load child object func (session *Session) NoCascade() *Session { - session.Statement.UseCascade = false + session.statement.UseCascade = false return session } // ForUpdate Set Read/Write locking for UPDATE func (session *Session) ForUpdate() *Session { - session.Statement.IsForUpdate = true + session.statement.IsForUpdate = true return session } // NoAutoCondition disable generate SQL condition from beans func (session *Session) NoAutoCondition(no ...bool) *Session { - session.Statement.NoAutoCondition(no...) + session.statement.NoAutoCondition(no...) return session } // Limit provide limit and offset query condition func (session *Session) Limit(limit int, start ...int) *Session { - session.Statement.Limit(limit, start...) + session.statement.Limit(limit, start...) return session } // OrderBy provide order by query condition, the input parameter is the content // after order by on a sql statement. func (session *Session) OrderBy(order string) *Session { - session.Statement.OrderBy(order) + session.statement.OrderBy(order) return session } // Desc provide desc order by query condition, the input parameters are columns. func (session *Session) Desc(colNames ...string) *Session { - session.Statement.Desc(colNames...) + session.statement.Desc(colNames...) return session } // Asc provide asc order by query condition, the input parameters are columns. func (session *Session) Asc(colNames ...string) *Session { - session.Statement.Asc(colNames...) + session.statement.Asc(colNames...) return session } // StoreEngine is only avialble mysql dialect currently func (session *Session) StoreEngine(storeEngine string) *Session { - session.Statement.StoreEngine = storeEngine + session.statement.StoreEngine = storeEngine return session } // Charset is only avialble mysql dialect currently func (session *Session) Charset(charset string) *Session { - session.Statement.Charset = charset + session.statement.Charset = charset return session } // Cascade indicates if loading sub Struct func (session *Session) Cascade(trueOrFalse ...bool) *Session { if len(trueOrFalse) >= 1 { - session.Statement.UseCascade = trueOrFalse[0] + session.statement.UseCascade = trueOrFalse[0] } return session } @@ -204,32 +208,32 @@ func (session *Session) Cascade(trueOrFalse ...bool) *Session { // NoCache ask this session do not retrieve data from cache system and // get data from database directly. func (session *Session) NoCache() *Session { - session.Statement.UseCache = false + session.statement.UseCache = false return session } // Join join_operator should be one of INNER, LEFT OUTER, CROSS etc - this will be prepended to JOIN func (session *Session) Join(joinOperator string, tablename interface{}, condition string, args ...interface{}) *Session { - session.Statement.Join(joinOperator, tablename, condition, args...) + session.statement.Join(joinOperator, tablename, condition, args...) return session } // GroupBy Generate Group By statement func (session *Session) GroupBy(keys string) *Session { - session.Statement.GroupBy(keys) + session.statement.GroupBy(keys) return session } // Having Generate Having statement func (session *Session) Having(conditions string) *Session { - session.Statement.Having(conditions) + session.statement.Having(conditions) return session } // DB db return the wrapper of sql.DB func (session *Session) DB() *core.DB { if session.db == nil { - session.db = session.Engine.db + session.db = session.engine.db session.stmtCache = make(map[uint32]*core.Stmt, 0) } return session.db @@ -242,13 +246,13 @@ func cleanupProcessorsClosures(slices *[]func(interface{})) { } func (session *Session) canCache() bool { - if session.Statement.RefTable == nil || - session.Statement.JoinStr != "" || - session.Statement.RawSQL != "" || - !session.Statement.UseCache || - session.Statement.IsForUpdate || - session.Tx != nil || - len(session.Statement.selectStr) > 0 { + if session.statement.RefTable == nil || + session.statement.JoinStr != "" || + session.statement.RawSQL != "" || + !session.statement.UseCache || + session.statement.IsForUpdate || + session.tx != nil || + len(session.statement.selectStr) > 0 { return false } return true @@ -272,18 +276,18 @@ func (session *Session) doPrepare(sqlStr string) (stmt *core.Stmt, err error) { func (session *Session) getField(dataStruct *reflect.Value, key string, table *core.Table, idx int) *reflect.Value { var col *core.Column if col = table.GetColumnIdx(key, idx); col == nil { - //session.Engine.logger.Warnf("table %v has no column %v. %v", table.Name, key, table.ColumnsSeq()) + //session.engine.logger.Warnf("table %v has no column %v. %v", table.Name, key, table.ColumnsSeq()) return nil } fieldValue, err := col.ValueOfV(dataStruct) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) return nil } if !fieldValue.IsValid() || !fieldValue.CanSet() { - session.Engine.logger.Warnf("table %v's column %v is not valid or cannot set", table.Name, key) + session.engine.logger.Warnf("table %v's column %v is not valid or cannot set", table.Name, key) return nil } return fieldValue @@ -528,7 +532,7 @@ func (session *Session) slice2Bean(scanResults []interface{}, fields []string, f } case reflect.Struct: if fieldType.ConvertibleTo(core.TimeType) { - dbTZ := session.Engine.DatabaseTZ + dbTZ := session.engine.DatabaseTZ if col.TimeZone != nil { dbTZ = col.TimeZone } @@ -541,25 +545,25 @@ func (session *Session) slice2Bean(scanResults []interface{}, fields []string, f z, _ := t.Zone() // set new location if database don't save timezone or give an incorrect timezone if len(z) == 0 || t.Year() == 0 || t.Location().String() != dbTZ.String() { // !nashtsai! HACK tmp work around for lib/pq doesn't properly time with location - session.Engine.logger.Debugf("empty zone key[%v] : %v | zone: %v | location: %+v\n", key, t, z, *t.Location()) + session.engine.logger.Debugf("empty zone key[%v] : %v | zone: %v | location: %+v\n", key, t, z, *t.Location()) t = time.Date(t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second(), t.Nanosecond(), dbTZ) } - t = t.In(session.Engine.TZLocation) + t = t.In(session.engine.TZLocation) fieldValue.Set(reflect.ValueOf(t).Convert(fieldType)) } else if rawValueType == core.IntType || rawValueType == core.Int64Type || rawValueType == core.Int32Type { hasAssigned = true - t := time.Unix(vv.Int(), 0).In(session.Engine.TZLocation) + t := time.Unix(vv.Int(), 0).In(session.engine.TZLocation) fieldValue.Set(reflect.ValueOf(t).Convert(fieldType)) } else { if d, ok := vv.Interface().([]uint8); ok { hasAssigned = true t, err := session.byte2Time(col, d) if err != nil { - session.Engine.logger.Error("byte2Time error:", err.Error()) + session.engine.logger.Error("byte2Time error:", err.Error()) hasAssigned = false } else { fieldValue.Set(reflect.ValueOf(t).Convert(fieldType)) @@ -568,7 +572,7 @@ func (session *Session) slice2Bean(scanResults []interface{}, fields []string, f hasAssigned = true t, err := session.str2Time(col, d) if err != nil { - session.Engine.logger.Error("byte2Time error:", err.Error()) + session.engine.logger.Error("byte2Time error:", err.Error()) hasAssigned = false } else { fieldValue.Set(reflect.ValueOf(t).Convert(fieldType)) @@ -581,7 +585,7 @@ func (session *Session) slice2Bean(scanResults []interface{}, fields []string, f // !! 增加支持sql.Scanner接口的结构,如sql.NullString hasAssigned = true if err := nulVal.Scan(vv.Interface()); err != nil { - session.Engine.logger.Error("sql.Sanner error:", err.Error()) + session.engine.logger.Error("sql.Sanner error:", err.Error()) hasAssigned = false } } else if col.SQLType.IsJson() { @@ -606,8 +610,8 @@ func (session *Session) slice2Bean(scanResults []interface{}, fields []string, f fieldValue.Set(x.Elem()) } } - } else if session.Statement.UseCascade { - table, err := session.Engine.autoMapType(*fieldValue) + } else if session.statement.UseCascade { + table, err := session.engine.autoMapType(*fieldValue) if err != nil { return nil, err } @@ -627,9 +631,7 @@ func (session *Session) slice2Bean(scanResults []interface{}, fields []string, f // however, also need to consider adding a 'lazy' attribute to xorm tag which allow hasOne // property to be fetched lazily structInter := reflect.New(fieldValue.Type()) - newsession := session.Engine.NewSession() - defer newsession.Close() - has, err := newsession.ID(pk).NoCascade().Get(structInter.Interface()) + has, err := session.ID(pk).NoCascade().get(structInter.Interface()) if err != nil { return nil, err } @@ -773,19 +775,11 @@ func (session *Session) slice2Bean(scanResults []interface{}, fields []string, f return pk, nil } -func (session *Session) queryPreprocess(sqlStr *string, paramStr ...interface{}) { - for _, filter := range session.Engine.dialect.Filters() { - *sqlStr = filter.Do(*sqlStr, session.Engine.dialect, session.Statement.RefTable) - } - - session.saveLastSQL(*sqlStr, paramStr...) -} - // saveLastSQL stores executed query information func (session *Session) saveLastSQL(sql string, args ...interface{}) { session.lastSQL = sql session.lastSQLArgs = args - session.Engine.logSQL(sql, args...) + session.engine.logSQL(sql, args...) } // LastSQL returns last query information @@ -795,8 +789,8 @@ func (session *Session) LastSQL() (string, []interface{}) { // tbName get some table's table name func (session *Session) tbNameNoSchema(table *core.Table) string { - if len(session.Statement.AltTableName) > 0 { - return session.Statement.AltTableName + if len(session.statement.AltTableName) > 0 { + return session.statement.AltTableName } return table.Name @@ -804,6 +798,6 @@ func (session *Session) tbNameNoSchema(table *core.Table) string { // Unscoped always disable struct tag "deleted" func (session *Session) Unscoped() *Session { - session.Statement.Unscoped() + session.statement.Unscoped() return session } diff --git a/vendor/github.com/go-xorm/xorm/session_cols.go b/vendor/github.com/go-xorm/xorm/session_cols.go index 91185de..9972cb0 100644 --- a/vendor/github.com/go-xorm/xorm/session_cols.go +++ b/vendor/github.com/go-xorm/xorm/session_cols.go @@ -6,43 +6,43 @@ package xorm // Incr provides a query string like "count = count + 1" func (session *Session) Incr(column string, arg ...interface{}) *Session { - session.Statement.Incr(column, arg...) + session.statement.Incr(column, arg...) return session } // Decr provides a query string like "count = count - 1" func (session *Session) Decr(column string, arg ...interface{}) *Session { - session.Statement.Decr(column, arg...) + session.statement.Decr(column, arg...) return session } // SetExpr provides a query string like "column = {expression}" func (session *Session) SetExpr(column string, expression string) *Session { - session.Statement.SetExpr(column, expression) + session.statement.SetExpr(column, expression) return session } // Select provides some columns to special func (session *Session) Select(str string) *Session { - session.Statement.Select(str) + session.statement.Select(str) return session } // Cols provides some columns to special func (session *Session) Cols(columns ...string) *Session { - session.Statement.Cols(columns...) + session.statement.Cols(columns...) return session } // AllCols ask all columns func (session *Session) AllCols() *Session { - session.Statement.AllCols() + session.statement.AllCols() return session } // MustCols specify some columns must use even if they are empty func (session *Session) MustCols(columns ...string) *Session { - session.Statement.MustCols(columns...) + session.statement.MustCols(columns...) return session } @@ -52,7 +52,7 @@ func (session *Session) MustCols(columns ...string) *Session { // If no parameters, it will use all the bool field of struct, or // it will use parameters's columns func (session *Session) UseBool(columns ...string) *Session { - session.Statement.UseBool(columns...) + session.statement.UseBool(columns...) return session } @@ -60,25 +60,25 @@ func (session *Session) UseBool(columns ...string) *Session { // distinct will not be cached because cache system need id, // but distinct will not provide id func (session *Session) Distinct(columns ...string) *Session { - session.Statement.Distinct(columns...) + session.statement.Distinct(columns...) return session } // Omit Only not use the parameters as select or update columns func (session *Session) Omit(columns ...string) *Session { - session.Statement.Omit(columns...) + session.statement.Omit(columns...) return session } // Nullable Set null when column is zero-value and nullable for update func (session *Session) Nullable(columns ...string) *Session { - session.Statement.Nullable(columns...) + session.statement.Nullable(columns...) return session } // NoAutoTime means do not automatically give created field and updated field // the current time on the current session temporarily func (session *Session) NoAutoTime() *Session { - session.Statement.UseAutoTime = false + session.statement.UseAutoTime = false return session } diff --git a/vendor/github.com/go-xorm/xorm/session_cols_test.go b/vendor/github.com/go-xorm/xorm/session_cols_test.go index 3310528..2a292bd 100644 --- a/vendor/github.com/go-xorm/xorm/session_cols_test.go +++ b/vendor/github.com/go-xorm/xorm/session_cols_test.go @@ -31,7 +31,39 @@ func TestSetExpr(t *testing.T) { if testEngine.dialect.DBType() == core.MSSQL { not = "~" } - cnt, err = testEngine.SetExpr("show", not+" `show`").Id(1).Update(new(User)) + cnt, err = testEngine.SetExpr("show", not+" `show`").ID(1).Update(new(User)) assert.NoError(t, err) assert.EqualValues(t, 1, cnt) } + +func TestCols(t *testing.T) { + assert.NoError(t, prepareEngine()) + + type ColsTable struct { + Id int64 + Col1 string + Col2 string + } + + assertSync(t, new(ColsTable)) + + _, err := testEngine.Insert(&ColsTable{ + Col1: "1", + Col2: "2", + }) + assert.NoError(t, err) + + sess := testEngine.ID(1) + _, err = sess.Cols("col1").Cols("col2").Update(&ColsTable{ + Col1: "", + Col2: "", + }) + assert.NoError(t, err) + + var tb ColsTable + has, err := testEngine.ID(1).Get(&tb) + assert.NoError(t, err) + assert.True(t, has) + assert.EqualValues(t, "", tb.Col1) + assert.EqualValues(t, "", tb.Col2) +} diff --git a/vendor/github.com/go-xorm/xorm/session_cond.go b/vendor/github.com/go-xorm/xorm/session_cond.go index 948a90b..e1d528f 100644 --- a/vendor/github.com/go-xorm/xorm/session_cond.go +++ b/vendor/github.com/go-xorm/xorm/session_cond.go @@ -17,25 +17,25 @@ func (session *Session) Sql(query string, args ...interface{}) *Session { // SQL provides raw sql input parameter. When you have a complex SQL statement // and cannot use Where, Id, In and etc. Methods to describe, you can use SQL. func (session *Session) SQL(query interface{}, args ...interface{}) *Session { - session.Statement.SQL(query, args...) + session.statement.SQL(query, args...) return session } // Where provides custom query condition. func (session *Session) Where(query interface{}, args ...interface{}) *Session { - session.Statement.Where(query, args...) + session.statement.Where(query, args...) return session } // And provides custom query condition. func (session *Session) And(query interface{}, args ...interface{}) *Session { - session.Statement.And(query, args...) + session.statement.And(query, args...) return session } // Or provides custom query condition. func (session *Session) Or(query interface{}, args ...interface{}) *Session { - session.Statement.Or(query, args...) + session.statement.Or(query, args...) return session } @@ -48,23 +48,23 @@ func (session *Session) Id(id interface{}) *Session { // ID provides converting id as a query condition func (session *Session) ID(id interface{}) *Session { - session.Statement.ID(id) + session.statement.ID(id) return session } // In provides a query string like "id in (1, 2, 3)" func (session *Session) In(column string, args ...interface{}) *Session { - session.Statement.In(column, args...) + session.statement.In(column, args...) return session } // NotIn provides a query string like "id in (1, 2, 3)" func (session *Session) NotIn(column string, args ...interface{}) *Session { - session.Statement.NotIn(column, args...) + session.statement.NotIn(column, args...) return session } -// Conds returns session query conditions +// Conds returns session query conditions except auto bean conditions func (session *Session) Conds() builder.Cond { - return session.Statement.cond + return session.statement.cond } diff --git a/vendor/github.com/go-xorm/xorm/session_cond_test.go b/vendor/github.com/go-xorm/xorm/session_cond_test.go index d90fbc2..5f8716f 100644 --- a/vendor/github.com/go-xorm/xorm/session_cond_test.go +++ b/vendor/github.com/go-xorm/xorm/session_cond_test.go @@ -83,6 +83,11 @@ func TestBuilder(t *testing.T) { assert.NoError(t, err) assert.EqualValues(t, 1, len(conds), "records should exist") + conds = make([]Condition, 0) + err = testEngine.NotIn("col_name", "col1", "col2").Find(&conds) + assert.NoError(t, err) + assert.EqualValues(t, 0, len(conds), "records should not exist") + // complex condtions var where = builder.NewCond() if true { @@ -222,7 +227,7 @@ func TestIn(t *testing.T) { } user := new(Userinfo) - has, err := testEngine.Id(ids[0]).Get(user) + has, err := testEngine.ID(ids[0]).Get(user) if err != nil { t.Error(err) panic(err) @@ -260,3 +265,35 @@ func TestIn(t *testing.T) { panic(err) } } + +func TestFindAndCount(t *testing.T) { + assert.NoError(t, prepareEngine()) + + type FindAndCount struct { + Id int64 + Name string + } + + assert.NoError(t, testEngine.Sync2(new(FindAndCount))) + + _, err := testEngine.Insert([]FindAndCount{ + { + Name: "test1", + }, + { + Name: "test2", + }, + }) + assert.NoError(t, err) + + var results []FindAndCount + sess := testEngine.Where("name = ?", "test1") + conds := sess.Conds() + err = sess.Find(&results) + assert.NoError(t, err) + assert.EqualValues(t, 1, len(results)) + + total, err := testEngine.Where(conds).Count(new(FindAndCount)) + assert.NoError(t, err) + assert.EqualValues(t, 1, total) +} diff --git a/vendor/github.com/go-xorm/xorm/session_convert.go b/vendor/github.com/go-xorm/xorm/session_convert.go index 931d1dc..fc244e6 100644 --- a/vendor/github.com/go-xorm/xorm/session_convert.go +++ b/vendor/github.com/go-xorm/xorm/session_convert.go @@ -23,7 +23,7 @@ func (session *Session) str2Time(col *core.Column, data string) (outTime time.Ti var x time.Time var err error - var parseLoc = session.Engine.DatabaseTZ + var parseLoc = session.engine.DatabaseTZ if col.TimeZone != nil { parseLoc = col.TimeZone } @@ -34,27 +34,27 @@ func (session *Session) str2Time(col *core.Column, data string) (outTime time.Ti sd, err := strconv.ParseInt(sdata, 10, 64) if err == nil { x = time.Unix(sd, 0) - session.Engine.logger.Debugf("time(0) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + session.engine.logger.Debugf("time(0) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) } else { - session.Engine.logger.Debugf("time(0) err key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + session.engine.logger.Debugf("time(0) err key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) } } else if len(sdata) > 19 && strings.Contains(sdata, "-") { x, err = time.ParseInLocation(time.RFC3339Nano, sdata, parseLoc) - session.Engine.logger.Debugf("time(1) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + session.engine.logger.Debugf("time(1) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) if err != nil { x, err = time.ParseInLocation("2006-01-02 15:04:05.999999999", sdata, parseLoc) - session.Engine.logger.Debugf("time(2) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + session.engine.logger.Debugf("time(2) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) } if err != nil { x, err = time.ParseInLocation("2006-01-02 15:04:05.9999999 Z07:00", sdata, parseLoc) - session.Engine.logger.Debugf("time(3) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + session.engine.logger.Debugf("time(3) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) } } else if len(sdata) == 19 && strings.Contains(sdata, "-") { x, err = time.ParseInLocation("2006-01-02 15:04:05", sdata, parseLoc) - session.Engine.logger.Debugf("time(4) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + session.engine.logger.Debugf("time(4) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) } else if len(sdata) == 10 && sdata[4] == '-' && sdata[7] == '-' { x, err = time.ParseInLocation("2006-01-02", sdata, parseLoc) - session.Engine.logger.Debugf("time(5) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + session.engine.logger.Debugf("time(5) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) } else if col.SQLType.Name == core.Time { if strings.Contains(sdata, " ") { ssd := strings.Split(sdata, " ") @@ -62,13 +62,13 @@ func (session *Session) str2Time(col *core.Column, data string) (outTime time.Ti } sdata = strings.TrimSpace(sdata) - if session.Engine.dialect.DBType() == core.MYSQL && len(sdata) > 8 { + if session.engine.dialect.DBType() == core.MYSQL && len(sdata) > 8 { sdata = sdata[len(sdata)-8:] } st := fmt.Sprintf("2006-01-02 %v", sdata) x, err = time.ParseInLocation("2006-01-02 15:04:05", st, parseLoc) - session.Engine.logger.Debugf("time(6) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + session.engine.logger.Debugf("time(6) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) } else { outErr = fmt.Errorf("unsupported time format %v", sdata) return @@ -77,7 +77,7 @@ func (session *Session) str2Time(col *core.Column, data string) (outTime time.Ti outErr = fmt.Errorf("unsupported time format %v: %v", sdata, err) return } - outTime = x.In(session.Engine.TZLocation) + outTime = x.In(session.engine.TZLocation) return } @@ -105,7 +105,7 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, if len(data) > 0 { err := json.Unmarshal(data, x.Interface()) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) return err } fieldValue.Set(x.Elem()) @@ -119,7 +119,7 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, if len(data) > 0 { err := json.Unmarshal(data, x.Interface()) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) return err } fieldValue.Set(x.Elem()) @@ -132,7 +132,7 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, if len(data) > 0 { err := json.Unmarshal(data, x.Interface()) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) return err } fieldValue.Set(x.Elem()) @@ -156,7 +156,7 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, var err error // for mysql, when use bit, it returned \x01 if col.SQLType.Name == core.Bit && - session.Engine.dialect.DBType() == core.MYSQL { // !nashtsai! TODO dialect needs to provide conversion interface API + session.engine.dialect.DBType() == core.MYSQL { // !nashtsai! TODO dialect needs to provide conversion interface API if len(data) == 1 { x = int64(data[0]) } else { @@ -204,8 +204,8 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, } v = x fieldValue.Set(reflect.ValueOf(v).Convert(fieldType)) - } else if session.Statement.UseCascade { - table, err := session.Engine.autoMapType(*fieldValue) + } else if session.statement.UseCascade { + table, err := session.engine.autoMapType(*fieldValue) if err != nil { return err } @@ -227,9 +227,7 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, // however, also need to consider adding a 'lazy' attribute to xorm tag which allow hasOne // property to be fetched lazily structInter := reflect.New(fieldValue.Type()) - newsession := session.Engine.NewSession() - defer newsession.Close() - has, err := newsession.Id(pk).NoCascade().Get(structInter.Interface()) + has, err := session.ID(pk).NoCascade().get(structInter.Interface()) if err != nil { return err } @@ -264,7 +262,7 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, if len(data) > 0 { err := json.Unmarshal(data, &x) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) return err } fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) @@ -275,7 +273,7 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, if len(data) > 0 { err := json.Unmarshal(data, &x) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) return err } fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) @@ -347,7 +345,7 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, var err error // for mysql, when use bit, it returned \x01 if col.SQLType.Name == core.Bit && - strings.Contains(session.Engine.DriverName(), "mysql") { + strings.Contains(session.engine.DriverName(), "mysql") { if len(data) == 1 { x = int64(data[0]) } else { @@ -372,7 +370,7 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, var err error // for mysql, when use bit, it returned \x01 if col.SQLType.Name == core.Bit && - strings.Contains(session.Engine.DriverName(), "mysql") { + strings.Contains(session.engine.DriverName(), "mysql") { if len(data) == 1 { x = int(data[0]) } else { @@ -400,7 +398,7 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, var err error // for mysql, when use bit, it returned \x01 if col.SQLType.Name == core.Bit && - session.Engine.dialect.DBType() == core.MYSQL { + session.engine.dialect.DBType() == core.MYSQL { if len(data) == 1 { x = int32(data[0]) } else { @@ -428,7 +426,7 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, var err error // for mysql, when use bit, it returned \x01 if col.SQLType.Name == core.Bit && - strings.Contains(session.Engine.DriverName(), "mysql") { + strings.Contains(session.engine.DriverName(), "mysql") { if len(data) == 1 { x = int8(data[0]) } else { @@ -456,7 +454,7 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, var err error // for mysql, when use bit, it returned \x01 if col.SQLType.Name == core.Bit && - strings.Contains(session.Engine.DriverName(), "mysql") { + strings.Contains(session.engine.DriverName(), "mysql") { if len(data) == 1 { x = int16(data[0]) } else { @@ -488,9 +486,9 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, v = x fieldValue.Set(reflect.ValueOf(&x)) default: - if session.Statement.UseCascade { + if session.statement.UseCascade { structInter := reflect.New(fieldType.Elem()) - table, err := session.Engine.autoMapType(structInter.Elem()) + table, err := session.engine.autoMapType(structInter.Elem()) if err != nil { return err } @@ -510,9 +508,7 @@ func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, // !nashtsai! TODO for hasOne relationship, it's preferred to use join query for eager fetch // however, also need to consider adding a 'lazy' attribute to xorm tag which allow hasOne // property to be fetched lazily - newsession := session.Engine.NewSession() - defer newsession.Close() - has, err := newsession.Id(pk).NoCascade().Get(structInter.Interface()) + has, err := session.ID(pk).NoCascade().get(structInter.Interface()) if err != nil { return err } @@ -569,7 +565,7 @@ func (session *Session) value2Interface(col *core.Column, fieldValue reflect.Val if fieldValue.IsNil() { return nil, nil } else if !fieldValue.IsValid() { - session.Engine.logger.Warn("the field[", col.FieldName, "] is invalid") + session.engine.logger.Warn("the field[", col.FieldName, "] is invalid") return nil, nil } else { // !nashtsai! deference pointer type to instance type @@ -587,7 +583,7 @@ func (session *Session) value2Interface(col *core.Column, fieldValue reflect.Val case reflect.Struct: if fieldType.ConvertibleTo(core.TimeType) { t := fieldValue.Convert(core.TimeType).Interface().(time.Time) - tf := session.Engine.formatColTime(col, t) + tf := session.engine.formatColTime(col, t) return tf, nil } @@ -597,7 +593,7 @@ func (session *Session) value2Interface(col *core.Column, fieldValue reflect.Val return v.Value() } - fieldTable, err := session.Engine.autoMapType(fieldValue) + fieldTable, err := session.engine.autoMapType(fieldValue) if err != nil { return nil, err } @@ -611,14 +607,14 @@ func (session *Session) value2Interface(col *core.Column, fieldValue reflect.Val if col.SQLType.IsText() { bytes, err := json.Marshal(fieldValue.Interface()) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) return 0, err } return string(bytes), nil } else if col.SQLType.IsBlob() { bytes, err := json.Marshal(fieldValue.Interface()) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) return 0, err } return bytes, nil @@ -627,7 +623,7 @@ func (session *Session) value2Interface(col *core.Column, fieldValue reflect.Val case reflect.Complex64, reflect.Complex128: bytes, err := json.Marshal(fieldValue.Interface()) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) return 0, err } return string(bytes), nil @@ -639,7 +635,7 @@ func (session *Session) value2Interface(col *core.Column, fieldValue reflect.Val if col.SQLType.IsText() { bytes, err := json.Marshal(fieldValue.Interface()) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) return 0, err } return string(bytes), nil @@ -652,7 +648,7 @@ func (session *Session) value2Interface(col *core.Column, fieldValue reflect.Val } else { bytes, err = json.Marshal(fieldValue.Interface()) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) return 0, err } } diff --git a/vendor/github.com/go-xorm/xorm/session_delete.go b/vendor/github.com/go-xorm/xorm/session_delete.go index 044e9d6..f8a4c66 100644 --- a/vendor/github.com/go-xorm/xorm/session_delete.go +++ b/vendor/github.com/go-xorm/xorm/session_delete.go @@ -13,25 +13,25 @@ import ( ) func (session *Session) cacheDelete(sqlStr string, args ...interface{}) error { - if session.Statement.RefTable == nil || - session.Tx != nil { + if session.statement.RefTable == nil || + session.tx != nil { return ErrCacheFailed } - for _, filter := range session.Engine.dialect.Filters() { - sqlStr = filter.Do(sqlStr, session.Engine.dialect, session.Statement.RefTable) + for _, filter := range session.engine.dialect.Filters() { + sqlStr = filter.Do(sqlStr, session.engine.dialect, session.statement.RefTable) } - newsql := session.Statement.convertIDSQL(sqlStr) + newsql := session.statement.convertIDSQL(sqlStr) if newsql == "" { return ErrCacheFailed } - cacher := session.Engine.getCacher2(session.Statement.RefTable) - tableName := session.Statement.TableName() + cacher := session.engine.getCacher2(session.statement.RefTable) + tableName := session.statement.TableName() ids, err := core.GetCacheSql(cacher, tableName, newsql, args) if err != nil { - resultsSlice, err := session.query(newsql, args...) + resultsSlice, err := session.queryBytes(newsql, args...) if err != nil { return err } @@ -40,7 +40,7 @@ func (session *Session) cacheDelete(sqlStr string, args ...interface{}) error { for _, data := range resultsSlice { var id int64 var pk core.PK = make([]interface{}, 0) - for _, col := range session.Statement.RefTable.PKColumns() { + for _, col := range session.statement.RefTable.PKColumns() { if v, ok := data[col.Name]; !ok { return errors.New("no id") } else if col.SQLType.IsText() { @@ -59,34 +59,33 @@ func (session *Session) cacheDelete(sqlStr string, args ...interface{}) error { } } } /*else { - session.Engine.LogDebug("delete cache sql %v", newsql) + session.engine.LogDebug("delete cache sql %v", newsql) cacher.DelIds(tableName, genSqlKey(newsql, args)) }*/ for _, id := range ids { - session.Engine.logger.Debug("[cacheDelete] delete cache obj", tableName, id) + session.engine.logger.Debug("[cacheDelete] delete cache obj", tableName, id) sid, err := id.ToString() if err != nil { return err } cacher.DelBean(tableName, sid) } - session.Engine.logger.Debug("[cacheDelete] clear cache sql", tableName) + session.engine.logger.Debug("[cacheDelete] clear cache sql", tableName) cacher.ClearIds(tableName) return nil } // Delete records, bean's non-empty fields are conditions func (session *Session) Delete(bean interface{}) (int64, error) { - defer session.resetStatement() - if session.IsAutoClose { + if session.isAutoClose { defer session.Close() } - if err := session.Statement.setRefValue(rValue(bean)); err != nil { + if err := session.statement.setRefValue(rValue(bean)); err != nil { return 0, err } - var table = session.Statement.RefTable + var table = session.statement.RefTable // handle before delete processors for _, closure := range session.beforeClosures { @@ -98,15 +97,15 @@ func (session *Session) Delete(bean interface{}) (int64, error) { processor.BeforeDelete() } - condSQL, condArgs, err := session.Statement.genConds(bean) + condSQL, condArgs, err := session.statement.genConds(bean) if err != nil { return 0, err } - if len(condSQL) == 0 && session.Statement.LimitN == 0 { + if len(condSQL) == 0 && session.statement.LimitN == 0 { return 0, ErrNeedDeletedCond } - var tableName = session.Engine.Quote(session.Statement.TableName()) + var tableName = session.engine.Quote(session.statement.TableName()) var deleteSQL string if len(condSQL) > 0 { deleteSQL = fmt.Sprintf("DELETE FROM %v WHERE %v", tableName, condSQL) @@ -115,15 +114,15 @@ func (session *Session) Delete(bean interface{}) (int64, error) { } var orderSQL string - if len(session.Statement.OrderStr) > 0 { - orderSQL += fmt.Sprintf(" ORDER BY %s", session.Statement.OrderStr) + if len(session.statement.OrderStr) > 0 { + orderSQL += fmt.Sprintf(" ORDER BY %s", session.statement.OrderStr) } - if session.Statement.LimitN > 0 { - orderSQL += fmt.Sprintf(" LIMIT %d", session.Statement.LimitN) + if session.statement.LimitN > 0 { + orderSQL += fmt.Sprintf(" LIMIT %d", session.statement.LimitN) } if len(orderSQL) > 0 { - switch session.Engine.dialect.DBType() { + switch session.engine.dialect.DBType() { case core.POSTGRES: inSQL := fmt.Sprintf("ctid IN (SELECT ctid FROM %s%s)", tableName, orderSQL) if len(condSQL) > 0 { @@ -148,7 +147,7 @@ func (session *Session) Delete(bean interface{}) (int64, error) { var realSQL string argsForCache := make([]interface{}, 0, len(condArgs)*2) - if session.Statement.unscoped || table.DeletedColumn() == nil { // tag "deleted" is disabled + if session.statement.unscoped || table.DeletedColumn() == nil { // tag "deleted" is disabled realSQL = deleteSQL copy(argsForCache, condArgs) argsForCache = append(condArgs, argsForCache...) @@ -159,12 +158,12 @@ func (session *Session) Delete(bean interface{}) (int64, error) { deletedColumn := table.DeletedColumn() realSQL = fmt.Sprintf("UPDATE %v SET %v = ? WHERE %v", - session.Engine.Quote(session.Statement.TableName()), - session.Engine.Quote(deletedColumn.Name), + session.engine.Quote(session.statement.TableName()), + session.engine.Quote(deletedColumn.Name), condSQL) if len(orderSQL) > 0 { - switch session.Engine.dialect.DBType() { + switch session.engine.dialect.DBType() { case core.POSTGRES: inSQL := fmt.Sprintf("ctid IN (SELECT ctid FROM %s%s)", tableName, orderSQL) if len(condSQL) > 0 { @@ -187,12 +186,12 @@ func (session *Session) Delete(bean interface{}) (int64, error) { } } - // !oinume! Insert NowTime to the head of session.Statement.Params + // !oinume! Insert NowTime to the head of session.statement.Params condArgs = append(condArgs, "") paramsLen := len(condArgs) copy(condArgs[1:paramsLen], condArgs[0:paramsLen-1]) - val, t := session.Engine.NowTime2(deletedColumn.SQLType.Name) + val, t := session.engine.NowTime2(deletedColumn.SQLType.Name) condArgs[0] = val var colName = deletedColumn.Name @@ -202,7 +201,7 @@ func (session *Session) Delete(bean interface{}) (int64, error) { }) } - if cacher := session.Engine.getCacher2(session.Statement.RefTable); cacher != nil && session.Statement.UseCache { + if cacher := session.engine.getCacher2(session.statement.RefTable); cacher != nil && session.statement.UseCache { session.cacheDelete(deleteSQL, argsForCache...) } @@ -212,7 +211,7 @@ func (session *Session) Delete(bean interface{}) (int64, error) { } // handle after delete processors - if session.IsAutoCommit { + if session.isAutoCommit { for _, closure := range session.afterClosures { closure(bean) } diff --git a/vendor/github.com/go-xorm/xorm/session_delete_test.go b/vendor/github.com/go-xorm/xorm/session_delete_test.go index 27e6132..7eddd4c 100644 --- a/vendor/github.com/go-xorm/xorm/session_delete_test.go +++ b/vendor/github.com/go-xorm/xorm/session_delete_test.go @@ -26,13 +26,27 @@ func TestDelete(t *testing.T) { assert.NoError(t, err) assert.EqualValues(t, 1, cnt) - cnt, err = testEngine.Delete(&UserinfoDelete{Uid: 1}) + cnt, err = testEngine.Delete(&UserinfoDelete{Uid: user.Uid}) assert.NoError(t, err) assert.EqualValues(t, 1, cnt) user.Uid = 0 user.IsMan = true - has, err := testEngine.Id(1).Get(&user) + has, err := testEngine.ID(1).Get(&user) + assert.NoError(t, err) + assert.False(t, has) + + cnt, err = testEngine.Insert(&user) + assert.NoError(t, err) + assert.EqualValues(t, 1, cnt) + + cnt, err = testEngine.Where("id=?", user.Uid).Delete(&UserinfoDelete{}) + assert.NoError(t, err) + assert.EqualValues(t, 1, cnt) + + user.Uid = 0 + user.IsMan = true + has, err = testEngine.ID(2).Get(&user) assert.NoError(t, err) assert.False(t, has) } @@ -68,16 +82,16 @@ func TestDeleted(t *testing.T) { // Test normal Get() record1 := &Deleted{} - has, err := testEngine.Id(1).Get(record1) + has, err := testEngine.ID(1).Get(record1) assert.NoError(t, err) assert.True(t, has) // Test Delete() with deleted - affected, err := testEngine.Id(1).Delete(&Deleted{}) + affected, err := testEngine.ID(1).Delete(&Deleted{}) assert.NoError(t, err) assert.EqualValues(t, 1, affected) - has, err = testEngine.Id(1).Get(&Deleted{}) + has, err = testEngine.ID(1).Get(&Deleted{}) assert.NoError(t, err) assert.False(t, has) @@ -87,17 +101,17 @@ func TestDeleted(t *testing.T) { assert.EqualValues(t, 2, len(records2)) // Test no rows affected after Delete() again. - affected, err = testEngine.Id(1).Delete(&Deleted{}) + affected, err = testEngine.ID(1).Delete(&Deleted{}) assert.NoError(t, err) assert.EqualValues(t, 0, affected) // Deleted.DeletedAt must not be updated. - affected, err = testEngine.Id(2).Update(&Deleted{Name: "2", DeletedAt: time.Now()}) + affected, err = testEngine.ID(2).Update(&Deleted{Name: "2", DeletedAt: time.Now()}) assert.NoError(t, err) assert.EqualValues(t, 1, affected) record2 := &Deleted{} - has, err = testEngine.Id(2).Get(record2) + has, err = testEngine.ID(2).Get(record2) assert.NoError(t, err) assert.True(t, record2.DeletedAt.IsZero()) @@ -108,7 +122,7 @@ func TestDeleted(t *testing.T) { assert.EqualValues(t, 3, len(unscopedRecords1)) // Delete() must really delete a record with Unscoped() - affected, err = testEngine.Unscoped().Id(1).Delete(&Deleted{}) + affected, err = testEngine.Unscoped().ID(1).Delete(&Deleted{}) assert.NoError(t, err) assert.EqualValues(t, 1, affected) diff --git a/vendor/github.com/go-xorm/xorm/session_find.go b/vendor/github.com/go-xorm/xorm/session_find.go index b711991..b7cc446 100644 --- a/vendor/github.com/go-xorm/xorm/session_find.go +++ b/vendor/github.com/go-xorm/xorm/session_find.go @@ -23,11 +23,13 @@ const ( // are conditions. beans could be []Struct, []*Struct, map[int64]Struct // map[int64]*Struct func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) error { - defer session.resetStatement() - if session.IsAutoClose { + if session.isAutoClose { defer session.Close() } + return session.find(rowsSlicePtr, condiBean...) +} +func (session *Session) find(rowsSlicePtr interface{}, condiBean ...interface{}) error { sliceValue := reflect.Indirect(reflect.ValueOf(rowsSlicePtr)) if sliceValue.Kind() != reflect.Slice && sliceValue.Kind() != reflect.Map { return errors.New("needs a pointer to a slice or a map") @@ -36,11 +38,11 @@ func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) sliceElementType := sliceValue.Type().Elem() var tp = tpStruct - if session.Statement.RefTable == nil { + if session.statement.RefTable == nil { if sliceElementType.Kind() == reflect.Ptr { if sliceElementType.Elem().Kind() == reflect.Struct { pv := reflect.New(sliceElementType.Elem()) - if err := session.Statement.setRefValue(pv.Elem()); err != nil { + if err := session.statement.setRefValue(pv.Elem()); err != nil { return err } } else { @@ -48,7 +50,7 @@ func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) } } else if sliceElementType.Kind() == reflect.Struct { pv := reflect.New(sliceElementType) - if err := session.Statement.setRefValue(pv.Elem()); err != nil { + if err := session.statement.setRefValue(pv.Elem()); err != nil { return err } } else { @@ -56,31 +58,31 @@ func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) } } - var table = session.Statement.RefTable + var table = session.statement.RefTable - var addedTableName = (len(session.Statement.JoinStr) > 0) + var addedTableName = (len(session.statement.JoinStr) > 0) var autoCond builder.Cond if tp == tpStruct { - if !session.Statement.noAutoCondition && len(condiBean) > 0 { + if !session.statement.noAutoCondition && len(condiBean) > 0 { var err error - autoCond, err = session.Statement.buildConds(table, condiBean[0], true, true, false, true, addedTableName) + autoCond, err = session.statement.buildConds(table, condiBean[0], true, true, false, true, addedTableName) if err != nil { return err } } else { // !oinume! Add "IS NULL" to WHERE whatever condiBean is given. // See https://github.com/go-xorm/xorm/issues/179 - if col := table.DeletedColumn(); col != nil && !session.Statement.unscoped { // tag "deleted" is enabled - var colName = session.Engine.Quote(col.Name) + if col := table.DeletedColumn(); col != nil && !session.statement.unscoped { // tag "deleted" is enabled + var colName = session.engine.Quote(col.Name) if addedTableName { - var nm = session.Statement.TableName() - if len(session.Statement.TableAlias) > 0 { - nm = session.Statement.TableAlias + var nm = session.statement.TableName() + if len(session.statement.TableAlias) > 0 { + nm = session.statement.TableAlias } - colName = session.Engine.Quote(nm) + "." + colName + colName = session.engine.Quote(nm) + "." + colName } - autoCond = session.Engine.CondDeleted(colName) + autoCond = session.engine.CondDeleted(colName) } } } @@ -88,27 +90,27 @@ func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) var sqlStr string var args []interface{} var err error - if session.Statement.RawSQL == "" { - if len(session.Statement.TableName()) <= 0 { + if session.statement.RawSQL == "" { + if len(session.statement.TableName()) <= 0 { return ErrTableNotFound } - var columnStr = session.Statement.ColumnStr - if len(session.Statement.selectStr) > 0 { - columnStr = session.Statement.selectStr + var columnStr = session.statement.ColumnStr + if len(session.statement.selectStr) > 0 { + columnStr = session.statement.selectStr } else { - if session.Statement.JoinStr == "" { + if session.statement.JoinStr == "" { if columnStr == "" { - if session.Statement.GroupByStr != "" { - columnStr = session.Statement.Engine.Quote(strings.Replace(session.Statement.GroupByStr, ",", session.Engine.Quote(","), -1)) + if session.statement.GroupByStr != "" { + columnStr = session.statement.Engine.Quote(strings.Replace(session.statement.GroupByStr, ",", session.engine.Quote(","), -1)) } else { - columnStr = session.Statement.genColumnStr() + columnStr = session.statement.genColumnStr() } } } else { if columnStr == "" { - if session.Statement.GroupByStr != "" { - columnStr = session.Statement.Engine.Quote(strings.Replace(session.Statement.GroupByStr, ",", session.Engine.Quote(","), -1)) + if session.statement.GroupByStr != "" { + columnStr = session.statement.Engine.Quote(strings.Replace(session.statement.GroupByStr, ",", session.engine.Quote(","), -1)) } else { columnStr = "*" } @@ -119,13 +121,14 @@ func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) } } - condSQL, condArgs, err := builder.ToSQL(session.Statement.cond.And(autoCond)) + session.statement.cond = session.statement.cond.And(autoCond) + condSQL, condArgs, err := builder.ToSQL(session.statement.cond) if err != nil { return err } - args = append(session.Statement.joinArgs, condArgs...) - sqlStr, err = session.Statement.genSelectSQL(columnStr, condSQL) + args = append(session.statement.joinArgs, condArgs...) + sqlStr, err = session.statement.genSelectSQL(columnStr, condSQL) if err != nil { return err } @@ -135,20 +138,20 @@ func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) args = append(args, args...) } } else { - sqlStr = session.Statement.RawSQL - args = session.Statement.RawParams + sqlStr = session.statement.RawSQL + args = session.statement.RawParams } if session.canCache() { - if cacher := session.Engine.getCacher2(table); cacher != nil && - !session.Statement.IsDistinct && - !session.Statement.unscoped { + if cacher := session.engine.getCacher2(table); cacher != nil && + !session.statement.IsDistinct && + !session.statement.unscoped { err = session.cacheFind(sliceElementType, sqlStr, rowsSlicePtr, args...) if err != ErrCacheFailed { return err } err = nil // !nashtsai! reset err to nil for ErrCacheFailed - session.Engine.logger.Warn("Cache Find Failed") + session.engine.logger.Warn("Cache Find Failed") } } @@ -156,21 +159,13 @@ func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) } func (session *Session) noCacheFind(table *core.Table, containerValue reflect.Value, sqlStr string, args ...interface{}) error { - var rawRows *core.Rows - var err error - - session.queryPreprocess(&sqlStr, args...) - if session.IsAutoCommit { - _, rawRows, err = session.innerQuery(sqlStr, args...) - } else { - rawRows, err = session.Tx.Query(sqlStr, args...) - } + rows, err := session.queryRows(sqlStr, args...) if err != nil { return err } - defer rawRows.Close() + defer rows.Close() - fields, err := rawRows.Columns() + fields, err := rows.Columns() if err != nil { return err } @@ -240,24 +235,24 @@ func (session *Session) noCacheFind(table *core.Table, containerValue reflect.Va if elemType.Kind() == reflect.Struct { var newValue = newElemFunc(fields) dataStruct := rValue(newValue.Interface()) - tb, err := session.Engine.autoMapType(dataStruct) + tb, err := session.engine.autoMapType(dataStruct) if err != nil { return err } - return session.rows2Beans(rawRows, fields, len(fields), tb, newElemFunc, containerValueSetFunc) + return session.rows2Beans(rows, fields, len(fields), tb, newElemFunc, containerValueSetFunc) } - for rawRows.Next() { + for rows.Next() { var newValue = newElemFunc(fields) bean := newValue.Interface() switch elemType.Kind() { case reflect.Slice: - err = rawRows.ScanSlice(bean) + err = rows.ScanSlice(bean) case reflect.Map: - err = rawRows.ScanMap(bean) + err = rows.ScanMap(bean) default: - err = rawRows.Scan(bean) + err = rows.Scan(bean) } if err != nil { @@ -288,22 +283,22 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in return ErrCacheFailed } - for _, filter := range session.Engine.dialect.Filters() { - sqlStr = filter.Do(sqlStr, session.Engine.dialect, session.Statement.RefTable) + for _, filter := range session.engine.dialect.Filters() { + sqlStr = filter.Do(sqlStr, session.engine.dialect, session.statement.RefTable) } - newsql := session.Statement.convertIDSQL(sqlStr) + newsql := session.statement.convertIDSQL(sqlStr) if newsql == "" { return ErrCacheFailed } - tableName := session.Statement.TableName() + tableName := session.statement.TableName() - table := session.Statement.RefTable - cacher := session.Engine.getCacher2(table) + table := session.statement.RefTable + cacher := session.engine.getCacher2(table) ids, err := core.GetCacheSql(cacher, tableName, newsql, args) if err != nil { - rows, err := session.DB().Query(newsql, args...) + rows, err := session.NoCache().queryRows(newsql, args...) if err != nil { return err } @@ -314,7 +309,7 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in for rows.Next() { i++ if i > 500 { - session.Engine.logger.Debug("[cacheFind] ids length > 500, no cache") + session.engine.logger.Debug("[cacheFind] ids length > 500, no cache") return ErrCacheFailed } var res = make([]string, len(table.PrimaryKeys)) @@ -324,7 +319,7 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in } var pk core.PK = make([]interface{}, len(table.PrimaryKeys)) for i, col := range table.PKColumns() { - pk[i], err = session.Engine.idTypeAssertion(col, res[i]) + pk[i], err = session.engine.idTypeAssertion(col, res[i]) if err != nil { return err } @@ -333,13 +328,13 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in ids = append(ids, pk) } - session.Engine.logger.Debug("[cacheFind] cache sql:", ids, tableName, newsql, args) + session.engine.logger.Debug("[cacheFind] cache sql:", ids, tableName, newsql, args) err = core.PutCacheSql(cacher, ids, tableName, newsql, args) if err != nil { return err } } else { - session.Engine.logger.Debug("[cacheFind] cache hit sql:", newsql, args) + session.engine.logger.Debug("[cacheFind] cache hit sql:", newsql, args) } sliceValue := reflect.Indirect(reflect.ValueOf(rowsSlicePtr)) @@ -358,16 +353,16 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in ides = append(ides, id) ididxes[sid] = idx } else { - session.Engine.logger.Debug("[cacheFind] cache hit bean:", tableName, id, bean) + session.engine.logger.Debug("[cacheFind] cache hit bean:", tableName, id, bean) - pk := session.Engine.IdOf(bean) + pk := session.engine.IdOf(bean) xid, err := pk.ToString() if err != nil { return err } if sid != xid { - session.Engine.logger.Error("[cacheFind] error cache", xid, sid, bean) + session.engine.logger.Error("[cacheFind] error cache", xid, sid, bean) return ErrCacheFailed } temps[idx] = bean @@ -375,9 +370,6 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in } if len(ides) > 0 { - newSession := session.Engine.NewSession() - defer newSession.Close() - slices := reflect.New(reflect.SliceOf(t)) beans := slices.Interface() @@ -387,18 +379,18 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in ff = append(ff, ie[0]) } - newSession.In("`"+table.PrimaryKeys[0]+"`", ff...) + session.In("`"+table.PrimaryKeys[0]+"`", ff...) } else { for _, ie := range ides { cond := builder.NewCond() for i, name := range table.PrimaryKeys { cond = cond.And(builder.Eq{"`" + name + "`": ie[i]}) } - newSession.Or(cond) + session.Or(cond) } } - err = newSession.NoCache().Find(beans) + err = session.NoCache().find(beans) if err != nil { return err } @@ -409,7 +401,7 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in if rv.Kind() != reflect.Ptr { rv = rv.Addr() } - id, err := session.Engine.idOfV(rv) + id, err := session.engine.idOfV(rv) if err != nil { return err } @@ -420,7 +412,7 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in bean := rv.Interface() temps[ididxes[sid]] = bean - session.Engine.logger.Debug("[cacheFind] cache bean:", tableName, id, bean, temps) + session.engine.logger.Debug("[cacheFind] cache bean:", tableName, id, bean, temps) cacher.PutBean(tableName, sid, bean) } } @@ -428,7 +420,7 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in for j := 0; j < len(temps); j++ { bean := temps[j] if bean == nil { - session.Engine.logger.Warn("[cacheFind] cache no hit:", tableName, ids[j], temps) + session.engine.logger.Warn("[cacheFind] cache no hit:", tableName, ids[j], temps) // return errors.New("cache error") // !nashtsai! no need to return error, but continue instead continue } diff --git a/vendor/github.com/go-xorm/xorm/session_get.go b/vendor/github.com/go-xorm/xorm/session_get.go index 70bc967..4d33a20 100644 --- a/vendor/github.com/go-xorm/xorm/session_get.go +++ b/vendor/github.com/go-xorm/xorm/session_get.go @@ -15,18 +15,22 @@ import ( // Get retrieve one record from database, bean's non-empty fields // will be as conditions func (session *Session) Get(bean interface{}) (bool, error) { - defer session.resetStatement() - if session.IsAutoClose { + if session.isAutoClose { defer session.Close() } + return session.get(bean) +} +func (session *Session) get(bean interface{}) (bool, error) { beanValue := reflect.ValueOf(bean) if beanValue.Kind() != reflect.Ptr { - return false, errors.New("needs a pointer") + return false, errors.New("needs a pointer to a value") + } else if beanValue.Elem().Kind() == reflect.Ptr { + return false, errors.New("a pointer to a pointer is not allowed") } if beanValue.Elem().Kind() == reflect.Struct { - if err := session.Statement.setRefValue(beanValue.Elem()); err != nil { + if err := session.statement.setRefValue(beanValue.Elem()); err != nil { return false, err } } @@ -35,23 +39,23 @@ func (session *Session) Get(bean interface{}) (bool, error) { var args []interface{} var err error - if session.Statement.RawSQL == "" { - if len(session.Statement.TableName()) <= 0 { + if session.statement.RawSQL == "" { + if len(session.statement.TableName()) <= 0 { return false, ErrTableNotFound } - session.Statement.Limit(1) - sqlStr, args, err = session.Statement.genGetSQL(bean) + session.statement.Limit(1) + sqlStr, args, err = session.statement.genGetSQL(bean) if err != nil { return false, err } } else { - sqlStr = session.Statement.RawSQL - args = session.Statement.RawParams + sqlStr = session.statement.RawSQL + args = session.statement.RawParams } if session.canCache() && beanValue.Elem().Kind() == reflect.Struct { - if cacher := session.Engine.getCacher2(session.Statement.RefTable); cacher != nil && - !session.Statement.unscoped { + if cacher := session.engine.getCacher2(session.statement.RefTable); cacher != nil && + !session.statement.unscoped { has, err := session.cacheGet(bean, sqlStr, args...) if err != ErrCacheFailed { return has, err @@ -63,50 +67,42 @@ func (session *Session) Get(bean interface{}) (bool, error) { } func (session *Session) nocacheGet(beanKind reflect.Kind, bean interface{}, sqlStr string, args ...interface{}) (bool, error) { - session.queryPreprocess(&sqlStr, args...) - - var rawRows *core.Rows - var err error - if session.IsAutoCommit { - _, rawRows, err = session.innerQuery(sqlStr, args...) - } else { - rawRows, err = session.Tx.Query(sqlStr, args...) - } + rows, err := session.queryRows(sqlStr, args...) if err != nil { return false, err } + defer rows.Close() - defer rawRows.Close() - - if !rawRows.Next() { + if !rows.Next() { return false, nil } switch beanKind { case reflect.Struct: - fields, err := rawRows.Columns() + fields, err := rows.Columns() if err != nil { - // WARN: Alougth rawRows return true, but get fields failed + // WARN: Alougth rows return true, but get fields failed return true, err } dataStruct := rValue(bean) - if err := session.Statement.setRefValue(dataStruct); err != nil { + if err := session.statement.setRefValue(dataStruct); err != nil { return false, err } - scanResults, err := session.row2Slice(rawRows, fields, len(fields), bean) + scanResults, err := session.row2Slice(rows, fields, len(fields), bean) if err != nil { return false, err } - rawRows.Close() + // close it before covert data + rows.Close() - _, err = session.slice2Bean(scanResults, fields, len(fields), bean, &dataStruct, session.Statement.RefTable) + _, err = session.slice2Bean(scanResults, fields, len(fields), bean, &dataStruct, session.statement.RefTable) case reflect.Slice: - err = rawRows.ScanSlice(bean) + err = rows.ScanSlice(bean) case reflect.Map: - err = rawRows.ScanMap(bean) + err = rows.ScanMap(bean) default: - err = rawRows.Scan(bean) + err = rows.Scan(bean) } return true, err @@ -118,22 +114,22 @@ func (session *Session) cacheGet(bean interface{}, sqlStr string, args ...interf return false, ErrCacheFailed } - for _, filter := range session.Engine.dialect.Filters() { - sqlStr = filter.Do(sqlStr, session.Engine.dialect, session.Statement.RefTable) + for _, filter := range session.engine.dialect.Filters() { + sqlStr = filter.Do(sqlStr, session.engine.dialect, session.statement.RefTable) } - newsql := session.Statement.convertIDSQL(sqlStr) + newsql := session.statement.convertIDSQL(sqlStr) if newsql == "" { return false, ErrCacheFailed } - cacher := session.Engine.getCacher2(session.Statement.RefTable) - tableName := session.Statement.TableName() - session.Engine.logger.Debug("[cacheGet] find sql:", newsql, args) + cacher := session.engine.getCacher2(session.statement.RefTable) + tableName := session.statement.TableName() + session.engine.logger.Debug("[cacheGet] find sql:", newsql, args) ids, err := core.GetCacheSql(cacher, tableName, newsql, args) - table := session.Statement.RefTable + table := session.statement.RefTable if err != nil { var res = make([]string, len(table.PrimaryKeys)) - rows, err := session.DB().Query(newsql, args...) + rows, err := session.NoCache().queryRows(newsql, args...) if err != nil { return false, err } @@ -164,19 +160,19 @@ func (session *Session) cacheGet(bean interface{}, sqlStr string, args ...interf } ids = []core.PK{pk} - session.Engine.logger.Debug("[cacheGet] cache ids:", newsql, ids) + session.engine.logger.Debug("[cacheGet] cache ids:", newsql, ids) err = core.PutCacheSql(cacher, ids, tableName, newsql, args) if err != nil { return false, err } } else { - session.Engine.logger.Debug("[cacheGet] cache hit sql:", newsql) + session.engine.logger.Debug("[cacheGet] cache hit sql:", newsql) } if len(ids) > 0 { structValue := reflect.Indirect(reflect.ValueOf(bean)) id := ids[0] - session.Engine.logger.Debug("[cacheGet] get bean:", tableName, id) + session.engine.logger.Debug("[cacheGet] get bean:", tableName, id) sid, err := id.ToString() if err != nil { return false, err @@ -189,10 +185,10 @@ func (session *Session) cacheGet(bean interface{}, sqlStr string, args ...interf return has, err } - session.Engine.logger.Debug("[cacheGet] cache bean:", tableName, id, cacheBean) + session.engine.logger.Debug("[cacheGet] cache bean:", tableName, id, cacheBean) cacher.PutBean(tableName, sid, cacheBean) } else { - session.Engine.logger.Debug("[cacheGet] cache hit bean:", tableName, id, cacheBean) + session.engine.logger.Debug("[cacheGet] cache hit bean:", tableName, id, cacheBean) has = true } structValue.Set(reflect.Indirect(reflect.ValueOf(cacheBean))) diff --git a/vendor/github.com/go-xorm/xorm/session_get_test.go b/vendor/github.com/go-xorm/xorm/session_get_test.go index e388711..9100636 100644 --- a/vendor/github.com/go-xorm/xorm/session_get_test.go +++ b/vendor/github.com/go-xorm/xorm/session_get_test.go @@ -71,15 +71,18 @@ func TestGetVar(t *testing.T) { assert.Equal(t, "28", valuesString["age"]) assert.Equal(t, "1.5", valuesString["money"]) - var valuesInter = make(map[string]interface{}) - has, err = testEngine.Table("get_var").Where("id = ?", 1).Select("*").Get(&valuesInter) - assert.NoError(t, err) - assert.Equal(t, true, has) - assert.Equal(t, 5, len(valuesInter)) - assert.EqualValues(t, 1, valuesInter["id"]) - assert.Equal(t, "hi", fmt.Sprintf("%s", valuesInter["msg"])) - assert.EqualValues(t, 28, valuesInter["age"]) - assert.Equal(t, "1.5", fmt.Sprintf("%v", valuesInter["money"])) + // for mymysql driver, interface{} will be []byte, so ignore it currently + if testEngine.dialect.DriverName() != "mymysql" { + var valuesInter = make(map[string]interface{}) + has, err = testEngine.Table("get_var").Where("id = ?", 1).Select("*").Get(&valuesInter) + assert.NoError(t, err) + assert.Equal(t, true, has) + assert.Equal(t, 5, len(valuesInter)) + assert.EqualValues(t, 1, valuesInter["id"]) + assert.Equal(t, "hi", fmt.Sprintf("%s", valuesInter["msg"])) + assert.EqualValues(t, 28, valuesInter["age"]) + assert.Equal(t, "1.5", fmt.Sprintf("%v", valuesInter["money"])) + } var valuesSliceString = make([]string, 5) has, err = testEngine.Table("get_var").Get(&valuesSliceString) @@ -171,3 +174,23 @@ func TestGetSlice(t *testing.T) { assert.False(t, has) assert.Error(t, err) } + +func TestGetError(t *testing.T) { + assert.NoError(t, prepareEngine()) + + type GetError struct { + Uid int `xorm:"pk autoincr"` + IsMan bool + } + + assertSync(t, new(GetError)) + + var info = new(GetError) + has, err := testEngine.Get(&info) + assert.False(t, has) + assert.Error(t, err) + + has, err = testEngine.Get(info) + assert.False(t, has) + assert.NoError(t, err) +} diff --git a/vendor/github.com/go-xorm/xorm/session_insert.go b/vendor/github.com/go-xorm/xorm/session_insert.go index c364817..cafac15 100644 --- a/vendor/github.com/go-xorm/xorm/session_insert.go +++ b/vendor/github.com/go-xorm/xorm/session_insert.go @@ -19,17 +19,16 @@ func (session *Session) Insert(beans ...interface{}) (int64, error) { var affected int64 var err error - if session.IsAutoClose { + if session.isAutoClose { defer session.Close() } - defer session.resetStatement() for _, bean := range beans { sliceValue := reflect.Indirect(reflect.ValueOf(bean)) if sliceValue.Kind() == reflect.Slice { size := sliceValue.Len() if size > 0 { - if session.Engine.SupportInsertMany() { + if session.engine.SupportInsertMany() { cnt, err := session.innerInsertMulti(bean) if err != nil { return affected, err @@ -67,15 +66,15 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error return 0, errors.New("could not insert a empty slice") } - if err := session.Statement.setRefValue(reflect.ValueOf(sliceValue.Index(0).Interface())); err != nil { + if err := session.statement.setRefValue(reflect.ValueOf(sliceValue.Index(0).Interface())); err != nil { return 0, err } - if len(session.Statement.TableName()) <= 0 { + if len(session.statement.TableName()) <= 0 { return 0, ErrTableNotFound } - table := session.Statement.RefTable + table := session.statement.RefTable size := sliceValue.Len() var colNames []string @@ -116,18 +115,18 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error if col.IsDeleted { continue } - if session.Statement.ColumnStr != "" { - if _, ok := getFlagForColumn(session.Statement.columnMap, col); !ok { + if session.statement.ColumnStr != "" { + if _, ok := getFlagForColumn(session.statement.columnMap, col); !ok { continue } } - if session.Statement.OmitStr != "" { - if _, ok := getFlagForColumn(session.Statement.columnMap, col); ok { + if session.statement.OmitStr != "" { + if _, ok := getFlagForColumn(session.statement.columnMap, col); ok { continue } } - if (col.IsCreated || col.IsUpdated) && session.Statement.UseAutoTime { - val, t := session.Engine.NowTime2(col.SQLType.Name) + if (col.IsCreated || col.IsUpdated) && session.statement.UseAutoTime { + val, t := session.engine.NowTime2(col.SQLType.Name) args = append(args, val) var colName = col.Name @@ -135,7 +134,7 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error col := table.GetColumn(colName) setColumnTime(bean, col, t) }) - } else if col.IsVersion && session.Statement.checkVersion { + } else if col.IsVersion && session.statement.checkVersion { args = append(args, 1) var colName = col.Name session.afterClosures = append(session.afterClosures, func(bean interface{}) { @@ -171,18 +170,18 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error if col.IsDeleted { continue } - if session.Statement.ColumnStr != "" { - if _, ok := getFlagForColumn(session.Statement.columnMap, col); !ok { + if session.statement.ColumnStr != "" { + if _, ok := getFlagForColumn(session.statement.columnMap, col); !ok { continue } } - if session.Statement.OmitStr != "" { - if _, ok := getFlagForColumn(session.Statement.columnMap, col); ok { + if session.statement.OmitStr != "" { + if _, ok := getFlagForColumn(session.statement.columnMap, col); ok { continue } } - if (col.IsCreated || col.IsUpdated) && session.Statement.UseAutoTime { - val, t := session.Engine.NowTime2(col.SQLType.Name) + if (col.IsCreated || col.IsUpdated) && session.statement.UseAutoTime { + val, t := session.engine.NowTime2(col.SQLType.Name) args = append(args, val) var colName = col.Name @@ -190,7 +189,7 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error col := table.GetColumn(colName) setColumnTime(bean, col, t) }) - } else if col.IsVersion && session.Statement.checkVersion { + } else if col.IsVersion && session.statement.checkVersion { args = append(args, 1) var colName = col.Name session.afterClosures = append(session.afterClosures, func(bean interface{}) { @@ -214,25 +213,25 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error var sql = "INSERT INTO %s (%v%v%v) VALUES (%v)" var statement string - if session.Engine.dialect.DBType() == core.ORACLE { + if session.engine.dialect.DBType() == core.ORACLE { sql = "INSERT ALL INTO %s (%v%v%v) VALUES (%v) SELECT 1 FROM DUAL" temp := fmt.Sprintf(") INTO %s (%v%v%v) VALUES (", - session.Engine.Quote(session.Statement.TableName()), - session.Engine.QuoteStr(), - strings.Join(colNames, session.Engine.QuoteStr()+", "+session.Engine.QuoteStr()), - session.Engine.QuoteStr()) + session.engine.Quote(session.statement.TableName()), + session.engine.QuoteStr(), + strings.Join(colNames, session.engine.QuoteStr()+", "+session.engine.QuoteStr()), + session.engine.QuoteStr()) statement = fmt.Sprintf(sql, - session.Engine.Quote(session.Statement.TableName()), - session.Engine.QuoteStr(), - strings.Join(colNames, session.Engine.QuoteStr()+", "+session.Engine.QuoteStr()), - session.Engine.QuoteStr(), + session.engine.Quote(session.statement.TableName()), + session.engine.QuoteStr(), + strings.Join(colNames, session.engine.QuoteStr()+", "+session.engine.QuoteStr()), + session.engine.QuoteStr(), strings.Join(colMultiPlaces, temp)) } else { statement = fmt.Sprintf(sql, - session.Engine.Quote(session.Statement.TableName()), - session.Engine.QuoteStr(), - strings.Join(colNames, session.Engine.QuoteStr()+", "+session.Engine.QuoteStr()), - session.Engine.QuoteStr(), + session.engine.Quote(session.statement.TableName()), + session.engine.QuoteStr(), + strings.Join(colNames, session.engine.QuoteStr()+", "+session.engine.QuoteStr()), + session.engine.QuoteStr(), strings.Join(colMultiPlaces, "),(")) } res, err := session.exec(statement, args...) @@ -240,8 +239,8 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error return 0, err } - if cacher := session.Engine.getCacher2(table); cacher != nil && session.Statement.UseCache { - session.cacheInsert(session.Statement.TableName()) + if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache { + session.cacheInsert(session.statement.TableName()) } lenAfterClosures := len(session.afterClosures) @@ -249,7 +248,7 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error elemValue := reflect.Indirect(sliceValue.Index(i)).Addr().Interface() // handle AfterInsertProcessor - if session.IsAutoCommit { + if session.isAutoCommit { // !nashtsai! does user expect it's same slice to passed closure when using Before()/After() when insert multi?? for _, closure := range session.afterClosures { closure(elemValue) @@ -280,8 +279,7 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error // InsertMulti insert multiple records func (session *Session) InsertMulti(rowsSlicePtr interface{}) (int64, error) { - defer session.resetStatement() - if session.IsAutoClose { + if session.isAutoClose { defer session.Close() } @@ -299,14 +297,14 @@ func (session *Session) InsertMulti(rowsSlicePtr interface{}) (int64, error) { } func (session *Session) innerInsert(bean interface{}) (int64, error) { - if err := session.Statement.setRefValue(rValue(bean)); err != nil { + if err := session.statement.setRefValue(rValue(bean)); err != nil { return 0, err } - if len(session.Statement.TableName()) <= 0 { + if len(session.statement.TableName()) <= 0 { return 0, ErrTableNotFound } - table := session.Statement.RefTable + table := session.statement.RefTable // handle BeforeInsertProcessor for _, closure := range session.beforeClosures { @@ -318,12 +316,12 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { processor.BeforeInsert() } // -- - colNames, args, err := genCols(session.Statement.RefTable, session, bean, false, false) + colNames, args, err := genCols(session.statement.RefTable, session, bean, false, false) if err != nil { return 0, err } // insert expr columns, override if exists - exprColumns := session.Statement.getExpr() + exprColumns := session.statement.getExpr() exprColVals := make([]string, 0, len(exprColumns)) for _, v := range exprColumns { // remove the expr columns @@ -351,21 +349,21 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { var sqlStr string if len(colPlaces) > 0 { sqlStr = fmt.Sprintf("INSERT INTO %s (%v%v%v) VALUES (%v)", - session.Engine.Quote(session.Statement.TableName()), - session.Engine.QuoteStr(), - strings.Join(colNames, session.Engine.Quote(", ")), - session.Engine.QuoteStr(), + session.engine.Quote(session.statement.TableName()), + session.engine.QuoteStr(), + strings.Join(colNames, session.engine.Quote(", ")), + session.engine.QuoteStr(), colPlaces) } else { - if session.Engine.dialect.DBType() == core.MYSQL { - sqlStr = fmt.Sprintf("INSERT INTO %s VALUES ()", session.Engine.Quote(session.Statement.TableName())) + if session.engine.dialect.DBType() == core.MYSQL { + sqlStr = fmt.Sprintf("INSERT INTO %s VALUES ()", session.engine.Quote(session.statement.TableName())) } else { - sqlStr = fmt.Sprintf("INSERT INTO %s DEFAULT VALUES", session.Engine.Quote(session.Statement.TableName())) + sqlStr = fmt.Sprintf("INSERT INTO %s DEFAULT VALUES", session.engine.Quote(session.statement.TableName())) } } handleAfterInsertProcessorFunc := func(bean interface{}) { - if session.IsAutoCommit { + if session.isAutoCommit { for _, closure := range session.afterClosures { closure(bean) } @@ -394,22 +392,22 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { // for postgres, many of them didn't implement lastInsertId, so we should // implemented it ourself. - if session.Engine.dialect.DBType() == core.ORACLE && len(table.AutoIncrement) > 0 { - res, err := session.query("select seq_atable.currval from dual", args...) + if session.engine.dialect.DBType() == core.ORACLE && len(table.AutoIncrement) > 0 { + res, err := session.queryBytes("select seq_atable.currval from dual", args...) if err != nil { return 0, err } handleAfterInsertProcessorFunc(bean) - if cacher := session.Engine.getCacher2(table); cacher != nil && session.Statement.UseCache { - session.cacheInsert(session.Statement.TableName()) + if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache { + session.cacheInsert(session.statement.TableName()) } - if table.Version != "" && session.Statement.checkVersion { + if table.Version != "" && session.statement.checkVersion { verValue, err := table.VersionColumn().ValueOf(bean) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) } else if verValue.IsValid() && verValue.CanSet() { verValue.SetInt(1) } @@ -427,7 +425,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { aiValue, err := table.AutoIncrColumn().ValueOf(bean) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) } if aiValue == nil || !aiValue.IsValid() || !aiValue.CanSet() { @@ -437,24 +435,24 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { aiValue.Set(int64ToIntValue(id, aiValue.Type())) return 1, nil - } else if session.Engine.dialect.DBType() == core.POSTGRES && len(table.AutoIncrement) > 0 { + } else if session.engine.dialect.DBType() == core.POSTGRES && len(table.AutoIncrement) > 0 { //assert table.AutoIncrement != "" - sqlStr = sqlStr + " RETURNING " + session.Engine.Quote(table.AutoIncrement) - res, err := session.query(sqlStr, args...) + sqlStr = sqlStr + " RETURNING " + session.engine.Quote(table.AutoIncrement) + res, err := session.queryBytes(sqlStr, args...) if err != nil { return 0, err } handleAfterInsertProcessorFunc(bean) - if cacher := session.Engine.getCacher2(table); cacher != nil && session.Statement.UseCache { - session.cacheInsert(session.Statement.TableName()) + if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache { + session.cacheInsert(session.statement.TableName()) } - if table.Version != "" && session.Statement.checkVersion { + if table.Version != "" && session.statement.checkVersion { verValue, err := table.VersionColumn().ValueOf(bean) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) } else if verValue.IsValid() && verValue.CanSet() { verValue.SetInt(1) } @@ -472,7 +470,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { aiValue, err := table.AutoIncrColumn().ValueOf(bean) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) } if aiValue == nil || !aiValue.IsValid() || !aiValue.CanSet() { @@ -490,14 +488,14 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { defer handleAfterInsertProcessorFunc(bean) - if cacher := session.Engine.getCacher2(table); cacher != nil && session.Statement.UseCache { - session.cacheInsert(session.Statement.TableName()) + if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache { + session.cacheInsert(session.statement.TableName()) } - if table.Version != "" && session.Statement.checkVersion { + if table.Version != "" && session.statement.checkVersion { verValue, err := table.VersionColumn().ValueOf(bean) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) } else if verValue.IsValid() && verValue.CanSet() { verValue.SetInt(1) } @@ -515,7 +513,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { aiValue, err := table.AutoIncrColumn().ValueOf(bean) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) } if aiValue == nil || !aiValue.IsValid() || !aiValue.CanSet() { @@ -532,8 +530,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { // The in parameter bean must a struct or a point to struct. The return // parameter is inserted and error func (session *Session) InsertOne(bean interface{}) (int64, error) { - defer session.resetStatement() - if session.IsAutoClose { + if session.isAutoClose { defer session.Close() } @@ -541,15 +538,15 @@ func (session *Session) InsertOne(bean interface{}) (int64, error) { } func (session *Session) cacheInsert(tables ...string) error { - if session.Statement.RefTable == nil { + if session.statement.RefTable == nil { return ErrCacheFailed } - table := session.Statement.RefTable - cacher := session.Engine.getCacher2(table) + table := session.statement.RefTable + cacher := session.engine.getCacher2(table) for _, t := range tables { - session.Engine.logger.Debug("[cache] clear sql:", t) + session.engine.logger.Debug("[cache] clear sql:", t) cacher.ClearIds(t) } diff --git a/vendor/github.com/go-xorm/xorm/session_iterate.go b/vendor/github.com/go-xorm/xorm/session_iterate.go index 7c14809..a2f957a 100644 --- a/vendor/github.com/go-xorm/xorm/session_iterate.go +++ b/vendor/github.com/go-xorm/xorm/session_iterate.go @@ -19,6 +19,10 @@ func (session *Session) Rows(bean interface{}) (*Rows, error) { // are conditions. beans could be []Struct, []*Struct, map[int64]Struct // map[int64]*Struct func (session *Session) Iterate(bean interface{}, fun IterFunc) error { + if session.isAutoClose { + defer session.Close() + } + rows, err := session.Rows(bean) if err != nil { return err diff --git a/vendor/github.com/go-xorm/xorm/session_pk_test.go b/vendor/github.com/go-xorm/xorm/session_pk_test.go index 0e17352..c919cd4 100644 --- a/vendor/github.com/go-xorm/xorm/session_pk_test.go +++ b/vendor/github.com/go-xorm/xorm/session_pk_test.go @@ -127,7 +127,7 @@ func TestIntId(t *testing.T) { panic(err) } - cnt, err = testEngine.Id(bean.Id).Delete(&IntId{}) + cnt, err = testEngine.ID(bean.Id).Delete(&IntId{}) if err != nil { t.Error(err) panic(err) @@ -202,7 +202,7 @@ func TestInt16Id(t *testing.T) { panic(err) } - cnt, err = testEngine.Id(bean.Id).Delete(&Int16Id{}) + cnt, err = testEngine.ID(bean.Id).Delete(&Int16Id{}) if err != nil { t.Error(err) panic(err) @@ -277,7 +277,7 @@ func TestInt32Id(t *testing.T) { panic(err) } - cnt, err = testEngine.Id(bean.Id).Delete(&Int32Id{}) + cnt, err = testEngine.ID(bean.Id).Delete(&Int32Id{}) if err != nil { t.Error(err) panic(err) @@ -366,7 +366,7 @@ func TestUintId(t *testing.T) { panic(err) } - cnt, err = testEngine.Id(bean.Id).Delete(&UintId{}) + cnt, err = testEngine.ID(bean.Id).Delete(&UintId{}) if err != nil { t.Error(err) panic(err) @@ -441,7 +441,7 @@ func TestUint16Id(t *testing.T) { panic(err) } - cnt, err = testEngine.Id(bean.Id).Delete(&Uint16Id{}) + cnt, err = testEngine.ID(bean.Id).Delete(&Uint16Id{}) if err != nil { t.Error(err) panic(err) @@ -516,7 +516,7 @@ func TestUint32Id(t *testing.T) { panic(err) } - cnt, err = testEngine.Id(bean.Id).Delete(&Uint32Id{}) + cnt, err = testEngine.ID(bean.Id).Delete(&Uint32Id{}) if err != nil { t.Error(err) panic(err) @@ -604,7 +604,7 @@ func TestUint64Id(t *testing.T) { panic(errors.New("should be equal")) } - cnt, err = testEngine.Id(bean.Id).Delete(&Uint64Id{}) + cnt, err = testEngine.ID(bean.Id).Delete(&Uint64Id{}) if err != nil { t.Error(err) panic(err) @@ -679,7 +679,7 @@ func TestStringPK(t *testing.T) { panic(err) } - cnt, err = testEngine.Id(bean.Id).Delete(&StringPK{}) + cnt, err = testEngine.ID(bean.Id).Delete(&StringPK{}) if err != nil { t.Error(err) panic(err) @@ -725,7 +725,7 @@ func TestCompositeKey(t *testing.T) { } var compositeKeyVal CompositeKey - has, err := testEngine.Id(core.PK{11, 22}).Get(&compositeKeyVal) + has, err := testEngine.ID(core.PK{11, 22}).Get(&compositeKeyVal) if err != nil { t.Error(err) } else if !has { @@ -734,7 +734,7 @@ func TestCompositeKey(t *testing.T) { var compositeKeyVal2 CompositeKey // test passing PK ptr, this test seem failed withCache - has, err = testEngine.Id(&core.PK{11, 22}).Get(&compositeKeyVal2) + has, err = testEngine.ID(&core.PK{11, 22}).Get(&compositeKeyVal2) if err != nil { t.Error(err) } else if !has { @@ -781,14 +781,14 @@ func TestCompositeKey(t *testing.T) { } compositeKeyVal = CompositeKey{UpdateStr: "test1"} - cnt, err = testEngine.Id(core.PK{11, 22}).Update(&compositeKeyVal) + cnt, err = testEngine.ID(core.PK{11, 22}).Update(&compositeKeyVal) if err != nil { t.Error(err) } else if cnt != 1 { t.Error(errors.New("can't update CompositeKey{11, 22}")) } - cnt, err = testEngine.Id(core.PK{11, 22}).Delete(&CompositeKey{}) + cnt, err = testEngine.ID(core.PK{11, 22}).Delete(&CompositeKey{}) if err != nil { t.Error(err) } else if cnt != 1 { @@ -832,7 +832,7 @@ func TestCompositeKey2(t *testing.T) { } var user User - has, err := testEngine.Id(core.PK{"11", 22}).Get(&user) + has, err := testEngine.ID(core.PK{"11", 22}).Get(&user) if err != nil { t.Error(err) } else if !has { @@ -840,7 +840,7 @@ func TestCompositeKey2(t *testing.T) { } // test passing PK ptr, this test seem failed withCache - has, err = testEngine.Id(&core.PK{"11", 22}).Get(&user) + has, err = testEngine.ID(&core.PK{"11", 22}).Get(&user) if err != nil { t.Error(err) } else if !has { @@ -848,14 +848,14 @@ func TestCompositeKey2(t *testing.T) { } user = User{NickName: "test1"} - cnt, err = testEngine.Id(core.PK{"11", 22}).Update(&user) + cnt, err = testEngine.ID(core.PK{"11", 22}).Update(&user) if err != nil { t.Error(err) } else if cnt != 1 { t.Error(errors.New("can't update User{11, 22}")) } - cnt, err = testEngine.Id(core.PK{"11", 22}).Delete(&User{}) + cnt, err = testEngine.ID(core.PK{"11", 22}).Delete(&User{}) if err != nil { t.Error(err) } else if cnt != 1 { @@ -900,7 +900,7 @@ func TestCompositeKey3(t *testing.T) { } var user UserPK2 - has, err := testEngine.Id(core.PK{"11", 22}).Get(&user) + has, err := testEngine.ID(core.PK{"11", 22}).Get(&user) if err != nil { t.Error(err) } else if !has { @@ -908,7 +908,7 @@ func TestCompositeKey3(t *testing.T) { } // test passing PK ptr, this test seem failed withCache - has, err = testEngine.Id(&core.PK{"11", 22}).Get(&user) + has, err = testEngine.ID(&core.PK{"11", 22}).Get(&user) if err != nil { t.Error(err) } else if !has { @@ -916,14 +916,14 @@ func TestCompositeKey3(t *testing.T) { } user = UserPK2{NickName: "test1"} - cnt, err = testEngine.Id(core.PK{"11", 22}).Update(&user) + cnt, err = testEngine.ID(core.PK{"11", 22}).Update(&user) if err != nil { t.Error(err) } else if cnt != 1 { t.Error(errors.New("can't update User{11, 22}")) } - cnt, err = testEngine.Id(core.PK{"11", 22}).Delete(&UserPK2{}) + cnt, err = testEngine.ID(core.PK{"11", 22}).Delete(&UserPK2{}) if err != nil { t.Error(err) } else if cnt != 1 { @@ -1007,7 +1007,7 @@ func TestMyIntId(t *testing.T) { panic(errors.New("should be equal")) } - cnt, err = testEngine.Id(bean.ID).Delete(&MyIntPK{}) + cnt, err = testEngine.ID(bean.ID).Delete(&MyIntPK{}) if err != nil { t.Error(err) panic(err) @@ -1095,7 +1095,7 @@ func TestMyStringId(t *testing.T) { panic(errors.New("should be equal")) } - cnt, err = testEngine.Id(bean.ID).Delete(&MyStringPK{}) + cnt, err = testEngine.ID(bean.ID).Delete(&MyStringPK{}) if err != nil { t.Error(err) panic(err) diff --git a/vendor/github.com/go-xorm/xorm/session_raw.go b/vendor/github.com/go-xorm/xorm/session_raw.go index b44b1cd..46d0eba 100644 --- a/vendor/github.com/go-xorm/xorm/session_raw.go +++ b/vendor/github.com/go-xorm/xorm/session_raw.go @@ -6,77 +6,77 @@ package xorm import ( "database/sql" - "fmt" "reflect" - "strconv" "time" "github.com/go-xorm/core" ) -func (session *Session) query(sqlStr string, paramStr ...interface{}) ([]map[string][]byte, error) { - session.queryPreprocess(&sqlStr, paramStr...) - - if session.IsAutoCommit { - return session.innerQuery2(sqlStr, paramStr...) +func (session *Session) queryPreprocess(sqlStr *string, paramStr ...interface{}) { + for _, filter := range session.engine.dialect.Filters() { + *sqlStr = filter.Do(*sqlStr, session.engine.dialect, session.statement.RefTable) } - return session.txQuery(session.Tx, sqlStr, paramStr...) + + session.lastSQL = *sqlStr + session.lastSQLArgs = paramStr } -func (session *Session) txQuery(tx *core.Tx, sqlStr string, params ...interface{}) ([]map[string][]byte, error) { - rows, err := tx.Query(sqlStr, params...) - if err != nil { - return nil, err +func (session *Session) queryRows(sqlStr string, args ...interface{}) (*core.Rows, error) { + defer session.resetStatement() + + session.queryPreprocess(&sqlStr, args...) + + if session.engine.showSQL { + if session.engine.showExecTime { + b4ExecTime := time.Now() + defer func() { + execDuration := time.Since(b4ExecTime) + if len(args) > 0 { + session.engine.logger.Infof("[SQL] %s %#v - took: %v", sqlStr, args, execDuration) + } else { + session.engine.logger.Infof("[SQL] %s - took: %v", sqlStr, execDuration) + } + }() + } else { + if len(args) > 0 { + session.engine.logger.Infof("[SQL] %v %#v", sqlStr, args) + } else { + session.engine.logger.Infof("[SQL] %v", sqlStr) + } + } } - defer rows.Close() - return rows2maps(rows) -} - -func (session *Session) innerQuery(sqlStr string, params ...interface{}) (*core.Stmt, *core.Rows, error) { - var callback func() (*core.Stmt, *core.Rows, error) - if session.prepareStmt { - callback = func() (*core.Stmt, *core.Rows, error) { + if session.isAutoCommit { + if session.prepareStmt { + // don't clear stmt since session will cache them stmt, err := session.doPrepare(sqlStr) if err != nil { - return nil, nil, err + return nil, err } - rows, err := stmt.Query(params...) - if err != nil { - return nil, nil, err - } - return stmt, rows, nil - } - } else { - callback = func() (*core.Stmt, *core.Rows, error) { - rows, err := session.DB().Query(sqlStr, params...) - if err != nil { - return nil, nil, err - } - return nil, rows, err - } - } - stmt, rows, err := session.Engine.logSQLQueryTime(sqlStr, params, callback) - if err != nil { - return nil, nil, err - } - return stmt, rows, nil -} -func rows2maps(rows *core.Rows) (resultsSlice []map[string][]byte, err error) { - fields, err := rows.Columns() - if err != nil { - return nil, err - } - for rows.Next() { - result, err := row2map(rows, fields) + rows, err := stmt.Query(args...) + if err != nil { + return nil, err + } + return rows, nil + } + + rows, err := session.DB().Query(sqlStr, args...) if err != nil { return nil, err } - resultsSlice = append(resultsSlice, result) + return rows, nil } - return resultsSlice, nil + rows, err := session.tx.Query(sqlStr, args...) + if err != nil { + return nil, err + } + return rows, nil +} + +func (session *Session) queryRow(sqlStr string, args ...interface{}) *core.Row { + return core.NewRow(session.queryRows(sqlStr, args...)) } func value2Bytes(rawValue *reflect.Value) (data []byte, err error) { @@ -104,7 +104,7 @@ func row2map(rows *core.Rows, fields []string) (resultsMap map[string][]byte, er rawValue := reflect.Indirect(reflect.ValueOf(scanResultContainers[ii])) //if row is null then ignore if rawValue.Interface() == nil { - //fmt.Println("ignore ...", key, rawValue) + result[key] = []byte{} continue } @@ -117,34 +117,13 @@ func row2map(rows *core.Rows, fields []string) (resultsMap map[string][]byte, er return result, nil } -func (session *Session) innerQuery2(sqlStr string, params ...interface{}) ([]map[string][]byte, error) { - _, rows, err := session.innerQuery(sqlStr, params...) - if rows != nil { - defer rows.Close() - } - if err != nil { - return nil, err - } - return rows2maps(rows) -} - -// Query runs a raw sql and return records as []map[string][]byte -func (session *Session) Query(sqlStr string, paramStr ...interface{}) ([]map[string][]byte, error) { - defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } - - return session.query(sqlStr, paramStr...) -} - -func rows2Strings(rows *core.Rows) (resultsSlice []map[string]string, err error) { +func rows2maps(rows *core.Rows) (resultsSlice []map[string][]byte, err error) { fields, err := rows.Columns() if err != nil { return nil, err } for rows.Next() { - result, err := row2mapStr(rows, fields) + result, err := row2map(rows, fields) if err != nil { return nil, err } @@ -154,122 +133,45 @@ func rows2Strings(rows *core.Rows) (resultsSlice []map[string]string, err error) return resultsSlice, nil } -func reflect2value(rawValue *reflect.Value) (str string, err error) { - aa := reflect.TypeOf((*rawValue).Interface()) - vv := reflect.ValueOf((*rawValue).Interface()) - switch aa.Kind() { - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - str = strconv.FormatInt(vv.Int(), 10) - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: - str = strconv.FormatUint(vv.Uint(), 10) - case reflect.Float32, reflect.Float64: - str = strconv.FormatFloat(vv.Float(), 'f', -1, 64) - case reflect.String: - str = vv.String() - case reflect.Array, reflect.Slice: - switch aa.Elem().Kind() { - case reflect.Uint8: - data := rawValue.Interface().([]byte) - str = string(data) - default: - err = fmt.Errorf("Unsupported struct type %v", vv.Type().Name()) - } - // time type - case reflect.Struct: - if aa.ConvertibleTo(core.TimeType) { - str = vv.Convert(core.TimeType).Interface().(time.Time).Format(time.RFC3339Nano) - } else { - err = fmt.Errorf("Unsupported struct type %v", vv.Type().Name()) - } - case reflect.Bool: - str = strconv.FormatBool(vv.Bool()) - case reflect.Complex128, reflect.Complex64: - str = fmt.Sprintf("%v", vv.Complex()) - /* TODO: unsupported types below - case reflect.Map: - case reflect.Ptr: - case reflect.Uintptr: - case reflect.UnsafePointer: - case reflect.Chan, reflect.Func, reflect.Interface: - */ - default: - err = fmt.Errorf("Unsupported struct type %v", vv.Type().Name()) - } - return -} - -func value2String(rawValue *reflect.Value) (data string, err error) { - data, err = reflect2value(rawValue) - if err != nil { - return - } - return -} - -func row2mapStr(rows *core.Rows, fields []string) (resultsMap map[string]string, err error) { - result := make(map[string]string) - scanResultContainers := make([]interface{}, len(fields)) - for i := 0; i < len(fields); i++ { - var scanResultContainer interface{} - scanResultContainers[i] = &scanResultContainer - } - if err := rows.Scan(scanResultContainers...); err != nil { - return nil, err - } - - for ii, key := range fields { - rawValue := reflect.Indirect(reflect.ValueOf(scanResultContainers[ii])) - //if row is null then ignore - if rawValue.Interface() == nil { - //fmt.Println("ignore ...", key, rawValue) - continue - } - - if data, err := value2String(&rawValue); err == nil { - result[key] = data - } else { - return nil, err // !nashtsai! REVIEW, should return err or just error log? - } - } - return result, nil -} - -func txQuery2(tx *core.Tx, sqlStr string, params ...interface{}) ([]map[string]string, error) { - rows, err := tx.Query(sqlStr, params...) +func (session *Session) queryBytes(sqlStr string, args ...interface{}) ([]map[string][]byte, error) { + rows, err := session.queryRows(sqlStr, args...) if err != nil { return nil, err } defer rows.Close() - return rows2Strings(rows) + return rows2maps(rows) } -func query2(db *core.DB, sqlStr string, params ...interface{}) ([]map[string]string, error) { - rows, err := db.Query(sqlStr, params...) - if err != nil { - return nil, err - } - defer rows.Close() - return rows2Strings(rows) -} - -// QueryString runs a raw sql and return records as []map[string]string -func (session *Session) QueryString(sqlStr string, args ...interface{}) ([]map[string]string, error) { +func (session *Session) exec(sqlStr string, args ...interface{}) (sql.Result, error) { defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } session.queryPreprocess(&sqlStr, args...) - if session.IsAutoCommit { - return query2(session.DB(), sqlStr, args...) + if session.engine.showSQL { + if session.engine.showExecTime { + b4ExecTime := time.Now() + defer func() { + execDuration := time.Since(b4ExecTime) + if len(args) > 0 { + session.engine.logger.Infof("[SQL] %s %#v - took: %v", sqlStr, args, execDuration) + } else { + session.engine.logger.Infof("[SQL] %s - took: %v", sqlStr, execDuration) + } + }() + } else { + if len(args) > 0 { + session.engine.logger.Infof("[SQL] %v %#v", sqlStr, args) + } else { + session.engine.logger.Infof("[SQL] %v", sqlStr) + } + } + } + + if !session.isAutoCommit { + return session.tx.Exec(sqlStr, args...) } - return txQuery2(session.Tx, sqlStr, args...) -} -// Execute sql -func (session *Session) innerExec(sqlStr string, args ...interface{}) (sql.Result, error) { if session.prepareStmt { stmt, err := session.doPrepare(sqlStr) if err != nil { @@ -286,33 +188,9 @@ func (session *Session) innerExec(sqlStr string, args ...interface{}) (sql.Resul return session.DB().Exec(sqlStr, args...) } -func (session *Session) exec(sqlStr string, args ...interface{}) (sql.Result, error) { - for _, filter := range session.Engine.dialect.Filters() { - // TODO: for table name, it's no need to RefTable - sqlStr = filter.Do(sqlStr, session.Engine.dialect, session.Statement.RefTable) - } - - session.saveLastSQL(sqlStr, args...) - - return session.Engine.logSQLExecutionTime(sqlStr, args, func() (sql.Result, error) { - if session.IsAutoCommit { - // FIXME: oci8 can not auto commit (github.com/mattn/go-oci8) - if session.Engine.dialect.DBType() == core.ORACLE { - session.Begin() - r, err := session.Tx.Exec(sqlStr, args...) - session.Commit() - return r, err - } - return session.innerExec(sqlStr, args...) - } - return session.Tx.Exec(sqlStr, args...) - }) -} - // Exec raw sql func (session *Session) Exec(sqlStr string, args ...interface{}) (sql.Result, error) { - defer session.resetStatement() - if session.IsAutoClose { + if session.isAutoClose { defer session.Close() } diff --git a/vendor/github.com/go-xorm/xorm/session_raw_test.go b/vendor/github.com/go-xorm/xorm/session_raw_test.go index 1f2145b..cf38197 100644 --- a/vendor/github.com/go-xorm/xorm/session_raw_test.go +++ b/vendor/github.com/go-xorm/xorm/session_raw_test.go @@ -7,42 +7,10 @@ package xorm import ( "strconv" "testing" - "time" "github.com/stretchr/testify/assert" ) -func TestQueryString(t *testing.T) { - assert.NoError(t, prepareEngine()) - - type GetVar struct { - Id int64 `xorm:"autoincr pk"` - Msg string `xorm:"varchar(255)"` - Age int - Money float32 - Created time.Time `xorm:"created"` - } - - assert.NoError(t, testEngine.Sync2(new(GetVar))) - - var data = GetVar{ - Msg: "hi", - Age: 28, - Money: 1.5, - } - _, err := testEngine.InsertOne(data) - assert.NoError(t, err) - - records, err := testEngine.QueryString("select * from get_var") - assert.NoError(t, err) - assert.Equal(t, 1, len(records)) - assert.Equal(t, 5, len(records[0])) - assert.Equal(t, "1", records[0]["id"]) - assert.Equal(t, "hi", records[0]["msg"]) - assert.Equal(t, "28", records[0]["age"]) - assert.Equal(t, "1.5", records[0]["money"]) -} - func TestQuery(t *testing.T) { assert.NoError(t, prepareEngine()) diff --git a/vendor/github.com/go-xorm/xorm/session_schema.go b/vendor/github.com/go-xorm/xorm/session_schema.go index 215efb8..a2708b7 100644 --- a/vendor/github.com/go-xorm/xorm/session_schema.go +++ b/vendor/github.com/go-xorm/xorm/session_schema.go @@ -16,42 +16,50 @@ import ( // Ping test if database is ok func (session *Session) Ping() error { - defer session.resetStatement() - if session.IsAutoClose { + if session.isAutoClose { defer session.Close() } + session.engine.logger.Infof("PING DATABASE %v", session.engine.DriverName()) return session.DB().Ping() } // CreateTable create a table according a bean func (session *Session) CreateTable(bean interface{}) error { - v := rValue(bean) - if err := session.Statement.setRefValue(v); err != nil { - return err - } - - defer session.resetStatement() - if session.IsAutoClose { + if session.isAutoClose { defer session.Close() } - return session.createOneTable() + return session.createTable(bean) +} + +func (session *Session) createTable(bean interface{}) error { + v := rValue(bean) + if err := session.statement.setRefValue(v); err != nil { + return err + } + + sqlStr := session.statement.genCreateTableSQL() + _, err := session.exec(sqlStr) + return err } // CreateIndexes create indexes func (session *Session) CreateIndexes(bean interface{}) error { - v := rValue(bean) - if err := session.Statement.setRefValue(v); err != nil { - return err - } - - defer session.resetStatement() - if session.IsAutoClose { + if session.isAutoClose { defer session.Close() } - sqls := session.Statement.genIndexSQL() + return session.createIndexes(bean) +} + +func (session *Session) createIndexes(bean interface{}) error { + v := rValue(bean) + if err := session.statement.setRefValue(v); err != nil { + return err + } + + sqls := session.statement.genIndexSQL() for _, sqlStr := range sqls { _, err := session.exec(sqlStr) if err != nil { @@ -63,17 +71,19 @@ func (session *Session) CreateIndexes(bean interface{}) error { // CreateUniques create uniques func (session *Session) CreateUniques(bean interface{}) error { + if session.isAutoClose { + defer session.Close() + } + return session.createUniques(bean) +} + +func (session *Session) createUniques(bean interface{}) error { v := rValue(bean) - if err := session.Statement.setRefValue(v); err != nil { + if err := session.statement.setRefValue(v); err != nil { return err } - defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } - - sqls := session.Statement.genUniqueSQL() + sqls := session.statement.genUniqueSQL() for _, sqlStr := range sqls { _, err := session.exec(sqlStr) if err != nil { @@ -83,25 +93,22 @@ func (session *Session) CreateUniques(bean interface{}) error { return nil } -func (session *Session) createOneTable() error { - sqlStr := session.Statement.genCreateTableSQL() - _, err := session.exec(sqlStr) - return err -} - // DropIndexes drop indexes func (session *Session) DropIndexes(bean interface{}) error { - v := rValue(bean) - if err := session.Statement.setRefValue(v); err != nil { - return err - } - - defer session.resetStatement() - if session.IsAutoClose { + if session.isAutoClose { defer session.Close() } - sqls := session.Statement.genDelIndexSQL() + return session.dropIndexes(bean) +} + +func (session *Session) dropIndexes(bean interface{}) error { + v := rValue(bean) + if err := session.statement.setRefValue(v); err != nil { + return err + } + + sqls := session.statement.genDelIndexSQL() for _, sqlStr := range sqls { _, err := session.exec(sqlStr) if err != nil { @@ -113,15 +120,23 @@ func (session *Session) DropIndexes(bean interface{}) error { // DropTable drop table will drop table if exist, if drop failed, it will return error func (session *Session) DropTable(beanOrTableName interface{}) error { - tableName, err := session.Engine.tableName(beanOrTableName) + if session.isAutoClose { + defer session.Close() + } + + return session.dropTable(beanOrTableName) +} + +func (session *Session) dropTable(beanOrTableName interface{}) error { + tableName, err := session.engine.tableName(beanOrTableName) if err != nil { return err } var needDrop = true - if !session.Engine.dialect.SupportDropIfExists() { - sqlStr, args := session.Engine.dialect.TableCheckSql(tableName) - results, err := session.query(sqlStr, args...) + if !session.engine.dialect.SupportDropIfExists() { + sqlStr, args := session.engine.dialect.TableCheckSql(tableName) + results, err := session.queryBytes(sqlStr, args...) if err != nil { return err } @@ -129,7 +144,7 @@ func (session *Session) DropTable(beanOrTableName interface{}) error { } if needDrop { - sqlStr := session.Engine.Dialect().DropTableSql(tableName) + sqlStr := session.engine.Dialect().DropTableSql(tableName) _, err = session.exec(sqlStr) return err } @@ -138,7 +153,11 @@ func (session *Session) DropTable(beanOrTableName interface{}) error { // IsTableExist if a table is exist func (session *Session) IsTableExist(beanOrTableName interface{}) (bool, error) { - tableName, err := session.Engine.tableName(beanOrTableName) + if session.isAutoClose { + defer session.Close() + } + + tableName, err := session.engine.tableName(beanOrTableName) if err != nil { return false, err } @@ -147,12 +166,8 @@ func (session *Session) IsTableExist(beanOrTableName interface{}) (bool, error) } func (session *Session) isTableExist(tableName string) (bool, error) { - defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } - sqlStr, args := session.Engine.dialect.TableCheckSql(tableName) - results, err := session.query(sqlStr, args...) + sqlStr, args := session.engine.dialect.TableCheckSql(tableName) + results, err := session.queryBytes(sqlStr, args...) return len(results) > 0, err } @@ -162,6 +177,9 @@ func (session *Session) IsTableEmpty(bean interface{}) (bool, error) { t := v.Type() if t.Kind() == reflect.String { + if session.isAutoClose { + defer session.Close() + } return session.isTableEmpty(bean.(string)) } else if t.Kind() == reflect.Struct { rows, err := session.Count(bean) @@ -171,15 +189,9 @@ func (session *Session) IsTableEmpty(bean interface{}) (bool, error) { } func (session *Session) isTableEmpty(tableName string) (bool, error) { - defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } - var total int64 - sqlStr := fmt.Sprintf("select count(*) from %s", session.Engine.Quote(tableName)) - err := session.DB().QueryRow(sqlStr).Scan(&total) - session.saveLastSQL(sqlStr) + sqlStr := fmt.Sprintf("select count(*) from %s", session.engine.Quote(tableName)) + err := session.queryRow(sqlStr).Scan(&total) if err != nil { if err == sql.ErrNoRows { err = nil @@ -192,12 +204,7 @@ func (session *Session) isTableEmpty(tableName string) (bool, error) { // find if index is exist according cols func (session *Session) isIndexExist2(tableName string, cols []string, unique bool) (bool, error) { - defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } - - indexes, err := session.Engine.dialect.GetIndexes(tableName) + indexes, err := session.engine.dialect.GetIndexes(tableName) if err != nil { return false, err } @@ -214,43 +221,34 @@ func (session *Session) isIndexExist2(tableName string, cols []string, unique bo } func (session *Session) addColumn(colName string) error { - defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } - - col := session.Statement.RefTable.GetColumn(colName) - sql, args := session.Statement.genAddColumnStr(col) + col := session.statement.RefTable.GetColumn(colName) + sql, args := session.statement.genAddColumnStr(col) _, err := session.exec(sql, args...) return err } func (session *Session) addIndex(tableName, idxName string) error { - defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } - index := session.Statement.RefTable.Indexes[idxName] - sqlStr := session.Engine.dialect.CreateIndexSql(tableName, index) - + index := session.statement.RefTable.Indexes[idxName] + sqlStr := session.engine.dialect.CreateIndexSql(tableName, index) _, err := session.exec(sqlStr) return err } func (session *Session) addUnique(tableName, uqeName string) error { - defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } - index := session.Statement.RefTable.Indexes[uqeName] - sqlStr := session.Engine.dialect.CreateIndexSql(tableName, index) + index := session.statement.RefTable.Indexes[uqeName] + sqlStr := session.engine.dialect.CreateIndexSql(tableName, index) _, err := session.exec(sqlStr) return err } // Sync2 synchronize structs to database tables func (session *Session) Sync2(beans ...interface{}) error { - engine := session.Engine + engine := session.engine + + if session.isAutoClose { + session.isAutoClose = false + defer session.Close() + } tables, err := engine.DBMetas() if err != nil { @@ -277,17 +275,17 @@ func (session *Session) Sync2(beans ...interface{}) error { } if oriTable == nil { - err = session.StoreEngine(session.Statement.StoreEngine).CreateTable(bean) + err = session.StoreEngine(session.statement.StoreEngine).createTable(bean) if err != nil { return err } - err = session.CreateUniques(bean) + err = session.createUniques(bean) if err != nil { return err } - err = session.CreateIndexes(bean) + err = session.createIndexes(bean) if err != nil { return err } @@ -312,7 +310,7 @@ func (session *Session) Sync2(beans ...interface{}) error { engine.dialect.DBType() == core.POSTGRES { engine.logger.Infof("Table %s column %s change type from %s to %s\n", tbName, col.Name, curType, expectedType) - _, err = engine.Exec(engine.dialect.ModifyColumnSql(table.Name, col)) + _, err = session.exec(engine.dialect.ModifyColumnSql(table.Name, col)) } else { engine.logger.Warnf("Table %s column %s db type is %s, struct type is %s\n", tbName, col.Name, curType, expectedType) @@ -322,7 +320,7 @@ func (session *Session) Sync2(beans ...interface{}) error { if oriCol.Length < col.Length { engine.logger.Infof("Table %s column %s change type from varchar(%d) to varchar(%d)\n", tbName, col.Name, oriCol.Length, col.Length) - _, err = engine.Exec(engine.dialect.ModifyColumnSql(table.Name, col)) + _, err = session.exec(engine.dialect.ModifyColumnSql(table.Name, col)) } } } else { @@ -336,7 +334,7 @@ func (session *Session) Sync2(beans ...interface{}) error { if oriCol.Length < col.Length { engine.logger.Infof("Table %s column %s change type from varchar(%d) to varchar(%d)\n", tbName, col.Name, oriCol.Length, col.Length) - _, err = engine.Exec(engine.dialect.ModifyColumnSql(table.Name, col)) + _, err = session.exec(engine.dialect.ModifyColumnSql(table.Name, col)) } } } @@ -349,10 +347,8 @@ func (session *Session) Sync2(beans ...interface{}) error { tbName, col.Name, oriCol.Nullable, col.Nullable) } } else { - session := engine.NewSession() - session.Statement.RefTable = table - session.Statement.tableName = tbName - defer session.Close() + session.statement.RefTable = table + session.statement.tableName = tbName err = session.addColumn(col.Name) } if err != nil { @@ -376,7 +372,7 @@ func (session *Session) Sync2(beans ...interface{}) error { if oriIndex != nil { if oriIndex.Type != index.Type { sql := engine.dialect.DropIndexSql(tbName, oriIndex) - _, err = engine.Exec(sql) + _, err = session.exec(sql) if err != nil { return err } @@ -392,7 +388,7 @@ func (session *Session) Sync2(beans ...interface{}) error { for name2, index2 := range oriTable.Indexes { if _, ok := foundIndexNames[name2]; !ok { sql := engine.dialect.DropIndexSql(tbName, index2) - _, err = engine.Exec(sql) + _, err = session.exec(sql) if err != nil { return err } @@ -401,16 +397,12 @@ func (session *Session) Sync2(beans ...interface{}) error { for name, index := range addedNames { if index.Type == core.UniqueType { - session := engine.NewSession() - session.Statement.RefTable = table - session.Statement.tableName = tbName - defer session.Close() + session.statement.RefTable = table + session.statement.tableName = tbName err = session.addUnique(tbName, name) } else if index.Type == core.IndexType { - session := engine.NewSession() - session.Statement.RefTable = table - session.Statement.tableName = tbName - defer session.Close() + session.statement.RefTable = table + session.statement.tableName = tbName err = session.addIndex(tbName, name) } if err != nil { diff --git a/vendor/github.com/go-xorm/xorm/session_sum.go b/vendor/github.com/go-xorm/xorm/session_sum.go deleted file mode 100644 index 2d5ba6b..0000000 --- a/vendor/github.com/go-xorm/xorm/session_sum.go +++ /dev/null @@ -1,187 +0,0 @@ -// Copyright 2016 The Xorm 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 xorm - -import "database/sql" - -// Count counts the records. bean's non-empty fields -// are conditions. -func (session *Session) Count(bean ...interface{}) (int64, error) { - defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } - - var sqlStr string - var args []interface{} - var err error - if session.Statement.RawSQL == "" { - if len(bean) == 0 { - return 0, ErrTableNotFound - } - sqlStr, args, err = session.Statement.genCountSQL(bean[0]) - if err != nil { - return 0, err - } - } else { - sqlStr = session.Statement.RawSQL - args = session.Statement.RawParams - } - - session.queryPreprocess(&sqlStr, args...) - - var total int64 - if session.IsAutoCommit { - err = session.DB().QueryRow(sqlStr, args...).Scan(&total) - } else { - err = session.Tx.QueryRow(sqlStr, args...).Scan(&total) - } - - if err == sql.ErrNoRows || err == nil { - return total, nil - } - - return 0, err -} - -// Sum call sum some column. bean's non-empty fields are conditions. -func (session *Session) Sum(bean interface{}, columnName string) (float64, error) { - defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } - - var sqlStr string - var args []interface{} - var err error - if len(session.Statement.RawSQL) == 0 { - sqlStr, args, err = session.Statement.genSumSQL(bean, columnName) - if err != nil { - return 0, err - } - } else { - sqlStr = session.Statement.RawSQL - args = session.Statement.RawParams - } - - session.queryPreprocess(&sqlStr, args...) - - var res float64 - if session.IsAutoCommit { - err = session.DB().QueryRow(sqlStr, args...).Scan(&res) - } else { - err = session.Tx.QueryRow(sqlStr, args...).Scan(&res) - } - - if err == sql.ErrNoRows || err == nil { - return res, nil - } - return 0, err -} - -// SumInt call sum some column. bean's non-empty fields are conditions. -func (session *Session) SumInt(bean interface{}, columnName string) (int64, error) { - defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } - - var sqlStr string - var args []interface{} - var err error - if len(session.Statement.RawSQL) == 0 { - sqlStr, args, err = session.Statement.genSumSQL(bean, columnName) - if err != nil { - return 0, err - } - } else { - sqlStr = session.Statement.RawSQL - args = session.Statement.RawParams - } - - session.queryPreprocess(&sqlStr, args...) - - var res int64 - if session.IsAutoCommit { - err = session.DB().QueryRow(sqlStr, args...).Scan(&res) - } else { - err = session.Tx.QueryRow(sqlStr, args...).Scan(&res) - } - - if err == sql.ErrNoRows || err == nil { - return res, nil - } - return 0, err -} - -// Sums call sum some columns. bean's non-empty fields are conditions. -func (session *Session) Sums(bean interface{}, columnNames ...string) ([]float64, error) { - defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } - - var sqlStr string - var args []interface{} - var err error - if len(session.Statement.RawSQL) == 0 { - sqlStr, args, err = session.Statement.genSumSQL(bean, columnNames...) - if err != nil { - return nil, err - } - } else { - sqlStr = session.Statement.RawSQL - args = session.Statement.RawParams - } - - session.queryPreprocess(&sqlStr, args...) - - var res = make([]float64, len(columnNames), len(columnNames)) - if session.IsAutoCommit { - err = session.DB().QueryRow(sqlStr, args...).ScanSlice(&res) - } else { - err = session.Tx.QueryRow(sqlStr, args...).ScanSlice(&res) - } - - if err == sql.ErrNoRows || err == nil { - return res, nil - } - return nil, err -} - -// SumsInt sum specify columns and return as []int64 instead of []float64 -func (session *Session) SumsInt(bean interface{}, columnNames ...string) ([]int64, error) { - defer session.resetStatement() - if session.IsAutoClose { - defer session.Close() - } - - var sqlStr string - var args []interface{} - var err error - if len(session.Statement.RawSQL) == 0 { - sqlStr, args, err = session.Statement.genSumSQL(bean, columnNames...) - if err != nil { - return nil, err - } - } else { - sqlStr = session.Statement.RawSQL - args = session.Statement.RawParams - } - - session.queryPreprocess(&sqlStr, args...) - - var res = make([]int64, len(columnNames), len(columnNames)) - if session.IsAutoCommit { - err = session.DB().QueryRow(sqlStr, args...).ScanSlice(&res) - } else { - err = session.Tx.QueryRow(sqlStr, args...).ScanSlice(&res) - } - - if err == sql.ErrNoRows || err == nil { - return res, nil - } - return nil, err -} diff --git a/vendor/github.com/go-xorm/xorm/session_sum_test.go b/vendor/github.com/go-xorm/xorm/session_sum_test.go deleted file mode 100644 index 2d2ad9b..0000000 --- a/vendor/github.com/go-xorm/xorm/session_sum_test.go +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2017 The Xorm 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 xorm - -import ( - "fmt" - "strconv" - "testing" - - "github.com/go-xorm/builder" - "github.com/stretchr/testify/assert" -) - -func isFloatEq(i, j float64, precision int) bool { - return fmt.Sprintf("%."+strconv.Itoa(precision)+"f", i) == fmt.Sprintf("%."+strconv.Itoa(precision)+"f", j) -} - -func TestSum(t *testing.T) { - assert.NoError(t, prepareEngine()) - - type SumStruct struct { - Int int - Float float32 - } - - var ( - cases = []SumStruct{ - {1, 6.2}, - {2, 5.3}, - {92, -0.2}, - } - ) - - var i int - var f float32 - for _, v := range cases { - i += v.Int - f += v.Float - } - - assert.NoError(t, testEngine.Sync2(new(SumStruct))) - - cnt, err := testEngine.Insert(cases) - assert.NoError(t, err) - assert.EqualValues(t, 3, cnt) - - colInt := testEngine.ColumnMapper.Obj2Table("Int") - colFloat := testEngine.ColumnMapper.Obj2Table("Float") - - sumInt, err := testEngine.Sum(new(SumStruct), colInt) - assert.NoError(t, err) - assert.EqualValues(t, int(sumInt), i) - - sumFloat, err := testEngine.Sum(new(SumStruct), colFloat) - assert.NoError(t, err) - assert.Condition(t, func() bool { - return isFloatEq(sumFloat, float64(f), 2) - }) - - sums, err := testEngine.Sums(new(SumStruct), colInt, colFloat) - assert.NoError(t, err) - assert.EqualValues(t, 2, len(sums)) - assert.EqualValues(t, i, int(sums[0])) - assert.Condition(t, func() bool { - return isFloatEq(sums[1], float64(f), 2) - }) - - sumsInt, err := testEngine.SumsInt(new(SumStruct), colInt) - assert.NoError(t, err) - assert.EqualValues(t, 1, len(sumsInt)) - assert.EqualValues(t, i, int(sumsInt[0])) -} - -func TestSumCustomColumn(t *testing.T) { - assert.NoError(t, prepareEngine()) - - type SumStruct struct { - Int int - Float float32 - } - - var ( - cases = []SumStruct{ - {1, 6.2}, - {2, 5.3}, - {92, -0.2}, - } - ) - - assert.NoError(t, testEngine.Sync2(new(SumStruct))) - - cnt, err := testEngine.Insert(cases) - assert.NoError(t, err) - assert.EqualValues(t, 3, cnt) - - sumInt, err := testEngine.Sum(new(SumStruct), - "CASE WHEN `int` <= 2 THEN `int` ELSE 0 END") - assert.NoError(t, err) - assert.EqualValues(t, 3, int(sumInt)) -} - -func TestCount(t *testing.T) { - assert.NoError(t, prepareEngine()) - - type UserinfoCount struct { - Departname string - } - assert.NoError(t, testEngine.Sync2(new(UserinfoCount))) - - colName := testEngine.ColumnMapper.Obj2Table("Departname") - var cond builder.Cond = builder.Eq{ - "`" + colName + "`": "dev", - } - - total, err := testEngine.Where(cond).Count(new(UserinfoCount)) - assert.NoError(t, err) - assert.EqualValues(t, 0, total) - - cnt, err := testEngine.Insert(&UserinfoCount{ - Departname: "dev", - }) - assert.NoError(t, err) - assert.EqualValues(t, 1, cnt) - - total, err = testEngine.Where(cond).Count(new(UserinfoCount)) - assert.NoError(t, err) - assert.EqualValues(t, 1, total) -} - -func TestSQLCount(t *testing.T) { - assert.NoError(t, prepareEngine()) - - type UserinfoCount2 struct { - Id int64 - Departname string - } - - type UserinfoBooks struct { - Id int64 - Pid int64 - IsOpen bool - } - - assertSync(t, new(UserinfoCount2), new(UserinfoBooks)) - - total, err := testEngine.SQL("SELECT count(id) FROM userinfo_count2"). - Count() - assert.NoError(t, err) - assert.EqualValues(t, 0, total) -} diff --git a/vendor/github.com/go-xorm/xorm/session_tx.go b/vendor/github.com/go-xorm/xorm/session_tx.go index 302bc10..84d2f7f 100644 --- a/vendor/github.com/go-xorm/xorm/session_tx.go +++ b/vendor/github.com/go-xorm/xorm/session_tx.go @@ -6,14 +6,14 @@ package xorm // Begin a transaction func (session *Session) Begin() error { - if session.IsAutoCommit { + if session.isAutoCommit { tx, err := session.DB().Begin() if err != nil { return err } - session.IsAutoCommit = false - session.IsCommitedOrRollbacked = false - session.Tx = tx + session.isAutoCommit = false + session.isCommitedOrRollbacked = false + session.tx = tx session.saveLastSQL("BEGIN TRANSACTION") } return nil @@ -21,25 +21,23 @@ func (session *Session) Begin() error { // Rollback When using transaction, you can rollback if any error func (session *Session) Rollback() error { - if !session.IsAutoCommit && !session.IsCommitedOrRollbacked { - session.saveLastSQL(session.Engine.dialect.RollBackStr()) - session.IsCommitedOrRollbacked = true - return session.Tx.Rollback() + if !session.isAutoCommit && !session.isCommitedOrRollbacked { + session.saveLastSQL(session.engine.dialect.RollBackStr()) + session.isCommitedOrRollbacked = true + return session.tx.Rollback() } return nil } // Commit When using transaction, Commit will commit all operations. func (session *Session) Commit() error { - if !session.IsAutoCommit && !session.IsCommitedOrRollbacked { + if !session.isAutoCommit && !session.isCommitedOrRollbacked { session.saveLastSQL("COMMIT") - session.IsCommitedOrRollbacked = true + session.isCommitedOrRollbacked = true var err error - if err = session.Tx.Commit(); err == nil { + if err = session.tx.Commit(); err == nil { // handle processors after tx committed - closureCallFunc := func(closuresPtr *[]func(interface{}), bean interface{}) { - if closuresPtr != nil { for _, closure := range *closuresPtr { closure(bean) diff --git a/vendor/github.com/go-xorm/xorm/session_update.go b/vendor/github.com/go-xorm/xorm/session_update.go index 792fb57..ee0066c 100644 --- a/vendor/github.com/go-xorm/xorm/session_update.go +++ b/vendor/github.com/go-xorm/xorm/session_update.go @@ -16,19 +16,19 @@ import ( ) func (session *Session) cacheUpdate(sqlStr string, args ...interface{}) error { - if session.Statement.RefTable == nil || - session.Tx != nil { + if session.statement.RefTable == nil || + session.tx != nil { return ErrCacheFailed } - oldhead, newsql := session.Statement.convertUpdateSQL(sqlStr) + oldhead, newsql := session.statement.convertUpdateSQL(sqlStr) if newsql == "" { return ErrCacheFailed } - for _, filter := range session.Engine.dialect.Filters() { - newsql = filter.Do(newsql, session.Engine.dialect, session.Statement.RefTable) + for _, filter := range session.engine.dialect.Filters() { + newsql = filter.Do(newsql, session.engine.dialect, session.statement.RefTable) } - session.Engine.logger.Debug("[cacheUpdate] new sql", oldhead, newsql) + session.engine.logger.Debug("[cacheUpdate] new sql", oldhead, newsql) var nStart int if len(args) > 0 { @@ -39,13 +39,13 @@ func (session *Session) cacheUpdate(sqlStr string, args ...interface{}) error { nStart = strings.Count(oldhead, "$") } } - table := session.Statement.RefTable - cacher := session.Engine.getCacher2(table) - tableName := session.Statement.TableName() - session.Engine.logger.Debug("[cacheUpdate] get cache sql", newsql, args[nStart:]) + table := session.statement.RefTable + cacher := session.engine.getCacher2(table) + tableName := session.statement.TableName() + session.engine.logger.Debug("[cacheUpdate] get cache sql", newsql, args[nStart:]) ids, err := core.GetCacheSql(cacher, tableName, newsql, args[nStart:]) if err != nil { - rows, err := session.DB().Query(newsql, args[nStart:]...) + rows, err := session.NoCache().queryRows(newsql, args[nStart:]...) if err != nil { return err } @@ -75,9 +75,9 @@ func (session *Session) cacheUpdate(sqlStr string, args ...interface{}) error { ids = append(ids, pk) } - session.Engine.logger.Debug("[cacheUpdate] find updated id", ids) + session.engine.logger.Debug("[cacheUpdate] find updated id", ids) } /*else { - session.Engine.LogDebug("[xorm:cacheUpdate] del cached sql:", tableName, newsql, args) + session.engine.LogDebug("[xorm:cacheUpdate] del cached sql:", tableName, newsql, args) cacher.DelIds(tableName, genSqlKey(newsql, args)) }*/ @@ -103,36 +103,36 @@ func (session *Session) cacheUpdate(sqlStr string, args ...interface{}) error { colName := sps2[len(sps2)-1] if strings.Contains(colName, "`") { colName = strings.TrimSpace(strings.Replace(colName, "`", "", -1)) - } else if strings.Contains(colName, session.Engine.QuoteStr()) { - colName = strings.TrimSpace(strings.Replace(colName, session.Engine.QuoteStr(), "", -1)) + } else if strings.Contains(colName, session.engine.QuoteStr()) { + colName = strings.TrimSpace(strings.Replace(colName, session.engine.QuoteStr(), "", -1)) } else { - session.Engine.logger.Debug("[cacheUpdate] cannot find column", tableName, colName) + session.engine.logger.Debug("[cacheUpdate] cannot find column", tableName, colName) return ErrCacheFailed } if col := table.GetColumn(colName); col != nil { fieldValue, err := col.ValueOf(bean) if err != nil { - session.Engine.logger.Error(err) + session.engine.logger.Error(err) } else { - session.Engine.logger.Debug("[cacheUpdate] set bean field", bean, colName, fieldValue.Interface()) - if col.IsVersion && session.Statement.checkVersion { + session.engine.logger.Debug("[cacheUpdate] set bean field", bean, colName, fieldValue.Interface()) + if col.IsVersion && session.statement.checkVersion { fieldValue.SetInt(fieldValue.Int() + 1) } else { fieldValue.Set(reflect.ValueOf(args[idx])) } } } else { - session.Engine.logger.Errorf("[cacheUpdate] ERROR: column %v is not table %v's", + session.engine.logger.Errorf("[cacheUpdate] ERROR: column %v is not table %v's", colName, table.Name) } } - session.Engine.logger.Debug("[cacheUpdate] update cache", tableName, id, bean) + session.engine.logger.Debug("[cacheUpdate] update cache", tableName, id, bean) cacher.PutBean(tableName, sid, bean) } } - session.Engine.logger.Debug("[cacheUpdate] clear cached table sql:", tableName) + session.engine.logger.Debug("[cacheUpdate] clear cached table sql:", tableName) cacher.ClearIds(tableName) return nil } @@ -144,8 +144,7 @@ func (session *Session) cacheUpdate(sqlStr string, args ...interface{}) error { // You should call UseBool if you have bool to use. // 2.float32 & float64 may be not inexact as conditions func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int64, error) { - defer session.resetStatement() - if session.IsAutoClose { + if session.isAutoClose { defer session.Close() } @@ -169,21 +168,21 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6 var isMap = t.Kind() == reflect.Map var isStruct = t.Kind() == reflect.Struct if isStruct { - if err := session.Statement.setRefValue(v); err != nil { + if err := session.statement.setRefValue(v); err != nil { return 0, err } - if len(session.Statement.TableName()) <= 0 { + if len(session.statement.TableName()) <= 0 { return 0, ErrTableNotFound } - if session.Statement.ColumnStr == "" { - colNames, args = buildUpdates(session.Engine, session.Statement.RefTable, bean, false, false, - false, false, session.Statement.allUseBool, session.Statement.useAllCols, - session.Statement.mustColumnMap, session.Statement.nullableMap, - session.Statement.columnMap, true, session.Statement.unscoped) + if session.statement.ColumnStr == "" { + colNames, args = buildUpdates(session.engine, session.statement.RefTable, bean, false, false, + false, false, session.statement.allUseBool, session.statement.useAllCols, + session.statement.mustColumnMap, session.statement.nullableMap, + session.statement.columnMap, true, session.statement.unscoped) } else { - colNames, args, err = genCols(session.Statement.RefTable, session, bean, true, true) + colNames, args, err = genCols(session.statement.RefTable, session, bean, true, true) if err != nil { return 0, err } @@ -194,19 +193,19 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6 bValue := reflect.Indirect(reflect.ValueOf(bean)) for _, v := range bValue.MapKeys() { - colNames = append(colNames, session.Engine.Quote(v.String())+" = ?") + colNames = append(colNames, session.engine.Quote(v.String())+" = ?") args = append(args, bValue.MapIndex(v).Interface()) } } else { return 0, ErrParamsType } - table := session.Statement.RefTable + table := session.statement.RefTable - if session.Statement.UseAutoTime && table != nil && table.Updated != "" { - colNames = append(colNames, session.Engine.Quote(table.Updated)+" = ?") + if session.statement.UseAutoTime && table != nil && table.Updated != "" { + colNames = append(colNames, session.engine.Quote(table.Updated)+" = ?") col := table.UpdatedColumn() - val, t := session.Engine.NowTime2(col.SQLType.Name) + val, t := session.engine.NowTime2(col.SQLType.Name) args = append(args, val) var colName = col.Name @@ -219,45 +218,44 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6 } //for update action to like "column = column + ?" - incColumns := session.Statement.getInc() + incColumns := session.statement.getInc() for _, v := range incColumns { - colNames = append(colNames, session.Engine.Quote(v.colName)+" = "+session.Engine.Quote(v.colName)+" + ?") + colNames = append(colNames, session.engine.Quote(v.colName)+" = "+session.engine.Quote(v.colName)+" + ?") args = append(args, v.arg) } //for update action to like "column = column - ?" - decColumns := session.Statement.getDec() + decColumns := session.statement.getDec() for _, v := range decColumns { - colNames = append(colNames, session.Engine.Quote(v.colName)+" = "+session.Engine.Quote(v.colName)+" - ?") + colNames = append(colNames, session.engine.Quote(v.colName)+" = "+session.engine.Quote(v.colName)+" - ?") args = append(args, v.arg) } //for update action to like "column = expression" - exprColumns := session.Statement.getExpr() + exprColumns := session.statement.getExpr() for _, v := range exprColumns { - colNames = append(colNames, session.Engine.Quote(v.colName)+" = "+v.expr) + colNames = append(colNames, session.engine.Quote(v.colName)+" = "+v.expr) } - if err = session.Statement.processIDParam(); err != nil { + if err = session.statement.processIDParam(); err != nil { return 0, err } var autoCond builder.Cond - if !session.Statement.noAutoCondition && len(condiBean) > 0 { + if !session.statement.noAutoCondition && len(condiBean) > 0 { var err error - autoCond, err = session.Statement.buildConds(session.Statement.RefTable, condiBean[0], true, true, false, true, false) + autoCond, err = session.statement.buildConds(session.statement.RefTable, condiBean[0], true, true, false, true, false) if err != nil { return 0, err } } - st := session.Statement - defer session.resetStatement() + st := &session.statement var sqlStr string var condArgs []interface{} var condSQL string - cond := session.Statement.cond.And(autoCond) + cond := session.statement.cond.And(autoCond) - var doIncVer = (table != nil && table.Version != "" && session.Statement.checkVersion) + var doIncVer = (table != nil && table.Version != "" && session.statement.checkVersion) var verValue *reflect.Value if doIncVer { verValue, err = table.VersionColumn().ValueOf(bean) @@ -265,8 +263,8 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6 return 0, err } - cond = cond.And(builder.Eq{session.Engine.Quote(table.Version): verValue.Interface()}) - colNames = append(colNames, session.Engine.Quote(table.Version)+" = "+session.Engine.Quote(table.Version)+" + 1") + cond = cond.And(builder.Eq{session.engine.Quote(table.Version): verValue.Interface()}) + colNames = append(colNames, session.engine.Quote(table.Version)+" = "+session.engine.Quote(table.Version)+" + 1") } condSQL, condArgs, err = builder.ToSQL(cond) @@ -290,7 +288,7 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6 } else if st.Engine.dialect.DBType() == core.SQLITE { tempCondSQL := condSQL + fmt.Sprintf(" LIMIT %d", st.LimitN) cond = cond.And(builder.Expr(fmt.Sprintf("rowid IN (SELECT rowid FROM %v %v)", - session.Engine.Quote(session.Statement.TableName()), tempCondSQL), condArgs...)) + session.engine.Quote(session.statement.TableName()), tempCondSQL), condArgs...)) condSQL, condArgs, err = builder.ToSQL(cond) if err != nil { return 0, err @@ -301,7 +299,7 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6 } else if st.Engine.dialect.DBType() == core.POSTGRES { tempCondSQL := condSQL + fmt.Sprintf(" LIMIT %d", st.LimitN) cond = cond.And(builder.Expr(fmt.Sprintf("CTID IN (SELECT CTID FROM %v %v)", - session.Engine.Quote(session.Statement.TableName()), tempCondSQL), condArgs...)) + session.engine.Quote(session.statement.TableName()), tempCondSQL), condArgs...)) condSQL, condArgs, err = builder.ToSQL(cond) if err != nil { return 0, err @@ -315,7 +313,7 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6 table != nil && len(table.PrimaryKeys) == 1 { cond = builder.Expr(fmt.Sprintf("%s IN (SELECT TOP (%d) %s FROM %v%v)", table.PrimaryKeys[0], st.LimitN, table.PrimaryKeys[0], - session.Engine.Quote(session.Statement.TableName()), condSQL), condArgs...) + session.engine.Quote(session.statement.TableName()), condSQL), condArgs...) condSQL, condArgs, err = builder.ToSQL(cond) if err != nil { @@ -330,9 +328,13 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6 } } + if len(colNames) <= 0 { + return 0, errors.New("No content found to be updated") + } + sqlStr = fmt.Sprintf("UPDATE %v%v SET %v %v", top, - session.Engine.Quote(session.Statement.TableName()), + session.engine.Quote(session.statement.TableName()), strings.Join(colNames, ", "), condSQL) @@ -346,19 +348,19 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6 } if table != nil { - if cacher := session.Engine.getCacher2(table); cacher != nil && session.Statement.UseCache { - cacher.ClearIds(session.Statement.TableName()) - cacher.ClearBeans(session.Statement.TableName()) + if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache { + cacher.ClearIds(session.statement.TableName()) + cacher.ClearBeans(session.statement.TableName()) } } // handle after update processors - if session.IsAutoCommit { + if session.isAutoCommit { for _, closure := range session.afterClosures { closure(bean) } if processor, ok := interface{}(bean).(AfterUpdateProcessor); ok { - session.Engine.logger.Debug("[event]", session.Statement.TableName(), " has after update processor") + session.engine.logger.Debug("[event]", session.statement.TableName(), " has after update processor") processor.AfterUpdate() } } else { diff --git a/vendor/github.com/go-xorm/xorm/session_update_test.go b/vendor/github.com/go-xorm/xorm/session_update_test.go index ef4c1e7..ccd713a 100644 --- a/vendor/github.com/go-xorm/xorm/session_update_test.go +++ b/vendor/github.com/go-xorm/xorm/session_update_test.go @@ -298,7 +298,7 @@ func TestUpdate1(t *testing.T) { // update by id user := Userinfo{Username: "xxx", Height: 1.2} - cnt, err := testEngine.Id(ori.Uid).Update(&user) + cnt, err := testEngine.ID(ori.Uid).Update(&user) if err != nil { t.Error(err) panic(err) @@ -311,7 +311,7 @@ func TestUpdate1(t *testing.T) { } condi := Condi{"username": "zzz", "departname": ""} - cnt, err = testEngine.Table(&user).Id(ori.Uid).Update(&condi) + cnt, err = testEngine.Table(&user).ID(ori.Uid).Update(&condi) if err != nil { t.Error(err) panic(err) @@ -351,7 +351,7 @@ func TestUpdate1(t *testing.T) { } userID := user.Uid - has, err := testEngine.Id(userID). + has, err := testEngine.ID(userID). And("username = ?", user.Username). And("height = ?", user.Height). And("departname = ?", ""). @@ -369,7 +369,7 @@ func TestUpdate1(t *testing.T) { } updatedUser := &Userinfo{Username: "null data"} - cnt, err = testEngine.Id(userID). + cnt, err = testEngine.ID(userID). Nullable("height", "departname", "is_man", "created"). Update(updatedUser) if err != nil { @@ -382,7 +382,7 @@ func TestUpdate1(t *testing.T) { panic(err) } - has, err = testEngine.Id(userID). + has, err = testEngine.ID(userID). And("username = ?", updatedUser.Username). And("height IS NULL"). And("departname IS NULL"). @@ -400,7 +400,7 @@ func TestUpdate1(t *testing.T) { panic(err) } - cnt, err = testEngine.Id(userID).Delete(&Userinfo{}) + cnt, err = testEngine.ID(userID).Delete(&Userinfo{}) if err != nil { t.Error(err) panic(err) @@ -445,7 +445,7 @@ func TestUpdate1(t *testing.T) { panic(err) } - cnt, err = testEngine.Id(a.Id).Update(&Article{Name: "6"}) + cnt, err = testEngine.ID(a.Id).Update(&Article{Name: "6"}) if err != nil { t.Error(err) panic(err) @@ -474,14 +474,14 @@ func TestUpdate1(t *testing.T) { } col2 := &UpdateAllCols{col1.Id, true, "", nil} - _, err = testEngine.Id(col2.Id).AllCols().Update(col2) + _, err = testEngine.ID(col2.Id).AllCols().Update(col2) if err != nil { t.Error(err) panic(err) } col3 := &UpdateAllCols{} - has, err = testEngine.Id(col2.Id).Get(col3) + has, err = testEngine.ID(col2.Id).Get(col3) if err != nil { t.Error(err) panic(err) @@ -519,14 +519,14 @@ func TestUpdate1(t *testing.T) { col2 := &UpdateMustCols{col1.Id, true, ""} boolStr := testEngine.ColumnMapper.Obj2Table("Bool") stringStr := testEngine.ColumnMapper.Obj2Table("String") - _, err = testEngine.Id(col2.Id).MustCols(boolStr, stringStr).Update(col2) + _, err = testEngine.ID(col2.Id).MustCols(boolStr, stringStr).Update(col2) if err != nil { t.Error(err) panic(err) } col3 := &UpdateMustCols{} - has, err := testEngine.Id(col2.Id).Get(col3) + has, err := testEngine.ID(col2.Id).Get(col3) if err != nil { t.Error(err) panic(err) @@ -561,17 +561,27 @@ func TestUpdateIncrDecr(t *testing.T) { colName := testEngine.ColumnMapper.Obj2Table("Cnt") - cnt, err := testEngine.Id(col1.Id).Incr(colName).Update(col1) + cnt, err := testEngine.ID(col1.Id).Incr(colName).Update(col1) assert.NoError(t, err) assert.EqualValues(t, 1, cnt) newCol := new(UpdateIncr) - has, err := testEngine.Id(col1.Id).Get(newCol) + has, err := testEngine.ID(col1.Id).Get(newCol) assert.NoError(t, err) assert.True(t, has) assert.EqualValues(t, 1, newCol.Cnt) - cnt, err = testEngine.Id(col1.Id).Cols(colName).Incr(colName).Update(col1) + cnt, err = testEngine.ID(col1.Id).Decr(colName).Update(col1) + assert.NoError(t, err) + assert.EqualValues(t, 1, cnt) + + newCol = new(UpdateIncr) + has, err = testEngine.ID(col1.Id).Get(newCol) + assert.NoError(t, err) + assert.True(t, has) + assert.EqualValues(t, 0, newCol.Cnt) + + cnt, err = testEngine.ID(col1.Id).Cols(colName).Incr(colName).Update(col1) assert.NoError(t, err) assert.EqualValues(t, 1, cnt) } @@ -616,12 +626,12 @@ func TestUpdateUpdated(t *testing.T) { } ci := &UpdatedUpdate{} - _, err = testEngine.Id(1).Update(ci) + _, err = testEngine.ID(1).Update(ci) if err != nil { t.Fatal(err) } - has, err := testEngine.Id(1).Get(di) + has, err := testEngine.ID(1).Get(di) if err != nil { t.Fatal(err) } @@ -644,11 +654,11 @@ func TestUpdateUpdated(t *testing.T) { t.Fatal(err) } ci2 := &UpdatedUpdate2{} - _, err = testEngine.Id(1).Update(ci2) + _, err = testEngine.ID(1).Update(ci2) if err != nil { t.Fatal(err) } - has, err = testEngine.Id(1).Get(di2) + has, err = testEngine.ID(1).Get(di2) if err != nil { t.Fatal(err) } @@ -671,12 +681,12 @@ func TestUpdateUpdated(t *testing.T) { t.Fatal(err) } ci3 := &UpdatedUpdate3{} - _, err = testEngine.Id(1).Update(ci3) + _, err = testEngine.ID(1).Update(ci3) if err != nil { t.Fatal(err) } - has, err = testEngine.Id(1).Get(di3) + has, err = testEngine.ID(1).Get(di3) if err != nil { t.Fatal(err) } @@ -700,12 +710,12 @@ func TestUpdateUpdated(t *testing.T) { } ci4 := &UpdatedUpdate4{} - _, err = testEngine.Id(1).Update(ci4) + _, err = testEngine.ID(1).Update(ci4) if err != nil { t.Fatal(err) } - has, err = testEngine.Id(1).Get(di4) + has, err = testEngine.ID(1).Get(di4) if err != nil { t.Fatal(err) } @@ -728,12 +738,12 @@ func TestUpdateUpdated(t *testing.T) { t.Fatal(err) } ci5 := &UpdatedUpdate5{} - _, err = testEngine.Id(1).Update(ci5) + _, err = testEngine.ID(1).Update(ci5) if err != nil { t.Fatal(err) } - has, err = testEngine.Id(1).Get(di5) + has, err = testEngine.ID(1).Get(di5) if err != nil { t.Fatal(err) } @@ -786,7 +796,7 @@ func TestUpdateSameMapper(t *testing.T) { } // update by id user := Userinfo{Username: "xxx", Height: 1.2} - cnt, err := testEngine.Id(ori.Uid).Update(&user) + cnt, err := testEngine.ID(ori.Uid).Update(&user) if err != nil { t.Error(err) panic(err) @@ -799,7 +809,7 @@ func TestUpdateSameMapper(t *testing.T) { } condi := Condi{"Username": "zzz", "Departname": ""} - cnt, err = testEngine.Table(&user).Id(ori.Uid).Update(&condi) + cnt, err = testEngine.Table(&user).ID(ori.Uid).Update(&condi) if err != nil { t.Error(err) panic(err) @@ -864,7 +874,7 @@ func TestUpdateSameMapper(t *testing.T) { panic(err) } - cnt, err = testEngine.Id(a.Id).Update(&Article{Name: "6"}) + cnt, err = testEngine.ID(a.Id).Update(&Article{Name: "6"}) if err != nil { t.Error(err) panic(err) @@ -891,14 +901,14 @@ func TestUpdateSameMapper(t *testing.T) { } col2 := &UpdateAllCols{col1.Id, true, "", nil} - _, err = testEngine.Id(col2.Id).AllCols().Update(col2) + _, err = testEngine.ID(col2.Id).AllCols().Update(col2) if err != nil { t.Error(err) panic(err) } col3 := &UpdateAllCols{} - has, err = testEngine.Id(col2.Id).Get(col3) + has, err = testEngine.ID(col2.Id).Get(col3) if err != nil { t.Error(err) panic(err) @@ -935,14 +945,14 @@ func TestUpdateSameMapper(t *testing.T) { col2 := &UpdateMustCols{col1.Id, true, ""} boolStr := testEngine.ColumnMapper.Obj2Table("Bool") stringStr := testEngine.ColumnMapper.Obj2Table("String") - _, err = testEngine.Id(col2.Id).MustCols(boolStr, stringStr).Update(col2) + _, err = testEngine.ID(col2.Id).MustCols(boolStr, stringStr).Update(col2) if err != nil { t.Error(err) panic(err) } col3 := &UpdateMustCols{} - has, err := testEngine.Id(col2.Id).Get(col3) + has, err := testEngine.ID(col2.Id).Get(col3) if err != nil { t.Error(err) panic(err) @@ -978,7 +988,7 @@ func TestUpdateSameMapper(t *testing.T) { panic(err) } - cnt, err := testEngine.Id(col1.Id).Incr("`Cnt`").Update(col1) + cnt, err := testEngine.ID(col1.Id).Incr("`Cnt`").Update(col1) if err != nil { t.Error(err) panic(err) @@ -990,7 +1000,7 @@ func TestUpdateSameMapper(t *testing.T) { } newCol := new(UpdateIncr) - has, err := testEngine.Id(col1.Id).Get(newCol) + has, err := testEngine.ID(col1.Id).Get(newCol) if err != nil { t.Error(err) panic(err) @@ -1093,3 +1103,53 @@ func TestBool(t *testing.T) { } } } + +func TestNoUpdate(t *testing.T) { + assert.NoError(t, prepareEngine()) + + type NoUpdate struct { + Id int64 + Content string + } + + assertSync(t, new(NoUpdate)) + + _, err := testEngine.Insert(&NoUpdate{ + Content: "test", + }) + assert.NoError(t, err) + + _, err = testEngine.ID(1).Update(&NoUpdate{}) + assert.Error(t, err) + assert.EqualValues(t, "No content found to be updated", err.Error()) +} + +func TestNewUpdate(t *testing.T) { + assert.NoError(t, prepareEngine()) + + type TbUserInfo struct { + Id int64 `xorm:"pk autoincr unique BIGINT" json:"id"` + Phone string `xorm:"not null unique VARCHAR(20)" json:"phone"` + UserName string `xorm:"VARCHAR(20)" json:"user_name"` + Gender int `xorm:"default 0 INTEGER" json:"gender"` + Pw string `xorm:"VARCHAR(100)" json:"pw"` + Token string `xorm:"TEXT" json:"token"` + Avatar string `xorm:"TEXT" json:"avatar"` + Extras interface{} `xorm:"JSON" json:"extras"` + Created time.Time `xorm:"DATETIME created"` + Updated time.Time `xorm:"DATETIME updated"` + Deleted time.Time `xorm:"DATETIME deleted"` + } + + assertSync(t, new(TbUserInfo)) + + targetUsr := TbUserInfo{Phone: "13126564922"} + changeUsr := TbUserInfo{Token: "ABCDEFG"} + af, err := testEngine.Update(&changeUsr, &targetUsr) + assert.NoError(t, err) + assert.EqualValues(t, 0, af) + + af, err = testEngine.Table(new(TbUserInfo)).Where("phone=?", 13126564922).Update(&changeUsr) + assert.NoError(t, err) + assert.EqualValues(t, 0, af) +} diff --git a/vendor/github.com/go-xorm/xorm/statement.go b/vendor/github.com/go-xorm/xorm/statement.go index 6e360bb..50008d1 100644 --- a/vendor/github.com/go-xorm/xorm/statement.go +++ b/vendor/github.com/go-xorm/xorm/statement.go @@ -272,6 +272,9 @@ func buildUpdates(engine *Engine, table *core.Table, bean interface{}, fieldValue := *fieldValuePtr fieldType := reflect.TypeOf(fieldValue.Interface()) + if fieldType == nil { + continue + } requiredField := useAllCols includeNil := useAllCols @@ -592,6 +595,22 @@ func (statement *Statement) col2NewColsWithQuote(columns ...string) []string { return newColumns } +func (statement *Statement) colmap2NewColsWithQuote() []string { + newColumns := make([]string, 0, len(statement.columnMap)) + for col := range statement.columnMap { + fields := strings.Split(strings.TrimSpace(col), ".") + if len(fields) == 1 { + newColumns = append(newColumns, statement.Engine.quote(fields[0])) + } else if len(fields) == 2 { + newColumns = append(newColumns, statement.Engine.quote(fields[0])+"."+ + statement.Engine.quote(fields[1])) + } else { + panic(errors.New("unwanted colnames")) + } + } + return newColumns +} + // Distinct generates "DISTINCT col1, col2 " statement func (statement *Statement) Distinct(columns ...string) *Statement { statement.IsDistinct = true @@ -618,7 +637,7 @@ func (statement *Statement) Cols(columns ...string) *Statement { statement.columnMap[strings.ToLower(nc)] = true } - newColumns := statement.col2NewColsWithQuote(columns...) + newColumns := statement.colmap2NewColsWithQuote() statement.ColumnStr = strings.Join(newColumns, ", ") statement.ColumnStr = strings.Replace(statement.ColumnStr, statement.Engine.quote("*"), "*", -1) return statement @@ -890,17 +909,24 @@ func (statement *Statement) buildConds(table *core.Table, bean interface{}, incl statement.unscoped, statement.mustColumnMap, statement.TableName(), statement.TableAlias, addedTableName) } -func (statement *Statement) genConds(bean interface{}) (string, []interface{}, error) { +func (statement *Statement) mergeConds(bean interface{}) error { if !statement.noAutoCondition { var addedTableName = (len(statement.JoinStr) > 0) autoCond, err := statement.buildConds(statement.RefTable, bean, true, true, false, true, addedTableName) if err != nil { - return "", nil, err + return err } statement.cond = statement.cond.And(autoCond) } if err := statement.processIDParam(); err != nil { + return err + } + return nil +} + +func (statement *Statement) genConds(bean interface{}) (string, []interface{}, error) { + if err := statement.mergeConds(bean); err != nil { return "", nil, err } @@ -940,14 +966,12 @@ func (statement *Statement) genGetSQL(bean interface{}) (string, []interface{}, columnStr = "*" } - var condSQL string - var condArgs []interface{} - var err error if isStruct { - condSQL, condArgs, err = statement.genConds(bean) - } else { - condSQL, condArgs, err = builder.ToSQL(statement.cond) + if err := statement.mergeConds(bean); err != nil { + return "", nil, err + } } + condSQL, condArgs, err := builder.ToSQL(statement.cond) if err != nil { return "", nil, err } @@ -960,10 +984,16 @@ func (statement *Statement) genGetSQL(bean interface{}) (string, []interface{}, return sqlStr, append(statement.joinArgs, condArgs...), nil } -func (statement *Statement) genCountSQL(bean interface{}) (string, []interface{}, error) { - statement.setRefValue(rValue(bean)) - - condSQL, condArgs, err := statement.genConds(bean) +func (statement *Statement) genCountSQL(beans ...interface{}) (string, []interface{}, error) { + var condSQL string + var condArgs []interface{} + var err error + if len(beans) > 0 { + statement.setRefValue(rValue(beans[0])) + condSQL, condArgs, err = statement.genConds(beans[0]) + } else { + condSQL, condArgs, err = builder.ToSQL(statement.cond) + } if err != nil { return "", nil, err } diff --git a/vendor/github.com/go-xorm/xorm/tag_extends_test.go b/vendor/github.com/go-xorm/xorm/tag_extends_test.go index 4b94fd4..61a61e9 100644 --- a/vendor/github.com/go-xorm/xorm/tag_extends_test.go +++ b/vendor/github.com/go-xorm/xorm/tag_extends_test.go @@ -86,7 +86,7 @@ func TestExtends(t *testing.T) { } tu3 := &tempUser2{tempUser{0, "extends update"}, ""} - _, err = testEngine.Id(tu2.TempUser.Id).Update(tu3) + _, err = testEngine.ID(tu2.TempUser.Id).Update(tu3) if err != nil { t.Error(err) panic(err) @@ -124,7 +124,7 @@ func TestExtends(t *testing.T) { } tu10 := &tempUser4{tempUser2{tempUser{0, "extends update"}, ""}} - _, err = testEngine.Id(tu9.TempUser2.TempUser.Id).Update(tu10) + _, err = testEngine.ID(tu9.TempUser2.TempUser.Id).Update(tu10) if err != nil { t.Error(err) panic(err) @@ -168,7 +168,7 @@ func TestExtends(t *testing.T) { } tu6 := &tempUser3{&tempUser{0, "extends update"}, ""} - _, err = testEngine.Id(tu5.Temp.Id).Update(tu6) + _, err = testEngine.ID(tu5.Temp.Id).Update(tu6) if err != nil { t.Error(err) panic(err) diff --git a/vendor/github.com/go-xorm/xorm/tag_test.go b/vendor/github.com/go-xorm/xorm/tag_test.go index 4fedd0e..dc7ff2f 100644 --- a/vendor/github.com/go-xorm/xorm/tag_test.go +++ b/vendor/github.com/go-xorm/xorm/tag_test.go @@ -51,7 +51,7 @@ func TestCreatedAndUpdated(t *testing.T) { } u.Name = "xxx" - cnt, err = testEngine.Id(u.Id).Update(u) + cnt, err = testEngine.ID(u.Id).Update(u) if err != nil { t.Error(err) panic(err) @@ -110,48 +110,62 @@ func TestStrangeName(t *testing.T) { } } -type CreatedUpdated struct { - Id int64 - Name string - Value float64 `xorm:"numeric"` - Created time.Time `xorm:"created"` - Created2 time.Time `xorm:"created"` - Updated time.Time `xorm:"updated"` -} - func TestCreatedUpdated(t *testing.T) { assert.NoError(t, prepareEngine()) - err := testEngine.Sync(&CreatedUpdated{}) - if err != nil { - t.Error(err) - panic(err) + type CreatedUpdated struct { + Id int64 + Name string + Value float64 `xorm:"numeric"` + Created time.Time `xorm:"created"` + Created2 time.Time `xorm:"created"` + Updated time.Time `xorm:"updated"` } + err := testEngine.Sync(&CreatedUpdated{}) + assert.NoError(t, err) + c := &CreatedUpdated{Name: "test"} _, err = testEngine.Insert(c) - if err != nil { - t.Error(err) - panic(err) - } + assert.NoError(t, err) c2 := new(CreatedUpdated) - has, err := testEngine.Id(c.Id).Get(c2) - if err != nil { - t.Error(err) - panic(err) - } + has, err := testEngine.ID(c.Id).Get(c2) + assert.NoError(t, err) - if !has { - panic(errors.New("no id")) - } + assert.True(t, has) c2.Value -= 1 - _, err = testEngine.Id(c2.Id).Update(c2) - if err != nil { - t.Error(err) - panic(err) + _, err = testEngine.ID(c2.Id).Update(c2) + assert.NoError(t, err) +} + +func TestCreatedUpdatedInt64(t *testing.T) { + assert.NoError(t, prepareEngine()) + + type CreatedUpdatedInt64 struct { + Id int64 + Name string + Value float64 `xorm:"numeric"` + Created int64 `xorm:"created"` + Created2 int64 `xorm:"created"` + Updated int64 `xorm:"updated"` } + + assertSync(t, &CreatedUpdatedInt64{}) + + c := &CreatedUpdatedInt64{Name: "test"} + _, err := testEngine.Insert(c) + assert.NoError(t, err) + + c2 := new(CreatedUpdatedInt64) + has, err := testEngine.ID(c.Id).Get(c2) + assert.NoError(t, err) + assert.True(t, has) + + c2.Value -= 1 + _, err = testEngine.ID(c2.Id).Update(c2) + assert.NoError(t, err) } type Lowercase struct { @@ -270,3 +284,77 @@ func TestTagComment(t *testing.T) { assert.EqualValues(t, 1, len(tables[0].Columns())) assert.EqualValues(t, "主键", tables[0].Columns()[0].Comment) } + +func TestTagDefault(t *testing.T) { + assert.NoError(t, prepareEngine()) + + type DefaultStruct struct { + Id int64 + Name string + Age int `xorm:"default(10)"` + } + + assertSync(t, new(DefaultStruct)) + + cnt, err := testEngine.Omit("age").Insert(&DefaultStruct{ + Name: "test", + Age: 20, + }) + assert.NoError(t, err) + assert.EqualValues(t, 1, cnt) + + var s DefaultStruct + has, err := testEngine.ID(1).Get(&s) + assert.NoError(t, err) + assert.True(t, has) + assert.EqualValues(t, 10, s.Age) + assert.EqualValues(t, "test", s.Name) +} + +func TestTagsDirection(t *testing.T) { + assert.NoError(t, prepareEngine()) + + type OnlyFromDBStruct struct { + Id int64 + Name string + Uuid string `xorm:"<- default '1'"` + } + + assertSync(t, new(OnlyFromDBStruct)) + + cnt, err := testEngine.Insert(&OnlyFromDBStruct{ + Name: "test", + Uuid: "2", + }) + assert.NoError(t, err) + assert.EqualValues(t, 1, cnt) + + var s OnlyFromDBStruct + has, err := testEngine.ID(1).Get(&s) + assert.NoError(t, err) + assert.True(t, has) + assert.EqualValues(t, "1", s.Uuid) + assert.EqualValues(t, "test", s.Name) + + type OnlyToDBStruct struct { + Id int64 + Name string + Uuid string `xorm:"->"` + } + + assertSync(t, new(OnlyToDBStruct)) + + cnt, err = testEngine.Insert(&OnlyToDBStruct{ + Name: "test", + Uuid: "2", + }) + assert.NoError(t, err) + assert.EqualValues(t, 1, cnt) + + var s2 OnlyToDBStruct + has, err = testEngine.ID(1).Get(&s2) + assert.NoError(t, err) + assert.True(t, has) + assert.EqualValues(t, "", s2.Uuid) + assert.EqualValues(t, "test", s2.Name) +} diff --git a/vendor/github.com/go-xorm/xorm/tag_version_test.go b/vendor/github.com/go-xorm/xorm/tag_version_test.go index 1aeabca..570a675 100644 --- a/vendor/github.com/go-xorm/xorm/tag_version_test.go +++ b/vendor/github.com/go-xorm/xorm/tag_version_test.go @@ -49,7 +49,7 @@ func TestVersion1(t *testing.T) { } newVer := new(VersionS) - has, err := testEngine.Id(ver.Id).Get(newVer) + has, err := testEngine.ID(ver.Id).Get(newVer) if err != nil { t.Error(err) panic(err) @@ -67,7 +67,7 @@ func TestVersion1(t *testing.T) { } newVer.Name = "-------" - _, err = testEngine.Id(ver.Id).Update(newVer) + _, err = testEngine.ID(ver.Id).Update(newVer) if err != nil { t.Error(err) panic(err) @@ -78,7 +78,7 @@ func TestVersion1(t *testing.T) { } newVer = new(VersionS) - has, err = testEngine.Id(ver.Id).Get(newVer) + has, err = testEngine.ID(ver.Id).Get(newVer) if err != nil { t.Error(err) panic(err) diff --git a/vendor/github.com/go-xorm/xorm/types_null_test.go b/vendor/github.com/go-xorm/xorm/types_null_test.go index 776b2e6..22fc102 100644 --- a/vendor/github.com/go-xorm/xorm/types_null_test.go +++ b/vendor/github.com/go-xorm/xorm/types_null_test.go @@ -176,7 +176,7 @@ func TestNullStructUpdate(t *testing.T) { item.Age = sql.NullInt64{23, true} item.Height = sql.NullFloat64{0, false} // update to NULL - affected, err := testEngine.Id(2).Cols("age", "height", "is_man").Update(item) + affected, err := testEngine.ID(2).Cols("age", "height", "is_man").Update(item) if err != nil { t.Error(err) panic(err) @@ -224,7 +224,7 @@ func TestNullStructUpdate(t *testing.T) { // IsMan: sql.NullBool{true, true}, } - _, err := testEngine.AllCols().Id(6).Update(item) + _, err := testEngine.AllCols().ID(6).Update(item) if err != nil { t.Error(err) panic(err) @@ -268,7 +268,7 @@ func TestNullStructFind(t *testing.T) { if true { item := new(NullType) - has, err := testEngine.Id(1).Get(item) + has, err := testEngine.ID(1).Get(item) if err != nil { t.Error(err) panic(err) @@ -305,7 +305,7 @@ func TestNullStructFind(t *testing.T) { if true { item := make([]NullType, 0) - err := testEngine.Id(2).Find(&item) + err := testEngine.ID(2).Find(&item) if err != nil { t.Error(err) panic(err) @@ -390,7 +390,7 @@ func TestNullStructDelete(t *testing.T) { item := new(NullType) - _, err := testEngine.Id(1).Delete(item) + _, err := testEngine.ID(1).Delete(item) if err != nil { t.Error(err) panic(err) diff --git a/vendor/github.com/go-xorm/xorm/types_test.go b/vendor/github.com/go-xorm/xorm/types_test.go index aadf5f6..df4ee70 100644 --- a/vendor/github.com/go-xorm/xorm/types_test.go +++ b/vendor/github.com/go-xorm/xorm/types_test.go @@ -37,7 +37,7 @@ func TestArrayField(t *testing.T) { assert.EqualValues(t, 1, cnt) var arr ArrayStruct - has, err := testEngine.Id(1).Get(&arr) + has, err := testEngine.ID(1).Get(&arr) assert.NoError(t, err) assert.Equal(t, true, has) assert.Equal(t, as.Name, arr.Name) @@ -320,7 +320,7 @@ func TestCustomType2(t *testing.T) { assert.NoError(t, err) user := UserCus{} - exist, err := testEngine.Id(1).Get(&user) + exist, err := testEngine.ID(1).Get(&user) assert.NoError(t, err) assert.True(t, exist) diff --git a/vendor/github.com/go-xorm/xorm/xorm.go b/vendor/github.com/go-xorm/xorm/xorm.go index 8b2fd6c..4434c7f 100644 --- a/vendor/github.com/go-xorm/xorm/xorm.go +++ b/vendor/github.com/go-xorm/xorm/xorm.go @@ -17,7 +17,7 @@ import ( const ( // Version show the xorm's version - Version string = "0.6.2.0605" + Version string = "0.6.3.0713" ) func regDrvsNDialects() bool { @@ -50,10 +50,13 @@ func close(engine *Engine) { engine.Close() } +func init() { + regDrvsNDialects() +} + // NewEngine new a db manager according to the parameter. Currently support four // drivers func NewEngine(driverName string, dataSourceName string) (*Engine, error) { - regDrvsNDialects() driver := core.QueryDriver(driverName) if driver == nil { return nil, fmt.Errorf("Unsupported driver name: %v", driverName) diff --git a/vendor/github.com/go-xorm/xorm/xorm_test.go b/vendor/github.com/go-xorm/xorm/xorm_test.go index 2e722f8..e7deec1 100644 --- a/vendor/github.com/go-xorm/xorm/xorm_test.go +++ b/vendor/github.com/go-xorm/xorm/xorm_test.go @@ -12,6 +12,7 @@ import ( "github.com/go-xorm/core" _ "github.com/lib/pq" _ "github.com/mattn/go-sqlite3" + _ "github.com/ziutek/mymysql/godrv" ) var ( diff --git a/vendor/github.com/labstack/echo/context.go b/vendor/github.com/labstack/echo/context.go index a1ee3e0..54fa71a 100644 --- a/vendor/github.com/labstack/echo/context.go +++ b/vendor/github.com/labstack/echo/context.go @@ -496,7 +496,7 @@ func (c *context) Stream(code int, contentType string, r io.Reader) (err error) func (c *context) File(file string) (err error) { f, err := os.Open(file) if err != nil { - return ErrNotFound + return NotFoundHandler(c) } defer f.Close() @@ -505,7 +505,7 @@ func (c *context) File(file string) (err error) { file = filepath.Join(file, indexPage) f, err = os.Open(file) if err != nil { - return ErrNotFound + return NotFoundHandler(c) } defer f.Close() if fi, err = f.Stat(); err != nil { @@ -525,7 +525,7 @@ func (c *context) Inline(file, name string) (err error) { } func (c *context) contentDisposition(file, name, dispositionType string) (err error) { - c.response.Header().Set(HeaderContentDisposition, fmt.Sprintf("%s; filename=%s", dispositionType, name)) + c.response.Header().Set(HeaderContentDisposition, fmt.Sprintf("%s; filename=%q", dispositionType, name)) c.File(file) return } diff --git a/vendor/github.com/labstack/echo/context_test.go b/vendor/github.com/labstack/echo/context_test.go index 90901d2..a3ae6eb 100644 --- a/vendor/github.com/labstack/echo/context_test.go +++ b/vendor/github.com/labstack/echo/context_test.go @@ -187,7 +187,7 @@ func TestContext(t *testing.T) { err = c.Attachment("_fixture/images/walle.png", "walle.png") if assert.NoError(t, err) { assert.Equal(t, http.StatusOK, rec.Code) - assert.Equal(t, "attachment; filename=walle.png", rec.Header().Get(HeaderContentDisposition)) + assert.Equal(t, "attachment; filename=\"walle.png\"", rec.Header().Get(HeaderContentDisposition)) assert.Equal(t, 219885, rec.Body.Len()) } @@ -197,7 +197,7 @@ func TestContext(t *testing.T) { err = c.Inline("_fixture/images/walle.png", "walle.png") if assert.NoError(t, err) { assert.Equal(t, http.StatusOK, rec.Code) - assert.Equal(t, "inline; filename=walle.png", rec.Header().Get(HeaderContentDisposition)) + assert.Equal(t, "inline; filename=\"walle.png\"", rec.Header().Get(HeaderContentDisposition)) assert.Equal(t, 219885, rec.Body.Len()) } diff --git a/vendor/github.com/labstack/echo/echo.go b/vendor/github.com/labstack/echo/echo.go index 040239c..d6b3f51 100644 --- a/vendor/github.com/labstack/echo/echo.go +++ b/vendor/github.com/labstack/echo/echo.go @@ -282,7 +282,7 @@ func New() (e *Echo) { e.TLSServer.Handler = e e.HTTPErrorHandler = e.DefaultHTTPErrorHandler e.Binder = &DefaultBinder{} - e.Logger.SetLevel(log.OFF) + e.Logger.SetLevel(log.ERROR) e.stdLogger = stdLog.New(e.Logger.Output(), e.Logger.Prefix()+": ", 0) e.pool.New = func() interface{} { return e.NewContext(nil, nil) @@ -295,7 +295,7 @@ func New() (e *Echo) { func (e *Echo) NewContext(r *http.Request, w http.ResponseWriter) Context { return &context{ request: r, - response: &Response{echo: e, Writer: w}, + response: NewResponse(w, e), store: make(Map), echo: e, pvalues: make([]string, *e.maxParam), diff --git a/vendor/github.com/labstack/echo/group.go b/vendor/github.com/labstack/echo/group.go index 06bd366..6ae3237 100644 --- a/vendor/github.com/labstack/echo/group.go +++ b/vendor/github.com/labstack/echo/group.go @@ -21,66 +21,66 @@ func (g *Group) Use(middleware ...MiddlewareFunc) { // Allow all requests to reach the group as they might get dropped if router // doesn't find a match, making none of the group middleware process. g.echo.Any(path.Clean(g.prefix+"/*"), func(c Context) error { - return ErrNotFound + return NotFoundHandler(c) }, g.middleware...) } // CONNECT implements `Echo#CONNECT()` for sub-routes within the Group. func (g *Group) CONNECT(path string, h HandlerFunc, m ...MiddlewareFunc) *Route { - return g.add(CONNECT, path, h, m...) + return g.Add(CONNECT, path, h, m...) } // DELETE implements `Echo#DELETE()` for sub-routes within the Group. func (g *Group) DELETE(path string, h HandlerFunc, m ...MiddlewareFunc) *Route { - return g.add(DELETE, path, h, m...) + return g.Add(DELETE, path, h, m...) } // GET implements `Echo#GET()` for sub-routes within the Group. func (g *Group) GET(path string, h HandlerFunc, m ...MiddlewareFunc) *Route { - return g.add(GET, path, h, m...) + return g.Add(GET, path, h, m...) } // HEAD implements `Echo#HEAD()` for sub-routes within the Group. func (g *Group) HEAD(path string, h HandlerFunc, m ...MiddlewareFunc) *Route { - return g.add(HEAD, path, h, m...) + return g.Add(HEAD, path, h, m...) } // OPTIONS implements `Echo#OPTIONS()` for sub-routes within the Group. func (g *Group) OPTIONS(path string, h HandlerFunc, m ...MiddlewareFunc) *Route { - return g.add(OPTIONS, path, h, m...) + return g.Add(OPTIONS, path, h, m...) } // PATCH implements `Echo#PATCH()` for sub-routes within the Group. func (g *Group) PATCH(path string, h HandlerFunc, m ...MiddlewareFunc) *Route { - return g.add(PATCH, path, h, m...) + return g.Add(PATCH, path, h, m...) } // POST implements `Echo#POST()` for sub-routes within the Group. func (g *Group) POST(path string, h HandlerFunc, m ...MiddlewareFunc) *Route { - return g.add(POST, path, h, m...) + return g.Add(POST, path, h, m...) } // PUT implements `Echo#PUT()` for sub-routes within the Group. func (g *Group) PUT(path string, h HandlerFunc, m ...MiddlewareFunc) *Route { - return g.add(PUT, path, h, m...) + return g.Add(PUT, path, h, m...) } // TRACE implements `Echo#TRACE()` for sub-routes within the Group. func (g *Group) TRACE(path string, h HandlerFunc, m ...MiddlewareFunc) *Route { - return g.add(TRACE, path, h, m...) + return g.Add(TRACE, path, h, m...) } // Any implements `Echo#Any()` for sub-routes within the Group. func (g *Group) Any(path string, handler HandlerFunc, middleware ...MiddlewareFunc) { for _, m := range methods { - g.add(m, path, handler, middleware...) + g.Add(m, path, handler, middleware...) } } // Match implements `Echo#Match()` for sub-routes within the Group. func (g *Group) Match(methods []string, path string, handler HandlerFunc, middleware ...MiddlewareFunc) { for _, m := range methods { - g.add(m, path, handler, middleware...) + g.Add(m, path, handler, middleware...) } } @@ -102,7 +102,8 @@ func (g *Group) File(path, file string) { g.echo.File(g.prefix+path, file) } -func (g *Group) add(method, path string, handler HandlerFunc, middleware ...MiddlewareFunc) *Route { +// Add implements `Echo#Add()` for sub-routes within the Group. +func (g *Group) Add(method, path string, handler HandlerFunc, middleware ...MiddlewareFunc) *Route { // Combine into a new slice to avoid accidentally passing the same slice for // multiple routes, which would lead to later add() calls overwriting the // middleware from earlier calls. diff --git a/vendor/github.com/labstack/echo/middleware/jwt.go b/vendor/github.com/labstack/echo/middleware/jwt.go index b70c5b1..96a6640 100644 --- a/vendor/github.com/labstack/echo/middleware/jwt.go +++ b/vendor/github.com/labstack/echo/middleware/jwt.go @@ -141,7 +141,8 @@ func JWTWithConfig(config JWTConfig) echo.MiddlewareFunc { if _, ok := config.Claims.(jwt.MapClaims); ok { token, err = jwt.Parse(auth, config.keyFunc) } else { - claims := reflect.ValueOf(config.Claims).Interface().(jwt.Claims) + t := reflect.ValueOf(config.Claims).Type().Elem() + claims := reflect.New(t).Interface().(jwt.Claims) token, err = jwt.ParseWithClaims(auth, claims, config.keyFunc) } if err == nil && token.Valid { diff --git a/vendor/github.com/labstack/echo/middleware/jwt_test.go b/vendor/github.com/labstack/echo/middleware/jwt_test.go index 7a2bb8b..b72eb40 100644 --- a/vendor/github.com/labstack/echo/middleware/jwt_test.go +++ b/vendor/github.com/labstack/echo/middleware/jwt_test.go @@ -22,6 +22,42 @@ type jwtCustomClaims struct { jwtCustomInfo } +func TestJWTRace(t *testing.T) { + e := echo.New() + handler := func(c echo.Context) error { + return c.String(http.StatusOK, "test") + } + initialToken := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ" + raceToken := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IlJhY2UgQ29uZGl0aW9uIiwiYWRtaW4iOmZhbHNlfQ.Xzkx9mcgGqYMTkuxSCbJ67lsDyk5J2aB7hu65cEE-Ss" + validKey := []byte("secret") + + h := JWTWithConfig(JWTConfig{ + Claims: &jwtCustomClaims{}, + SigningKey: validKey, + })(handler) + + makeReq := func(token string) echo.Context { + req := httptest.NewRequest(echo.GET, "/", nil) + res := httptest.NewRecorder() + req.Header.Set(echo.HeaderAuthorization, DefaultJWTConfig.AuthScheme+" "+token) + c := e.NewContext(req, res) + assert.NoError(t, h(c)) + return c + } + + c := makeReq(initialToken) + user := c.Get("user").(*jwt.Token) + claims := user.Claims.(*jwtCustomClaims) + assert.Equal(t, claims.Name, "John Doe") + + makeReq(raceToken) + user = c.Get("user").(*jwt.Token) + claims = user.Claims.(*jwtCustomClaims) + // Initial context should still be "John Doe", not "Race Condition" + assert.Equal(t, claims.Name, "John Doe") + assert.Equal(t, claims.Admin, true) +} + func TestJWT(t *testing.T) { e := echo.New() handler := func(c echo.Context) error { diff --git a/vendor/github.com/labstack/echo/middleware/proxy.go b/vendor/github.com/labstack/echo/middleware/proxy.go index c29673f..4f55f39 100644 --- a/vendor/github.com/labstack/echo/middleware/proxy.go +++ b/vendor/github.com/labstack/echo/middleware/proxy.go @@ -142,6 +142,10 @@ func ProxyWithConfig(config ProxyConfig) echo.MiddlewareFunc { return func(next echo.HandlerFunc) echo.HandlerFunc { return func(c echo.Context) (err error) { + if config.Skipper(c) { + return next(c) + } + req := c.Request() res := c.Response() tgt := config.Balancer.Next() diff --git a/vendor/github.com/labstack/echo/response.go b/vendor/github.com/labstack/echo/response.go index 68b9915..b23931a 100644 --- a/vendor/github.com/labstack/echo/response.go +++ b/vendor/github.com/labstack/echo/response.go @@ -20,6 +20,11 @@ type ( } ) +// NewResponse creates a new instance of Response. +func NewResponse(w http.ResponseWriter, e *Echo) (r *Response) { + return &Response{Writer: w, echo: e} +} + // Header returns the header map for the writer that will be sent by // WriteHeader. Changing the header after a call to WriteHeader (or Write) has // no effect unless the modified headers were declared as trailers by setting diff --git a/vendor/github.com/labstack/echo/util_go17.go b/vendor/github.com/labstack/echo/util_go17.go index 6b5d6b0..eaae17e 100644 --- a/vendor/github.com/labstack/echo/util_go17.go +++ b/vendor/github.com/labstack/echo/util_go17.go @@ -1,4 +1,4 @@ -// +build go1.7,!go1.8 +// +build go1.7, !go1.8 package echo diff --git a/vendor/github.com/lib/pq/array.go b/vendor/github.com/lib/pq/array.go index e7b2145..e4933e2 100644 --- a/vendor/github.com/lib/pq/array.go +++ b/vendor/github.com/lib/pq/array.go @@ -13,7 +13,7 @@ import ( var typeByteSlice = reflect.TypeOf([]byte{}) var typeDriverValuer = reflect.TypeOf((*driver.Valuer)(nil)).Elem() -var typeSqlScanner = reflect.TypeOf((*sql.Scanner)(nil)).Elem() +var typeSQLScanner = reflect.TypeOf((*sql.Scanner)(nil)).Elem() // Array returns the optimal driver.Valuer and sql.Scanner for an array or // slice of any dimension. @@ -278,7 +278,7 @@ func (GenericArray) evaluateDestination(rt reflect.Type) (reflect.Type, func([]b // TODO calculate the assign function for other types // TODO repeat this section on the element type of arrays or slices (multidimensional) { - if reflect.PtrTo(rt).Implements(typeSqlScanner) { + if reflect.PtrTo(rt).Implements(typeSQLScanner) { // dest is always addressable because it is an element of a slice. assign = func(src []byte, dest reflect.Value) (err error) { ss := dest.Addr().Interface().(sql.Scanner) @@ -587,7 +587,7 @@ func appendArrayElement(b []byte, rv reflect.Value) ([]byte, string, error) { } } - var del string = "," + var del = "," var err error var iv interface{} = rv.Interface() diff --git a/vendor/github.com/lib/pq/conn.go b/vendor/github.com/lib/pq/conn.go index 3747ffc..1725ab0 100644 --- a/vendor/github.com/lib/pq/conn.go +++ b/vendor/github.com/lib/pq/conn.go @@ -27,12 +27,12 @@ var ( ErrNotSupported = errors.New("pq: Unsupported command") ErrInFailedTransaction = errors.New("pq: Could not complete operation in a failed transaction") ErrSSLNotSupported = errors.New("pq: SSL is not enabled on the server") - ErrSSLKeyHasWorldPermissions = errors.New("pq: Private key file has group or world access. Permissions should be u=rw (0600) or less.") - ErrCouldNotDetectUsername = errors.New("pq: Could not detect default username. Please provide one explicitly.") + ErrSSLKeyHasWorldPermissions = errors.New("pq: Private key file has group or world access. Permissions should be u=rw (0600) or less") + ErrCouldNotDetectUsername = errors.New("pq: Could not detect default username. Please provide one explicitly") errUnexpectedReady = errors.New("unexpected ReadyForQuery") errNoRowsAffected = errors.New("no RowsAffected available after the empty statement") - errNoLastInsertId = errors.New("no LastInsertId available after the empty statement") + errNoLastInsertID = errors.New("no LastInsertId available after the empty statement") ) type Driver struct{} @@ -131,7 +131,7 @@ type conn struct { } // Handle driver-side settings in parsed connection string. -func (c *conn) handleDriverSettings(o values) (err error) { +func (cn *conn) handleDriverSettings(o values) (err error) { boolSetting := func(key string, val *bool) error { if value, ok := o[key]; ok { if value == "yes" { @@ -145,18 +145,18 @@ func (c *conn) handleDriverSettings(o values) (err error) { return nil } - err = boolSetting("disable_prepared_binary_result", &c.disablePreparedBinaryResult) + err = boolSetting("disable_prepared_binary_result", &cn.disablePreparedBinaryResult) if err != nil { return err } - err = boolSetting("binary_parameters", &c.binaryParameters) + err = boolSetting("binary_parameters", &cn.binaryParameters) if err != nil { return err } return nil } -func (c *conn) handlePgpass(o values) { +func (cn *conn) handlePgpass(o values) { // if a password was supplied, do not process .pgpass if _, ok := o["password"]; ok { return @@ -229,10 +229,10 @@ func (c *conn) handlePgpass(o values) { } } -func (c *conn) writeBuf(b byte) *writeBuf { - c.scratch[0] = b +func (cn *conn) writeBuf(b byte) *writeBuf { + cn.scratch[0] = b return &writeBuf{ - buf: c.scratch[:5], + buf: cn.scratch[:5], pos: 1, } } @@ -310,9 +310,8 @@ func DialOpen(d Dialer, name string) (_ driver.Conn, err error) { u, err := userCurrent() if err != nil { return nil, err - } else { - o["user"] = u } + o["user"] = u } cn := &conn{ @@ -698,7 +697,7 @@ var emptyRows noRows var _ driver.Result = noRows{} func (noRows) LastInsertId() (int64, error) { - return 0, errNoLastInsertId + return 0, errNoLastInsertID } func (noRows) RowsAffected() (int64, error) { @@ -840,16 +839,15 @@ func (cn *conn) query(query string, args []driver.Value) (_ *rows, err error) { rows.colNames, rows.colFmts, rows.colTyps = cn.readPortalDescribeResponse() cn.postExecuteWorkaround() return rows, nil - } else { - st := cn.prepareTo(query, "") - st.exec(args) - return &rows{ - cn: cn, - colNames: st.colNames, - colTyps: st.colTyps, - colFmts: st.colFmts, - }, nil } + st := cn.prepareTo(query, "") + st.exec(args) + return &rows{ + cn: cn, + colNames: st.colNames, + colTyps: st.colTyps, + colFmts: st.colFmts, + }, nil } // Implement the optional "Execer" interface for one-shot queries @@ -876,17 +874,16 @@ func (cn *conn) Exec(query string, args []driver.Value) (res driver.Result, err cn.postExecuteWorkaround() res, _, err = cn.readExecuteResponse("Execute") return res, err - } else { - // Use the unnamed statement to defer planning until bind - // time, or else value-based selectivity estimates cannot be - // used. - st := cn.prepareTo(query, "") - r, err := st.Exec(args) - if err != nil { - panic(err) - } - return r, err } + // Use the unnamed statement to defer planning until bind + // time, or else value-based selectivity estimates cannot be + // used. + st := cn.prepareTo(query, "") + r, err := st.Exec(args) + if err != nil { + panic(err) + } + return r, err } func (cn *conn) send(m *writeBuf) { @@ -1147,10 +1144,10 @@ const formatText format = 0 const formatBinary format = 1 // One result-column format code with the value 1 (i.e. all binary). -var colFmtDataAllBinary []byte = []byte{0, 1, 0, 1} +var colFmtDataAllBinary = []byte{0, 1, 0, 1} // No result-column format codes (i.e. all text). -var colFmtDataAllText []byte = []byte{0, 0} +var colFmtDataAllText = []byte{0, 0} type stmt struct { cn *conn @@ -1515,7 +1512,7 @@ func (cn *conn) sendBinaryModeQuery(query string, args []driver.Value) { cn.send(b) } -func (c *conn) processParameterStatus(r *readBuf) { +func (cn *conn) processParameterStatus(r *readBuf) { var err error param := r.string() @@ -1526,13 +1523,13 @@ func (c *conn) processParameterStatus(r *readBuf) { var minor int _, err = fmt.Sscanf(r.string(), "%d.%d.%d", &major1, &major2, &minor) if err == nil { - c.parameterStatus.serverVersion = major1*10000 + major2*100 + minor + cn.parameterStatus.serverVersion = major1*10000 + major2*100 + minor } case "TimeZone": - c.parameterStatus.currentLocation, err = time.LoadLocation(r.string()) + cn.parameterStatus.currentLocation, err = time.LoadLocation(r.string()) if err != nil { - c.parameterStatus.currentLocation = nil + cn.parameterStatus.currentLocation = nil } default: @@ -1540,8 +1537,8 @@ func (c *conn) processParameterStatus(r *readBuf) { } } -func (c *conn) processReadyForQuery(r *readBuf) { - c.txnStatus = transactionStatus(r.byte()) +func (cn *conn) processReadyForQuery(r *readBuf) { + cn.txnStatus = transactionStatus(r.byte()) } func (cn *conn) readReadyForQuery() { @@ -1556,9 +1553,9 @@ func (cn *conn) readReadyForQuery() { } } -func (c *conn) processBackendKeyData(r *readBuf) { - c.processID = r.int32() - c.secretKey = r.int32() +func (cn *conn) processBackendKeyData(r *readBuf) { + cn.processID = r.int32() + cn.secretKey = r.int32() } func (cn *conn) readParseResponse() { diff --git a/vendor/github.com/lib/pq/conn_test.go b/vendor/github.com/lib/pq/conn_test.go index dfc8272..d3c01f3 100644 --- a/vendor/github.com/lib/pq/conn_test.go +++ b/vendor/github.com/lib/pq/conn_test.go @@ -136,7 +136,7 @@ func TestOpenURL(t *testing.T) { testURL("postgresql://") } -const pgpass_file = "/tmp/pqgotest_pgpass" +const pgpassFile = "/tmp/pqgotest_pgpass" func TestPgpass(t *testing.T) { if os.Getenv("TRAVIS") != "true" { @@ -172,10 +172,10 @@ func TestPgpass(t *testing.T) { txn.Rollback() } testAssert("", "ok", "missing .pgpass, unexpected error %#v") - os.Setenv("PGPASSFILE", pgpass_file) + os.Setenv("PGPASSFILE", pgpassFile) testAssert("host=/tmp", "fail", ", unexpected error %#v") - os.Remove(pgpass_file) - pgpass, err := os.OpenFile(pgpass_file, os.O_RDWR|os.O_CREATE, 0644) + os.Remove(pgpassFile) + pgpass, err := os.OpenFile(pgpassFile, os.O_RDWR|os.O_CREATE, 0644) if err != nil { t.Fatalf("Unexpected error writing pgpass file %#v", err) } @@ -213,7 +213,7 @@ localhost:*:*:*:pass_C // wrong permissions for the pgpass file means it should be ignored assertPassword(values{"host": "example.com", "user": "foo"}, "") // fix the permissions and check if it has taken effect - os.Chmod(pgpass_file, 0600) + os.Chmod(pgpassFile, 0600) assertPassword(values{"host": "server", "dbname": "some_db", "user": "some_user"}, "pass_A") assertPassword(values{"host": "example.com", "user": "foo"}, "pass_fallback") assertPassword(values{"host": "example.com", "dbname": "some_db", "user": "some_user"}, "pass_B") @@ -221,7 +221,7 @@ localhost:*:*:*:pass_C assertPassword(values{"host": "", "user": "some_user"}, "pass_C") assertPassword(values{"host": "/tmp", "user": "some_user"}, "pass_C") // cleanup - os.Remove(pgpass_file) + os.Remove(pgpassFile) os.Setenv("PGPASSFILE", "") } @@ -393,8 +393,8 @@ func TestEmptyQuery(t *testing.T) { if _, err := res.RowsAffected(); err != errNoRowsAffected { t.Fatalf("expected %s, got %v", errNoRowsAffected, err) } - if _, err := res.LastInsertId(); err != errNoLastInsertId { - t.Fatalf("expected %s, got %v", errNoLastInsertId, err) + if _, err := res.LastInsertId(); err != errNoLastInsertID { + t.Fatalf("expected %s, got %v", errNoLastInsertID, err) } rows, err := db.Query("") if err != nil { @@ -425,8 +425,8 @@ func TestEmptyQuery(t *testing.T) { if _, err := res.RowsAffected(); err != errNoRowsAffected { t.Fatalf("expected %s, got %v", errNoRowsAffected, err) } - if _, err := res.LastInsertId(); err != errNoLastInsertId { - t.Fatalf("expected %s, got %v", errNoLastInsertId, err) + if _, err := res.LastInsertId(); err != errNoLastInsertID { + t.Fatalf("expected %s, got %v", errNoLastInsertID, err) } rows, err = stmt.Query() if err != nil { @@ -1053,16 +1053,16 @@ func TestIssue282(t *testing.T) { db := openTestConn(t) defer db.Close() - var search_path string + var searchPath string err := db.QueryRow(` SET LOCAL search_path TO pg_catalog; SET LOCAL search_path TO pg_catalog; - SHOW search_path`).Scan(&search_path) + SHOW search_path`).Scan(&searchPath) if err != nil { t.Fatal(err) } - if search_path != "pg_catalog" { - t.Fatalf("unexpected search_path %s", search_path) + if searchPath != "pg_catalog" { + t.Fatalf("unexpected search_path %s", searchPath) } } diff --git a/vendor/github.com/lib/pq/encode_test.go b/vendor/github.com/lib/pq/encode_test.go index b1531ec..3a0f728 100644 --- a/vendor/github.com/lib/pq/encode_test.go +++ b/vendor/github.com/lib/pq/encode_test.go @@ -370,17 +370,17 @@ func TestInfinityTimestamp(t *testing.T) { t.Errorf("Scanning -infinity, expected time %q, got %q", y1500, resultT.String()) } - y_1500 := time.Date(-1500, time.January, 1, 0, 0, 0, 0, time.UTC) + ym1500 := time.Date(-1500, time.January, 1, 0, 0, 0, 0, time.UTC) y11500 := time.Date(11500, time.January, 1, 0, 0, 0, 0, time.UTC) var s string - err = db.QueryRow("SELECT $1::timestamp::text", y_1500).Scan(&s) + err = db.QueryRow("SELECT $1::timestamp::text", ym1500).Scan(&s) if err != nil { t.Errorf("Encoding -infinity, expected no error, got %q", err) } if s != "-infinity" { t.Errorf("Encoding -infinity, expected %q, got %q", "-infinity", s) } - err = db.QueryRow("SELECT $1::timestamptz::text", y_1500).Scan(&s) + err = db.QueryRow("SELECT $1::timestamptz::text", ym1500).Scan(&s) if err != nil { t.Errorf("Encoding -infinity, expected no error, got %q", err) } diff --git a/vendor/github.com/lib/pq/uuid_test.go b/vendor/github.com/lib/pq/uuid_test.go index 9df4a79..8ecee2f 100644 --- a/vendor/github.com/lib/pq/uuid_test.go +++ b/vendor/github.com/lib/pq/uuid_test.go @@ -33,7 +33,7 @@ func TestDecodeUUIDBackend(t *testing.T) { db := openTestConn(t) defer db.Close() - var s string = "a0ecc91d-a13f-4fe4-9fce-7e09777cc70a" + var s = "a0ecc91d-a13f-4fe4-9fce-7e09777cc70a" var scanned interface{} err := db.QueryRow(`SELECT $1::uuid`, s).Scan(&scanned) diff --git a/vendor/github.com/mattn/go-colorable/colorable_windows.go b/vendor/github.com/mattn/go-colorable/colorable_windows.go index 575a134..15a014f 100644 --- a/vendor/github.com/mattn/go-colorable/colorable_windows.go +++ b/vendor/github.com/mattn/go-colorable/colorable_windows.go @@ -29,6 +29,15 @@ const ( backgroundMask = (backgroundRed | backgroundBlue | backgroundGreen | backgroundIntensity) ) +const ( + genericRead = 0x80000000 + genericWrite = 0x40000000 +) + +const ( + consoleTextmodeBuffer = 0x1 +) + type wchar uint16 type short int16 type dword uint32 @@ -69,14 +78,17 @@ var ( procGetConsoleCursorInfo = kernel32.NewProc("GetConsoleCursorInfo") procSetConsoleCursorInfo = kernel32.NewProc("SetConsoleCursorInfo") procSetConsoleTitle = kernel32.NewProc("SetConsoleTitleW") + procCreateConsoleScreenBuffer = kernel32.NewProc("CreateConsoleScreenBuffer") ) // Writer provide colorable Writer to the console type Writer struct { - out io.Writer - handle syscall.Handle - oldattr word - oldpos coord + out io.Writer + handle syscall.Handle + althandle syscall.Handle + oldattr word + oldpos coord + rest bytes.Buffer } // NewColorable return new instance of Writer which handle escape sequence from File. @@ -407,7 +419,18 @@ func (w *Writer) Write(data []byte) (n int, err error) { var csbi consoleScreenBufferInfo procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) - er := bytes.NewReader(data) + handle := w.handle + + var er *bytes.Reader + if w.rest.Len() > 0 { + var rest bytes.Buffer + w.rest.WriteTo(&rest) + w.rest.Reset() + rest.Write(data) + er = bytes.NewReader(rest.Bytes()) + } else { + er = bytes.NewReader(data) + } var bw [1]byte loop: for { @@ -426,28 +449,42 @@ loop: } if c2 == ']' { - if err := doTitleSequence(er); err != nil { + w.rest.WriteByte(c1) + w.rest.WriteByte(c2) + er.WriteTo(&w.rest) + if bytes.IndexByte(w.rest.Bytes(), 0x07) == -1 { break loop } + er = bytes.NewReader(w.rest.Bytes()[2:]) + err := doTitleSequence(er) + if err != nil { + break loop + } + w.rest.Reset() continue } if c2 != 0x5b { continue } + w.rest.WriteByte(c1) + w.rest.WriteByte(c2) + er.WriteTo(&w.rest) + var buf bytes.Buffer var m byte - for { - c, err := er.ReadByte() - if err != nil { - break loop - } + for i, c := range w.rest.Bytes()[2:] { if ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' { m = c + er = bytes.NewReader(w.rest.Bytes()[2+i+1:]) + w.rest.Reset() break } buf.Write([]byte(string(c))) } + if m == 0 { + break loop + } switch m { case 'A': @@ -455,61 +492,64 @@ loop: if err != nil { continue } - procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) csbi.cursorPosition.y -= short(n) - procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) case 'B': n, err = strconv.Atoi(buf.String()) if err != nil { continue } - procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) csbi.cursorPosition.y += short(n) - procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) case 'C': n, err = strconv.Atoi(buf.String()) if err != nil { continue } - procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) csbi.cursorPosition.x += short(n) - procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) case 'D': n, err = strconv.Atoi(buf.String()) if err != nil { continue } - procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) csbi.cursorPosition.x -= short(n) - procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + if csbi.cursorPosition.x < 0 { + csbi.cursorPosition.x = 0 + } + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) case 'E': n, err = strconv.Atoi(buf.String()) if err != nil { continue } - procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) csbi.cursorPosition.x = 0 csbi.cursorPosition.y += short(n) - procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) case 'F': n, err = strconv.Atoi(buf.String()) if err != nil { continue } - procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) csbi.cursorPosition.x = 0 csbi.cursorPosition.y -= short(n) - procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) case 'G': n, err = strconv.Atoi(buf.String()) if err != nil { continue } - procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) csbi.cursorPosition.x = short(n - 1) - procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) - case 'H': - procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'H', 'f': + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) if buf.Len() > 0 { token := strings.Split(buf.String(), ";") switch len(token) { @@ -534,7 +574,7 @@ loop: } else { csbi.cursorPosition.y = 0 } - procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) case 'J': n := 0 if buf.Len() > 0 { @@ -545,7 +585,7 @@ loop: } var count, written dword var cursor coord - procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) switch n { case 0: cursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y} @@ -557,8 +597,8 @@ loop: cursor = coord{x: csbi.window.left, y: csbi.window.top} count = dword(csbi.size.x - csbi.cursorPosition.x + (csbi.size.y-csbi.cursorPosition.y)*csbi.size.x) } - procFillConsoleOutputCharacter.Call(uintptr(w.handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) - procFillConsoleOutputAttribute.Call(uintptr(w.handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputCharacter.Call(uintptr(handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputAttribute.Call(uintptr(handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) case 'K': n := 0 if buf.Len() > 0 { @@ -567,26 +607,28 @@ loop: continue } } - procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) var cursor coord + var count, written dword switch n { case 0: cursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y} + count = dword(csbi.size.x - csbi.cursorPosition.x) case 1: cursor = coord{x: csbi.window.left, y: csbi.window.top + csbi.cursorPosition.y} + count = dword(csbi.size.x - csbi.cursorPosition.x) case 2: cursor = coord{x: csbi.window.left, y: csbi.window.top + csbi.cursorPosition.y} + count = dword(csbi.size.x) } - var count, written dword - count = dword(csbi.size.x - csbi.cursorPosition.x) - procFillConsoleOutputCharacter.Call(uintptr(w.handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) - procFillConsoleOutputAttribute.Call(uintptr(w.handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputCharacter.Call(uintptr(handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputAttribute.Call(uintptr(handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) case 'm': - procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) attr := csbi.attributes cs := buf.String() if cs == "" { - procSetConsoleTextAttribute.Call(uintptr(w.handle), uintptr(w.oldattr)) + procSetConsoleTextAttribute.Call(uintptr(handle), uintptr(w.oldattr)) continue } token := strings.Split(cs, ";") @@ -625,6 +667,21 @@ loop: attr |= n256foreAttr[n256] i += 2 } + } else if len(token) == 5 && token[i+1] == "2" { + var r, g, b int + r, _ = strconv.Atoi(token[i+2]) + g, _ = strconv.Atoi(token[i+3]) + b, _ = strconv.Atoi(token[i+4]) + i += 4 + if r > 127 { + attr |= foregroundRed + } + if g > 127 { + attr |= foregroundGreen + } + if b > 127 { + attr |= foregroundBlue + } } else { attr = attr & (w.oldattr & backgroundMask) } @@ -652,6 +709,21 @@ loop: attr |= n256backAttr[n256] i += 2 } + } else if len(token) == 5 && token[i+1] == "2" { + var r, g, b int + r, _ = strconv.Atoi(token[i+2]) + g, _ = strconv.Atoi(token[i+3]) + b, _ = strconv.Atoi(token[i+4]) + i += 4 + if r > 127 { + attr |= backgroundRed + } + if g > 127 { + attr |= backgroundGreen + } + if b > 127 { + attr |= backgroundBlue + } } else { attr = attr & (w.oldattr & foregroundMask) } @@ -683,30 +755,52 @@ loop: attr |= backgroundBlue } } - procSetConsoleTextAttribute.Call(uintptr(w.handle), uintptr(attr)) + procSetConsoleTextAttribute.Call(uintptr(handle), uintptr(attr)) } } case 'h': + var ci consoleCursorInfo cs := buf.String() - if cs == "?25" { - var ci consoleCursorInfo - procGetConsoleCursorInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&ci))) + if cs == "5>" { + procGetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + ci.visible = 0 + procSetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + } else if cs == "?25" { + procGetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) ci.visible = 1 - procSetConsoleCursorInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&ci))) + procSetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + } else if cs == "?1049" { + if w.althandle == 0 { + h, _, _ := procCreateConsoleScreenBuffer.Call(uintptr(genericRead|genericWrite), 0, 0, uintptr(consoleTextmodeBuffer), 0, 0) + w.althandle = syscall.Handle(h) + if w.althandle != 0 { + handle = w.althandle + } + } } case 'l': + var ci consoleCursorInfo cs := buf.String() - if cs == "?25" { - var ci consoleCursorInfo - procGetConsoleCursorInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&ci))) + if cs == "5>" { + procGetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + ci.visible = 1 + procSetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + } else if cs == "?25" { + procGetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) ci.visible = 0 - procSetConsoleCursorInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&ci))) + procSetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + } else if cs == "?1049" { + if w.althandle != 0 { + syscall.CloseHandle(w.althandle) + w.althandle = 0 + handle = w.handle + } } case 's': - procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) w.oldpos = csbi.cursorPosition case 'u': - procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&w.oldpos))) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&w.oldpos))) } } diff --git a/vendor/github.com/mattn/go-sqlite3/README.md b/vendor/github.com/mattn/go-sqlite3/README.md index 01d28a2..ad00f10 100644 --- a/vendor/github.com/mattn/go-sqlite3/README.md +++ b/vendor/github.com/mattn/go-sqlite3/README.md @@ -65,7 +65,7 @@ FAQ * Want to get time.Time with current locale - Use `loc=auto` in SQLite3 filename schema like `file:foo.db?loc=auto`. + Use `_loc=auto` in SQLite3 filename schema like `file:foo.db?_loc=auto`. * Can I use this in multiple routines concurrently? diff --git a/vendor/github.com/mattn/go-sqlite3/sqlite3.go b/vendor/github.com/mattn/go-sqlite3/sqlite3.go index 2ebf7e7..42a2e18 100644 --- a/vendor/github.com/mattn/go-sqlite3/sqlite3.go +++ b/vendor/github.com/mattn/go-sqlite3/sqlite3.go @@ -167,7 +167,7 @@ type SQLiteDriver struct { // SQLiteConn implement sql.Conn. type SQLiteConn struct { - dbMu sync.Mutex + mu sync.Mutex db *C.sqlite3 loc *time.Location txlock string @@ -182,6 +182,7 @@ type SQLiteTx struct { // SQLiteStmt implement sql.Stmt. type SQLiteStmt struct { + mu sync.Mutex c *SQLiteConn s *C.sqlite3_stmt t string @@ -202,6 +203,7 @@ type SQLiteRows struct { cols []string decltype []string cls bool + closed bool done chan struct{} } @@ -761,9 +763,9 @@ func (c *SQLiteConn) Close() error { return c.lastError() } deleteHandles(c) - c.dbMu.Lock() + c.mu.Lock() c.db = nil - c.dbMu.Unlock() + c.mu.Unlock() runtime.SetFinalizer(c, nil) return nil } @@ -772,8 +774,8 @@ func (c *SQLiteConn) dbConnOpen() bool { if c == nil { return false } - c.dbMu.Lock() - defer c.dbMu.Unlock() + c.mu.Lock() + defer c.mu.Unlock() return c.db != nil } @@ -802,6 +804,8 @@ func (c *SQLiteConn) prepare(ctx context.Context, query string) (driver.Stmt, er // Close the statement. func (s *SQLiteStmt) Close() error { + s.mu.Lock() + defer s.mu.Unlock() if s.closed { return nil } @@ -810,6 +814,7 @@ func (s *SQLiteStmt) Close() error { return errors.New("sqlite statement with already closed database connection") } rv := C.sqlite3_finalize(s.s) + s.s = nil if rv != C.SQLITE_OK { return s.c.lastError() } @@ -866,10 +871,11 @@ func (s *SQLiteStmt) bind(args []namedValue) error { case float64: rv = C.sqlite3_bind_double(s.s, n, C.double(v)) case []byte: - if len(v) == 0 { + ln := len(v) + if ln == 0 { v = placeHolder } - rv = C._sqlite3_bind_blob(s.s, n, unsafe.Pointer(&v[0]), C.int(len(v))) + rv = C._sqlite3_bind_blob(s.s, n, unsafe.Pointer(&v[0]), C.int(ln)) case time.Time: b := []byte(v.Format(SQLiteTimestampFormats[0])) rv = C._sqlite3_bind_text(s.s, n, (*C.char)(unsafe.Pointer(&b[0])), C.int(len(b))) @@ -904,6 +910,7 @@ func (s *SQLiteStmt) query(ctx context.Context, args []namedValue) (driver.Rows, cols: nil, decltype: nil, cls: s.cls, + closed: false, done: make(chan struct{}), } @@ -976,25 +983,33 @@ func (s *SQLiteStmt) exec(ctx context.Context, args []namedValue) (driver.Result // Close the rows. func (rc *SQLiteRows) Close() error { - if rc.s.closed { + rc.s.mu.Lock() + if rc.s.closed || rc.closed { + rc.s.mu.Unlock() return nil } + rc.closed = true if rc.done != nil { close(rc.done) } if rc.cls { + rc.s.mu.Unlock() return rc.s.Close() } rv := C.sqlite3_reset(rc.s.s) if rv != C.SQLITE_OK { + rc.s.mu.Unlock() return rc.s.c.lastError() } + rc.s.mu.Unlock() return nil } // Columns return column names. func (rc *SQLiteRows) Columns() []string { - if rc.nc != len(rc.cols) { + rc.s.mu.Lock() + defer rc.s.mu.Unlock() + if rc.s.s != nil && rc.nc != len(rc.cols) { rc.cols = make([]string, rc.nc) for i := 0; i < rc.nc; i++ { rc.cols[i] = C.GoString(C.sqlite3_column_name(rc.s.s, C.int(i))) @@ -1003,9 +1018,8 @@ func (rc *SQLiteRows) Columns() []string { return rc.cols } -// DeclTypes return column types. -func (rc *SQLiteRows) DeclTypes() []string { - if rc.decltype == nil { +func (rc *SQLiteRows) declTypes() []string { + if rc.s.s != nil && rc.decltype == nil { rc.decltype = make([]string, rc.nc) for i := 0; i < rc.nc; i++ { rc.decltype[i] = strings.ToLower(C.GoString(C.sqlite3_column_decltype(rc.s.s, C.int(i)))) @@ -1014,8 +1028,20 @@ func (rc *SQLiteRows) DeclTypes() []string { return rc.decltype } +// DeclTypes return column types. +func (rc *SQLiteRows) DeclTypes() []string { + rc.s.mu.Lock() + defer rc.s.mu.Unlock() + return rc.declTypes() +} + // Next move cursor to next. func (rc *SQLiteRows) Next(dest []driver.Value) error { + if rc.s.closed { + return io.EOF + } + rc.s.mu.Lock() + defer rc.s.mu.Unlock() rv := C.sqlite3_step(rc.s.s) if rv == C.SQLITE_DONE { return io.EOF @@ -1028,7 +1054,7 @@ func (rc *SQLiteRows) Next(dest []driver.Value) error { return nil } - rc.DeclTypes() + rc.declTypes() for i := range dest { switch C.sqlite3_column_type(rc.s.s, C.int(i)) { diff --git a/vendor/github.com/mattn/go-sqlite3/sqlite3_go18_test.go b/vendor/github.com/mattn/go-sqlite3/sqlite3_go18_test.go index f076b81..a5f4aae 100644 --- a/vendor/github.com/mattn/go-sqlite3/sqlite3_go18_test.go +++ b/vendor/github.com/mattn/go-sqlite3/sqlite3_go18_test.go @@ -8,9 +8,13 @@ package sqlite3 import ( + "context" "database/sql" + "fmt" + "math/rand" "os" "testing" + "time" ) func TestNamedParams(t *testing.T) { @@ -48,3 +52,91 @@ func TestNamedParams(t *testing.T) { t.Error("Failed to db.QueryRow: not matched results") } } + +var ( + testTableStatements = []string{ + `DROP TABLE IF EXISTS test_table`, + ` +CREATE TABLE IF NOT EXISTS test_table ( + key1 VARCHAR(64) PRIMARY KEY, + key_id VARCHAR(64) NOT NULL, + key2 VARCHAR(64) NOT NULL, + key3 VARCHAR(64) NOT NULL, + key4 VARCHAR(64) NOT NULL, + key5 VARCHAR(64) NOT NULL, + key6 VARCHAR(64) NOT NULL, + data BLOB NOT NULL +);`, + } + letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +) + +func randStringBytes(n int) string { + b := make([]byte, n) + for i := range b { + b[i] = letterBytes[rand.Intn(len(letterBytes))] + } + return string(b) +} + +func initDatabase(t *testing.T, db *sql.DB, rowCount int64) { + t.Logf("Executing db initializing statements") + for _, query := range testTableStatements { + _, err := db.Exec(query) + if err != nil { + t.Fatal(err) + } + } + for i := int64(0); i < rowCount; i++ { + query := `INSERT INTO test_table + (key1, key_id, key2, key3, key4, key5, key6, data) + VALUES + (?, ?, ?, ?, ?, ?, ?, ?);` + args := []interface{}{ + randStringBytes(50), + fmt.Sprint(i), + randStringBytes(50), + randStringBytes(50), + randStringBytes(50), + randStringBytes(50), + randStringBytes(50), + randStringBytes(50), + randStringBytes(2048), + } + _, err := db.Exec(query, args...) + if err != nil { + t.Fatal(err) + } + } +} + +func TestShortTimeout(t *testing.T) { + db, err := sql.Open("sqlite3", "file::memory:?mode=memory&cache=shared") + if err != nil { + t.Fatal(err) + } + defer db.Close() + initDatabase(t, db, 10000) + + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Microsecond) + defer cancel() + query := `SELECT key1, key_id, key2, key3, key4, key5, key6, data + FROM test_table + ORDER BY key2 ASC` + rows, err := db.QueryContext(ctx, query) + if err != nil { + t.Fatal(err) + } + defer rows.Close() + for rows.Next() { + var key1, keyid, key2, key3, key4, key5, key6 string + var data []byte + err = rows.Scan(&key1, &keyid, &key2, &key3, &key4, &key5, &key6, &data) + if err != nil { + break + } + } + if context.DeadlineExceeded != ctx.Err() { + t.Fatal(ctx.Err()) + } +} diff --git a/vendor/github.com/mattn/go-sqlite3/sqlite3_libsqlite3.go b/vendor/github.com/mattn/go-sqlite3/sqlite3_libsqlite3.go index 135863e..e4557e6 100644 --- a/vendor/github.com/mattn/go-sqlite3/sqlite3_libsqlite3.go +++ b/vendor/github.com/mattn/go-sqlite3/sqlite3_libsqlite3.go @@ -10,5 +10,6 @@ package sqlite3 #cgo CFLAGS: -DUSE_LIBSQLITE3 #cgo linux LDFLAGS: -lsqlite3 #cgo darwin LDFLAGS: -L/usr/local/opt/sqlite/lib -lsqlite3 +#cgo solaris LDFLAGS: -lsqlite3 */ import "C" diff --git a/vendor/github.com/mattn/go-sqlite3/sqlite3_other.go b/vendor/github.com/mattn/go-sqlite3/sqlite3_other.go index a20d02c..f721b5e 100644 --- a/vendor/github.com/mattn/go-sqlite3/sqlite3_other.go +++ b/vendor/github.com/mattn/go-sqlite3/sqlite3_other.go @@ -9,5 +9,6 @@ package sqlite3 /* #cgo CFLAGS: -I. #cgo linux LDFLAGS: -ldl +#cgo solaris LDFLAGS: -lc */ import "C" diff --git a/vendor/github.com/mattn/go-sqlite3/sqlite3_test.go b/vendor/github.com/mattn/go-sqlite3/sqlite3_test.go index a00e622..09e6727 100644 --- a/vendor/github.com/mattn/go-sqlite3/sqlite3_test.go +++ b/vendor/github.com/mattn/go-sqlite3/sqlite3_test.go @@ -6,21 +6,22 @@ package sqlite3 import ( + "bytes" "database/sql" "database/sql/driver" "errors" "fmt" "io/ioutil" + "math/rand" "net/url" "os" "reflect" "regexp" + "strconv" "strings" "sync" "testing" "time" - - "github.com/mattn/go-sqlite3/sqlite3_test" ) func TempFilename(t *testing.T) string { @@ -870,18 +871,6 @@ func TestTimezoneConversion(t *testing.T) { } } -func TestSuite(t *testing.T) { - tempFilename := TempFilename(t) - defer os.Remove(tempFilename) - db, err := sql.Open("sqlite3", tempFilename+"?_busy_timeout=99999") - if err != nil { - t.Fatal(err) - } - defer db.Close() - - sqlite3_test.RunTests(t, db, sqlite3_test.SQLITE) -} - // TODO: Execer & Queryer currently disabled // https://github.com/mattn/go-sqlite3/issues/82 func TestExecer(t *testing.T) { @@ -1355,6 +1344,61 @@ func TestUpdateAndTransactionHooks(t *testing.T) { } } +func TestNilAndEmptyBytes(t *testing.T) { + db, err := sql.Open("sqlite3", ":memory:") + if err != nil { + t.Fatal(err) + } + defer db.Close() + actualNil := []byte("use this to use an actual nil not a reference to nil") + emptyBytes := []byte{} + for tsti, tst := range []struct { + name string + columnType string + insertBytes []byte + expectedBytes []byte + }{ + {"actual nil blob", "blob", actualNil, nil}, + {"referenced nil blob", "blob", nil, nil}, + {"empty blob", "blob", emptyBytes, emptyBytes}, + {"actual nil text", "text", actualNil, nil}, + {"referenced nil text", "text", nil, nil}, + {"empty text", "text", emptyBytes, emptyBytes}, + } { + if _, err = db.Exec(fmt.Sprintf("create table tbl%d (txt %s)", tsti, tst.columnType)); err != nil { + t.Fatal(tst.name, err) + } + if bytes.Equal(tst.insertBytes, actualNil) { + if _, err = db.Exec(fmt.Sprintf("insert into tbl%d (txt) values (?)", tsti), nil); err != nil { + t.Fatal(tst.name, err) + } + } else { + if _, err = db.Exec(fmt.Sprintf("insert into tbl%d (txt) values (?)", tsti), &tst.insertBytes); err != nil { + t.Fatal(tst.name, err) + } + } + rows, err := db.Query(fmt.Sprintf("select txt from tbl%d", tsti)) + if err != nil { + t.Fatal(tst.name, err) + } + if !rows.Next() { + t.Fatal(tst.name, "no rows") + } + var scanBytes []byte + if err = rows.Scan(&scanBytes); err != nil { + t.Fatal(tst.name, err) + } + if err = rows.Err(); err != nil { + t.Fatal(tst.name, err) + } + if tst.expectedBytes == nil && scanBytes != nil { + t.Errorf("%s: %#v != %#v", tst.name, scanBytes, tst.expectedBytes) + } else if !bytes.Equal(scanBytes, tst.expectedBytes) { + t.Errorf("%s: %#v != %#v", tst.name, scanBytes, tst.expectedBytes) + } + } +} + var customFunctionOnce sync.Once func BenchmarkCustomFunctions(b *testing.B) { @@ -1389,3 +1433,422 @@ func BenchmarkCustomFunctions(b *testing.B) { } } } + +func TestSuite(t *testing.T) { + tempFilename := TempFilename(t) + defer os.Remove(tempFilename) + d, err := sql.Open("sqlite3", tempFilename+"?_busy_timeout=99999") + if err != nil { + t.Fatal(err) + } + defer d.Close() + + db = &TestDB{t, d, SQLITE, sync.Once{}} + testing.RunTests(func(string, string) (bool, error) { return true, nil }, tests) + + if !testing.Short() { + for _, b := range benchmarks { + fmt.Printf("%-20s", b.Name) + r := testing.Benchmark(b.F) + fmt.Printf("%10d %10.0f req/s\n", r.N, float64(r.N)/r.T.Seconds()) + } + } + db.tearDown() +} + +// Dialect is a type of dialect of databases. +type Dialect int + +// Dialects for databases. +const ( + SQLITE Dialect = iota // SQLITE mean SQLite3 dialect + POSTGRESQL // POSTGRESQL mean PostgreSQL dialect + MYSQL // MYSQL mean MySQL dialect +) + +// DB provide context for the tests +type TestDB struct { + *testing.T + *sql.DB + dialect Dialect + once sync.Once +} + +var db *TestDB + +// the following tables will be created and dropped during the test +var testTables = []string{"foo", "bar", "t", "bench"} + +var tests = []testing.InternalTest{ + {Name: "TestResult", F: testResult}, + {Name: "TestBlobs", F: testBlobs}, + {Name: "TestManyQueryRow", F: testManyQueryRow}, + {Name: "TestTxQuery", F: testTxQuery}, + {Name: "TestPreparedStmt", F: testPreparedStmt}, +} + +var benchmarks = []testing.InternalBenchmark{ + {Name: "BenchmarkExec", F: benchmarkExec}, + {Name: "BenchmarkQuery", F: benchmarkQuery}, + {Name: "BenchmarkParams", F: benchmarkParams}, + {Name: "BenchmarkStmt", F: benchmarkStmt}, + {Name: "BenchmarkRows", F: benchmarkRows}, + {Name: "BenchmarkStmtRows", F: benchmarkStmtRows}, +} + +func (db *TestDB) mustExec(sql string, args ...interface{}) sql.Result { + res, err := db.Exec(sql, args...) + if err != nil { + db.Fatalf("Error running %q: %v", sql, err) + } + return res +} + +func (db *TestDB) tearDown() { + for _, tbl := range testTables { + switch db.dialect { + case SQLITE: + db.mustExec("drop table if exists " + tbl) + case MYSQL, POSTGRESQL: + db.mustExec("drop table if exists " + tbl) + default: + db.Fatal("unknown dialect") + } + } +} + +// q replaces ? parameters if needed +func (db *TestDB) q(sql string) string { + switch db.dialect { + case POSTGRESQL: // repace with $1, $2, .. + qrx := regexp.MustCompile(`\?`) + n := 0 + return qrx.ReplaceAllStringFunc(sql, func(string) string { + n++ + return "$" + strconv.Itoa(n) + }) + } + return sql +} + +func (db *TestDB) blobType(size int) string { + switch db.dialect { + case SQLITE: + return fmt.Sprintf("blob[%d]", size) + case POSTGRESQL: + return "bytea" + case MYSQL: + return fmt.Sprintf("VARBINARY(%d)", size) + } + panic("unknown dialect") +} + +func (db *TestDB) serialPK() string { + switch db.dialect { + case SQLITE: + return "integer primary key autoincrement" + case POSTGRESQL: + return "serial primary key" + case MYSQL: + return "integer primary key auto_increment" + } + panic("unknown dialect") +} + +func (db *TestDB) now() string { + switch db.dialect { + case SQLITE: + return "datetime('now')" + case POSTGRESQL: + return "now()" + case MYSQL: + return "now()" + } + panic("unknown dialect") +} + +func makeBench() { + if _, err := db.Exec("create table bench (n varchar(32), i integer, d double, s varchar(32), t datetime)"); err != nil { + panic(err) + } + st, err := db.Prepare("insert into bench values (?, ?, ?, ?, ?)") + if err != nil { + panic(err) + } + defer st.Close() + for i := 0; i < 100; i++ { + if _, err = st.Exec(nil, i, float64(i), fmt.Sprintf("%d", i), time.Now()); err != nil { + panic(err) + } + } +} + +// testResult is test for result +func testResult(t *testing.T) { + db.tearDown() + db.mustExec("create temporary table test (id " + db.serialPK() + ", name varchar(10))") + + for i := 1; i < 3; i++ { + r := db.mustExec(db.q("insert into test (name) values (?)"), fmt.Sprintf("row %d", i)) + n, err := r.RowsAffected() + if err != nil { + t.Fatal(err) + } + if n != 1 { + t.Errorf("got %v, want %v", n, 1) + } + n, err = r.LastInsertId() + if err != nil { + t.Fatal(err) + } + if n != int64(i) { + t.Errorf("got %v, want %v", n, i) + } + } + if _, err := db.Exec("error!"); err == nil { + t.Fatalf("expected error") + } +} + +// testBlobs is test for blobs +func testBlobs(t *testing.T) { + db.tearDown() + var blob = []byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15} + db.mustExec("create table foo (id integer primary key, bar " + db.blobType(16) + ")") + db.mustExec(db.q("insert into foo (id, bar) values(?,?)"), 0, blob) + + want := fmt.Sprintf("%x", blob) + + b := make([]byte, 16) + err := db.QueryRow(db.q("select bar from foo where id = ?"), 0).Scan(&b) + got := fmt.Sprintf("%x", b) + if err != nil { + t.Errorf("[]byte scan: %v", err) + } else if got != want { + t.Errorf("for []byte, got %q; want %q", got, want) + } + + err = db.QueryRow(db.q("select bar from foo where id = ?"), 0).Scan(&got) + want = string(blob) + if err != nil { + t.Errorf("string scan: %v", err) + } else if got != want { + t.Errorf("for string, got %q; want %q", got, want) + } +} + +// testManyQueryRow is test for many query row +func testManyQueryRow(t *testing.T) { + if testing.Short() { + t.Log("skipping in short mode") + return + } + db.tearDown() + db.mustExec("create table foo (id integer primary key, name varchar(50))") + db.mustExec(db.q("insert into foo (id, name) values(?,?)"), 1, "bob") + var name string + for i := 0; i < 10000; i++ { + err := db.QueryRow(db.q("select name from foo where id = ?"), 1).Scan(&name) + if err != nil || name != "bob" { + t.Fatalf("on query %d: err=%v, name=%q", i, err, name) + } + } +} + +// testTxQuery is test for transactional query +func testTxQuery(t *testing.T) { + db.tearDown() + tx, err := db.Begin() + if err != nil { + t.Fatal(err) + } + defer tx.Rollback() + + _, err = tx.Exec("create table foo (id integer primary key, name varchar(50))") + if err != nil { + t.Fatal(err) + } + + _, err = tx.Exec(db.q("insert into foo (id, name) values(?,?)"), 1, "bob") + if err != nil { + t.Fatal(err) + } + + r, err := tx.Query(db.q("select name from foo where id = ?"), 1) + if err != nil { + t.Fatal(err) + } + defer r.Close() + + if !r.Next() { + if r.Err() != nil { + t.Fatal(err) + } + t.Fatal("expected one rows") + } + + var name string + err = r.Scan(&name) + if err != nil { + t.Fatal(err) + } +} + +// testPreparedStmt is test for prepared statement +func testPreparedStmt(t *testing.T) { + db.tearDown() + db.mustExec("CREATE TABLE t (count INT)") + sel, err := db.Prepare("SELECT count FROM t ORDER BY count DESC") + if err != nil { + t.Fatalf("prepare 1: %v", err) + } + ins, err := db.Prepare(db.q("INSERT INTO t (count) VALUES (?)")) + if err != nil { + t.Fatalf("prepare 2: %v", err) + } + + for n := 1; n <= 3; n++ { + if _, err := ins.Exec(n); err != nil { + t.Fatalf("insert(%d) = %v", n, err) + } + } + + const nRuns = 10 + var wg sync.WaitGroup + for i := 0; i < nRuns; i++ { + wg.Add(1) + go func() { + defer wg.Done() + for j := 0; j < 10; j++ { + count := 0 + if err := sel.QueryRow().Scan(&count); err != nil && err != sql.ErrNoRows { + t.Errorf("Query: %v", err) + return + } + if _, err := ins.Exec(rand.Intn(100)); err != nil { + t.Errorf("Insert: %v", err) + return + } + } + }() + } + wg.Wait() +} + +// Benchmarks need to use panic() since b.Error errors are lost when +// running via testing.Benchmark() I would like to run these via go +// test -bench but calling Benchmark() from a benchmark test +// currently hangs go. + +// benchmarkExec is benchmark for exec +func benchmarkExec(b *testing.B) { + for i := 0; i < b.N; i++ { + if _, err := db.Exec("select 1"); err != nil { + panic(err) + } + } +} + +// benchmarkQuery is benchmark for query +func benchmarkQuery(b *testing.B) { + for i := 0; i < b.N; i++ { + var n sql.NullString + var i int + var f float64 + var s string + // var t time.Time + if err := db.QueryRow("select null, 1, 1.1, 'foo'").Scan(&n, &i, &f, &s); err != nil { + panic(err) + } + } +} + +// benchmarkParams is benchmark for params +func benchmarkParams(b *testing.B) { + for i := 0; i < b.N; i++ { + var n sql.NullString + var i int + var f float64 + var s string + // var t time.Time + if err := db.QueryRow("select ?, ?, ?, ?", nil, 1, 1.1, "foo").Scan(&n, &i, &f, &s); err != nil { + panic(err) + } + } +} + +// benchmarkStmt is benchmark for statement +func benchmarkStmt(b *testing.B) { + st, err := db.Prepare("select ?, ?, ?, ?") + if err != nil { + panic(err) + } + defer st.Close() + + for n := 0; n < b.N; n++ { + var n sql.NullString + var i int + var f float64 + var s string + // var t time.Time + if err := st.QueryRow(nil, 1, 1.1, "foo").Scan(&n, &i, &f, &s); err != nil { + panic(err) + } + } +} + +// benchmarkRows is benchmark for rows +func benchmarkRows(b *testing.B) { + db.once.Do(makeBench) + + for n := 0; n < b.N; n++ { + var n sql.NullString + var i int + var f float64 + var s string + var t time.Time + r, err := db.Query("select * from bench") + if err != nil { + panic(err) + } + for r.Next() { + if err = r.Scan(&n, &i, &f, &s, &t); err != nil { + panic(err) + } + } + if err = r.Err(); err != nil { + panic(err) + } + } +} + +// benchmarkStmtRows is benchmark for statement rows +func benchmarkStmtRows(b *testing.B) { + db.once.Do(makeBench) + + st, err := db.Prepare("select * from bench") + if err != nil { + panic(err) + } + defer st.Close() + + for n := 0; n < b.N; n++ { + var n sql.NullString + var i int + var f float64 + var s string + var t time.Time + r, err := st.Query() + if err != nil { + panic(err) + } + for r.Next() { + if err = r.Scan(&n, &i, &f, &s, &t); err != nil { + panic(err) + } + } + if err = r.Err(); err != nil { + panic(err) + } + } +} diff --git a/vendor/github.com/mattn/go-sqlite3/sqlite3_test/sqltest.go b/vendor/github.com/mattn/go-sqlite3/sqlite3_test/sqltest.go deleted file mode 100644 index 0ad9c3a..0000000 --- a/vendor/github.com/mattn/go-sqlite3/sqlite3_test/sqltest.go +++ /dev/null @@ -1,423 +0,0 @@ -package sqlite3_test - -import ( - "database/sql" - "fmt" - "math/rand" - "regexp" - "strconv" - "sync" - "testing" - "time" -) - -// Dialect is a type of dialect of databases. -type Dialect int - -// Dialects for databases. -const ( - SQLITE Dialect = iota // SQLITE mean SQLite3 dialect - POSTGRESQL // POSTGRESQL mean PostgreSQL dialect - MYSQL // MYSQL mean MySQL dialect -) - -// DB provide context for the tests -type DB struct { - *testing.T - *sql.DB - dialect Dialect - once sync.Once -} - -var db *DB - -// the following tables will be created and dropped during the test -var testTables = []string{"foo", "bar", "t", "bench"} - -var tests = []testing.InternalTest{ - {Name: "TestBlobs", F: TestBlobs}, - {Name: "TestManyQueryRow", F: TestManyQueryRow}, - {Name: "TestTxQuery", F: TestTxQuery}, - {Name: "TestPreparedStmt", F: TestPreparedStmt}, -} - -var benchmarks = []testing.InternalBenchmark{ - {Name: "BenchmarkExec", F: BenchmarkExec}, - {Name: "BenchmarkQuery", F: BenchmarkQuery}, - {Name: "BenchmarkParams", F: BenchmarkParams}, - {Name: "BenchmarkStmt", F: BenchmarkStmt}, - {Name: "BenchmarkRows", F: BenchmarkRows}, - {Name: "BenchmarkStmtRows", F: BenchmarkStmtRows}, -} - -// RunTests runs the SQL test suite -func RunTests(t *testing.T, d *sql.DB, dialect Dialect) { - db = &DB{t, d, dialect, sync.Once{}} - testing.RunTests(func(string, string) (bool, error) { return true, nil }, tests) - - if !testing.Short() { - for _, b := range benchmarks { - fmt.Printf("%-20s", b.Name) - r := testing.Benchmark(b.F) - fmt.Printf("%10d %10.0f req/s\n", r.N, float64(r.N)/r.T.Seconds()) - } - } - db.tearDown() -} - -func (db *DB) mustExec(sql string, args ...interface{}) sql.Result { - res, err := db.Exec(sql, args...) - if err != nil { - db.Fatalf("Error running %q: %v", sql, err) - } - return res -} - -func (db *DB) tearDown() { - for _, tbl := range testTables { - switch db.dialect { - case SQLITE: - db.mustExec("drop table if exists " + tbl) - case MYSQL, POSTGRESQL: - db.mustExec("drop table if exists " + tbl) - default: - db.Fatal("unknown dialect") - } - } -} - -// q replaces ? parameters if needed -func (db *DB) q(sql string) string { - switch db.dialect { - case POSTGRESQL: // repace with $1, $2, .. - qrx := regexp.MustCompile(`\?`) - n := 0 - return qrx.ReplaceAllStringFunc(sql, func(string) string { - n++ - return "$" + strconv.Itoa(n) - }) - } - return sql -} - -func (db *DB) blobType(size int) string { - switch db.dialect { - case SQLITE: - return fmt.Sprintf("blob[%d]", size) - case POSTGRESQL: - return "bytea" - case MYSQL: - return fmt.Sprintf("VARBINARY(%d)", size) - } - panic("unknown dialect") -} - -func (db *DB) serialPK() string { - switch db.dialect { - case SQLITE: - return "integer primary key autoincrement" - case POSTGRESQL: - return "serial primary key" - case MYSQL: - return "integer primary key auto_increment" - } - panic("unknown dialect") -} - -func (db *DB) now() string { - switch db.dialect { - case SQLITE: - return "datetime('now')" - case POSTGRESQL: - return "now()" - case MYSQL: - return "now()" - } - panic("unknown dialect") -} - -func makeBench() { - if _, err := db.Exec("create table bench (n varchar(32), i integer, d double, s varchar(32), t datetime)"); err != nil { - panic(err) - } - st, err := db.Prepare("insert into bench values (?, ?, ?, ?, ?)") - if err != nil { - panic(err) - } - defer st.Close() - for i := 0; i < 100; i++ { - if _, err = st.Exec(nil, i, float64(i), fmt.Sprintf("%d", i), time.Now()); err != nil { - panic(err) - } - } -} - -// TestResult is test for result -func TestResult(t *testing.T) { - db.tearDown() - db.mustExec("create temporary table test (id " + db.serialPK() + ", name varchar(10))") - - for i := 1; i < 3; i++ { - r := db.mustExec(db.q("insert into test (name) values (?)"), fmt.Sprintf("row %d", i)) - n, err := r.RowsAffected() - if err != nil { - t.Fatal(err) - } - if n != 1 { - t.Errorf("got %v, want %v", n, 1) - } - n, err = r.LastInsertId() - if err != nil { - t.Fatal(err) - } - if n != int64(i) { - t.Errorf("got %v, want %v", n, i) - } - } - if _, err := db.Exec("error!"); err == nil { - t.Fatalf("expected error") - } -} - -// TestBlobs is test for blobs -func TestBlobs(t *testing.T) { - db.tearDown() - var blob = []byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15} - db.mustExec("create table foo (id integer primary key, bar " + db.blobType(16) + ")") - db.mustExec(db.q("insert into foo (id, bar) values(?,?)"), 0, blob) - - want := fmt.Sprintf("%x", blob) - - b := make([]byte, 16) - err := db.QueryRow(db.q("select bar from foo where id = ?"), 0).Scan(&b) - got := fmt.Sprintf("%x", b) - if err != nil { - t.Errorf("[]byte scan: %v", err) - } else if got != want { - t.Errorf("for []byte, got %q; want %q", got, want) - } - - err = db.QueryRow(db.q("select bar from foo where id = ?"), 0).Scan(&got) - want = string(blob) - if err != nil { - t.Errorf("string scan: %v", err) - } else if got != want { - t.Errorf("for string, got %q; want %q", got, want) - } -} - -// TestManyQueryRow is test for many query row -func TestManyQueryRow(t *testing.T) { - if testing.Short() { - t.Log("skipping in short mode") - return - } - db.tearDown() - db.mustExec("create table foo (id integer primary key, name varchar(50))") - db.mustExec(db.q("insert into foo (id, name) values(?,?)"), 1, "bob") - var name string - for i := 0; i < 10000; i++ { - err := db.QueryRow(db.q("select name from foo where id = ?"), 1).Scan(&name) - if err != nil || name != "bob" { - t.Fatalf("on query %d: err=%v, name=%q", i, err, name) - } - } -} - -// TestTxQuery is test for transactional query -func TestTxQuery(t *testing.T) { - db.tearDown() - tx, err := db.Begin() - if err != nil { - t.Fatal(err) - } - defer tx.Rollback() - - _, err = tx.Exec("create table foo (id integer primary key, name varchar(50))") - if err != nil { - t.Fatal(err) - } - - _, err = tx.Exec(db.q("insert into foo (id, name) values(?,?)"), 1, "bob") - if err != nil { - t.Fatal(err) - } - - r, err := tx.Query(db.q("select name from foo where id = ?"), 1) - if err != nil { - t.Fatal(err) - } - defer r.Close() - - if !r.Next() { - if r.Err() != nil { - t.Fatal(err) - } - t.Fatal("expected one rows") - } - - var name string - err = r.Scan(&name) - if err != nil { - t.Fatal(err) - } -} - -// TestPreparedStmt is test for prepared statement -func TestPreparedStmt(t *testing.T) { - db.tearDown() - db.mustExec("CREATE TABLE t (count INT)") - sel, err := db.Prepare("SELECT count FROM t ORDER BY count DESC") - if err != nil { - t.Fatalf("prepare 1: %v", err) - } - ins, err := db.Prepare(db.q("INSERT INTO t (count) VALUES (?)")) - if err != nil { - t.Fatalf("prepare 2: %v", err) - } - - for n := 1; n <= 3; n++ { - if _, err := ins.Exec(n); err != nil { - t.Fatalf("insert(%d) = %v", n, err) - } - } - - const nRuns = 10 - var wg sync.WaitGroup - for i := 0; i < nRuns; i++ { - wg.Add(1) - go func() { - defer wg.Done() - for j := 0; j < 10; j++ { - count := 0 - if err := sel.QueryRow().Scan(&count); err != nil && err != sql.ErrNoRows { - t.Errorf("Query: %v", err) - return - } - if _, err := ins.Exec(rand.Intn(100)); err != nil { - t.Errorf("Insert: %v", err) - return - } - } - }() - } - wg.Wait() -} - -// Benchmarks need to use panic() since b.Error errors are lost when -// running via testing.Benchmark() I would like to run these via go -// test -bench but calling Benchmark() from a benchmark test -// currently hangs go. - -// BenchmarkExec is benchmark for exec -func BenchmarkExec(b *testing.B) { - for i := 0; i < b.N; i++ { - if _, err := db.Exec("select 1"); err != nil { - panic(err) - } - } -} - -// BenchmarkQuery is benchmark for query -func BenchmarkQuery(b *testing.B) { - for i := 0; i < b.N; i++ { - var n sql.NullString - var i int - var f float64 - var s string - // var t time.Time - if err := db.QueryRow("select null, 1, 1.1, 'foo'").Scan(&n, &i, &f, &s); err != nil { - panic(err) - } - } -} - -// BenchmarkParams is benchmark for params -func BenchmarkParams(b *testing.B) { - for i := 0; i < b.N; i++ { - var n sql.NullString - var i int - var f float64 - var s string - // var t time.Time - if err := db.QueryRow("select ?, ?, ?, ?", nil, 1, 1.1, "foo").Scan(&n, &i, &f, &s); err != nil { - panic(err) - } - } -} - -// BenchmarkStmt is benchmark for statement -func BenchmarkStmt(b *testing.B) { - st, err := db.Prepare("select ?, ?, ?, ?") - if err != nil { - panic(err) - } - defer st.Close() - - for n := 0; n < b.N; n++ { - var n sql.NullString - var i int - var f float64 - var s string - // var t time.Time - if err := st.QueryRow(nil, 1, 1.1, "foo").Scan(&n, &i, &f, &s); err != nil { - panic(err) - } - } -} - -// BenchmarkRows is benchmark for rows -func BenchmarkRows(b *testing.B) { - db.once.Do(makeBench) - - for n := 0; n < b.N; n++ { - var n sql.NullString - var i int - var f float64 - var s string - var t time.Time - r, err := db.Query("select * from bench") - if err != nil { - panic(err) - } - for r.Next() { - if err = r.Scan(&n, &i, &f, &s, &t); err != nil { - panic(err) - } - } - if err = r.Err(); err != nil { - panic(err) - } - } -} - -// BenchmarkStmtRows is benchmark for statement rows -func BenchmarkStmtRows(b *testing.B) { - db.once.Do(makeBench) - - st, err := db.Prepare("select * from bench") - if err != nil { - panic(err) - } - defer st.Close() - - for n := 0; n < b.N; n++ { - var n sql.NullString - var i int - var f float64 - var s string - var t time.Time - r, err := st.Query() - if err != nil { - panic(err) - } - for r.Next() { - if err = r.Scan(&n, &i, &f, &s, &t); err != nil { - panic(err) - } - } - if err = r.Err(); err != nil { - panic(err) - } - } -} diff --git a/vendor/github.com/smartystreets/goconvey/.travis.yml b/vendor/github.com/smartystreets/goconvey/.travis.yml index 345fb7c..eda7326 100644 --- a/vendor/github.com/smartystreets/goconvey/.travis.yml +++ b/vendor/github.com/smartystreets/goconvey/.travis.yml @@ -1,11 +1,13 @@ language: go go: - - 1.2 - - 1.3 - - 1.4 - - 1.5 - - 1.6 + - 1.2.x + - 1.3.x + - 1.4.x + - 1.5.x + - 1.6.x + - 1.7.x + - 1.8.x - tip install: diff --git a/vendor/github.com/smartystreets/goconvey/convey/assertions.go b/vendor/github.com/smartystreets/goconvey/convey/assertions.go index 1e87b82..b37f6b4 100644 --- a/vendor/github.com/smartystreets/goconvey/convey/assertions.go +++ b/vendor/github.com/smartystreets/goconvey/convey/assertions.go @@ -65,4 +65,6 @@ var ( ShouldHappenWithin = assertions.ShouldHappenWithin ShouldNotHappenWithin = assertions.ShouldNotHappenWithin ShouldBeChronological = assertions.ShouldBeChronological + + ShouldBeError = assertions.ShouldBeError ) diff --git a/vendor/github.com/smartystreets/goconvey/doc_test.go b/vendor/github.com/smartystreets/goconvey/doc_test.go deleted file mode 100644 index 06ab7d0..0000000 --- a/vendor/github.com/smartystreets/goconvey/doc_test.go +++ /dev/null @@ -1 +0,0 @@ -package main diff --git a/vendor/github.com/smartystreets/goconvey/goconvey.go b/vendor/github.com/smartystreets/goconvey/goconvey.go index 2c433c4..5b788fc 100644 --- a/vendor/github.com/smartystreets/goconvey/goconvey.go +++ b/vendor/github.com/smartystreets/goconvey/goconvey.go @@ -35,13 +35,13 @@ func init() { func flags() { flag.IntVar(&port, "port", 8080, "The port at which to serve http.") flag.StringVar(&host, "host", "127.0.0.1", "The host at which to serve http.") - flag.DurationVar(&nap, "poll", quarterSecond, "The interval to wait between polling the file system for changes (default: 250ms).") - flag.IntVar(&packages, "packages", 10, "The number of packages to test in parallel. Higher == faster but more costly in terms of computing. (default: 10)") + flag.DurationVar(&nap, "poll", quarterSecond, "The interval to wait between polling the file system for changes.") + flag.IntVar(&packages, "packages", 10, "The number of packages to test in parallel. Higher == faster but more costly in terms of computing.") flag.StringVar(&gobin, "gobin", "go", "The path to the 'go' binary (default: search on the PATH).") - flag.BoolVar(&cover, "cover", true, "Enable package-level coverage statistics. Requires Go 1.2+ and the go cover tool. (default: true)") - flag.IntVar(&depth, "depth", -1, "The directory scanning depth. If -1, scan infinitely deep directory structures. 0: scan working directory. 1+: Scan into nested directories, limited to value. (default: -1)") + flag.BoolVar(&cover, "cover", true, "Enable package-level coverage statistics. Requires Go 1.2+ and the go cover tool.") + flag.IntVar(&depth, "depth", -1, "The directory scanning depth. If -1, scan infinitely deep directory structures. 0: scan working directory. 1+: Scan into nested directories, limited to value.") flag.StringVar(&timeout, "timeout", "0", "The test execution timeout if none is specified in the *.goconvey file (default is '0', which is the same as not providing this option).") - flag.StringVar(&watchedSuffixes, "watchedSuffixes", ".go", "A comma separated list of file suffixes to watch for modifications (default: .go).") + flag.StringVar(&watchedSuffixes, "watchedSuffixes", ".go", "A comma separated list of file suffixes to watch for modifications.") flag.StringVar(&excludedDirs, "excludedDirs", "vendor,node_modules", "A comma separated list of directories that will be excluded from being watched") flag.StringVar(&workDir, "workDir", "", "set goconvey working directory (default current directory)") flag.BoolVar(&autoLaunchBrowser, "launchBrowser", true, "toggle auto launching of browser (default: true)") diff --git a/vendor/github.com/smartystreets/goconvey/web/client/index.html b/vendor/github.com/smartystreets/goconvey/web/client/index.html index 1c75cbf..490e4cb 100644 --- a/vendor/github.com/smartystreets/goconvey/web/client/index.html +++ b/vendor/github.com/smartystreets/goconvey/web/client/index.html @@ -90,8 +90,9 @@
    -
  1. Show
  2. -
  3. Hide
  4. +
  5. All
  6. +
  7. Failed
  8. +
  9. None
diff --git a/vendor/github.com/smartystreets/goconvey/web/client/resources/css/themes/dark.css b/vendor/github.com/smartystreets/goconvey/web/client/resources/css/themes/dark.css index 132e19d..60a5d0c 100644 --- a/vendor/github.com/smartystreets/goconvey/web/client/resources/css/themes/dark.css +++ b/vendor/github.com/smartystreets/goconvey/web/client/resources/css/themes/dark.css @@ -350,7 +350,13 @@ footer .recording.replay .fa { .statusicon.skip, .skip-clr { color: #888; } .ansi-green { color: #76C13C; } -.ansi-yellow { color: #EA9C4D; } +.ansi-yellow { color: #EA9C4D; } +.ansi-red { color: #FF3232; } +.ansi-black { color: #000000; } +.ansi-blue { color: #FF3232; } +.ansi-purple { color: #C646C6; } +.ansi-cyan { color: #00CDCD; } +.ansi-white { color: #FFFFFF; } .log .timestamp { color: #999; diff --git a/vendor/github.com/smartystreets/goconvey/web/client/resources/js/goconvey.js b/vendor/github.com/smartystreets/goconvey/web/client/resources/js/goconvey.js index 29f6338..fcd2e70 100644 --- a/vendor/github.com/smartystreets/goconvey/web/client/resources/js/goconvey.js +++ b/vendor/github.com/smartystreets/goconvey/web/client/resources/js/goconvey.js @@ -158,10 +158,7 @@ function wireup() { var newSetting = $(this).data('show-debug-output'); save('show-debug-output', newSetting); - if (newSetting === "show") - $('.story-line-desc .message').show(); - else - $('.story-line-desc .message').hide(); + setDebugOutputUI(newSetting); }); $('.enum#ui-effects').on('click', 'li:not(.sel)', function() { @@ -433,6 +430,22 @@ function setTooltips() } } +function setDebugOutputUI(newSetting){ + var $storyLine = $('.story-line'); + switch(newSetting) { + case 'hide': + $('.message', $storyLine).hide(); + break; + case 'fail': + $('.message', $storyLine.not('.fail, .panic')).hide(); + $('.message', $storyLine.filter('.fail, .panic')).show(); + break; + default: + $('.message', $storyLine).show(); + break; + } +} + function setNotifUI() { var $toggleNotif = $('#toggle-notif').addClass(notif() ? "fa-bell" : "fa-bell-o"); @@ -833,6 +846,10 @@ function process(data, status, jqxhr) icon: $('.favicon').attr('href') }); + convey.notif.onclick = function() { + window.focus(); + }; + convey.notifTimer = setTimeout(function() { convey.notif.close(); }, 5000); } @@ -913,8 +930,8 @@ function renderFrame(frame) $('.history .item').removeClass('selected'); - if (get('show-debug-output') === "hide") - $('.story-line-desc .message').hide(); + + setDebugOutputUI(get('show-debug-output')); log("Rendering finished"); } @@ -1327,7 +1344,7 @@ function customMarkupPipes() if (num < 0) return "0"; else if (num <= 5) - return "5px"; // Still shows low coverage + return "5"; // Still shows low coverage else if (num > 100) str = "100"; return str; diff --git a/vendor/github.com/smartystreets/goconvey/web/server/parser/packageParser.go b/vendor/github.com/smartystreets/goconvey/web/server/parser/packageParser.go index 628b137..3a83550 100644 --- a/vendor/github.com/smartystreets/goconvey/web/server/parser/packageParser.go +++ b/vendor/github.com/smartystreets/goconvey/web/server/parser/packageParser.go @@ -78,6 +78,7 @@ func (self *outputParser) recordFinalOutcome(outcome string) { } func (self *outputParser) processTestOutput() { + self.line = strings.TrimSpace(self.line) if isNewTest(self.line) { self.registerTestFunction() diff --git a/vendor/github.com/smartystreets/goconvey/web/server/parser/package_parser_test.go b/vendor/github.com/smartystreets/goconvey/web/server/parser/package_parser_test.go index 65f3f98..4cefc51 100644 --- a/vendor/github.com/smartystreets/goconvey/web/server/parser/package_parser_test.go +++ b/vendor/github.com/smartystreets/goconvey/web/server/parser/package_parser_test.go @@ -132,6 +132,12 @@ func TestParsePackage_Golang15Output_ShouldNotPanic(t *testing.T) { assertEqual(t, expectedGolang15, *actual) } +func TestParsePackage_Golang17Subtests_ReturnsPackageResult(t *testing.T) { + actual := &contract.PackageResult{PackageName: expectedGolang17Subtests.PackageName} + ParsePackageResults(actual, inputGolang17Subtests) + assertEqual(t, expectedGolang17Subtests, *actual) +} + func assertEqual(t *testing.T, expected, actual interface{}) { a, _ := json.Marshal(expected) b, _ := json.Marshal(actual) @@ -790,3 +796,83 @@ var expectedGolang15 = contract.PackageResult{ }, }, } + +const inputGolang17Subtests = ` +=== RUN Test +=== RUN Test/success +=== RUN Test/fail +=== RUN Test/nested +=== RUN Test/nested/nested_success +=== RUN Test/nested/nested_fail +--- FAIL: Test (0.00s) + --- PASS: Test/success (0.00s) + --- FAIL: Test/fail (0.00s) + --- FAIL: Test/nested (0.00s) + --- PASS: Test/nested/nested_success (0.00s) + --- FAIL: Test/nested/nested_fail (0.00s) +FAIL +exit status 1 +FAIL github.com/smartystreets/goconvey/webserver/examples 0.007s +` + +var expectedGolang17Subtests = contract.PackageResult{ + PackageName: "github.com/smartystreets/goconvey/webserver/examples", + Elapsed: 0.007, + Outcome: contract.Failed, + TestResults: []contract.TestResult{ + contract.TestResult{ + TestName: "Test", + Elapsed: 0.00, + Passed: false, + File: "", + Line: 0, + Message: "", + Stories: []reporting.ScopeResult{}, + }, + contract.TestResult{ + TestName: "Test/fail", + Elapsed: 0.00, + Passed: false, + File: "", + Line: 0, + Message: "", + Stories: []reporting.ScopeResult{}, + }, + contract.TestResult{ + TestName: "Test/nested", + Elapsed: 0.00, + Passed: false, + File: "", + Line: 0, + Message: "", + Stories: []reporting.ScopeResult{}, + }, + contract.TestResult{ + TestName: "Test/nested/nested_fail", + Elapsed: 0.00, + Passed: false, + File: "", + Line: 0, + Message: "", + Stories: []reporting.ScopeResult{}, + }, + contract.TestResult{ + TestName: "Test/nested/nested_success", + Elapsed: 0.00, + Passed: true, + File: "", + Line: 0, + Message: "", + Stories: []reporting.ScopeResult{}, + }, + contract.TestResult{ + TestName: "Test/success", + Elapsed: 0.00, + Passed: true, + File: "", + Line: 0, + Message: "", + Stories: []reporting.ScopeResult{}, + }, + }, +} diff --git a/vendor/github.com/smartystreets/goconvey/web/server/watch/imperative_shell.go b/vendor/github.com/smartystreets/goconvey/web/server/watch/imperative_shell.go index f4e886c..9d9890d 100644 --- a/vendor/github.com/smartystreets/goconvey/web/server/watch/imperative_shell.go +++ b/vendor/github.com/smartystreets/goconvey/web/server/watch/imperative_shell.go @@ -5,6 +5,7 @@ import ( "io/ioutil" "os" "path/filepath" + "strings" ) /////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,10 @@ func YieldFileSystemItems(root string, excludedDirs []string) chan *FileSystemIt return filepath.SkipDir } + if info.IsDir() && strings.HasPrefix(info.Name(), ".") { + return filepath.SkipDir + } + basePath := filepath.Base(path) for _, item := range excludedDirs { if item == basePath && info.IsDir() && item != "" && basePath != "" { diff --git a/vendor/golang.org/x/crypto/README b/vendor/golang.org/x/crypto/README deleted file mode 100644 index 5910f88..0000000 --- a/vendor/golang.org/x/crypto/README +++ /dev/null @@ -1,3 +0,0 @@ -This repository holds supplementary Go cryptography libraries. - -To submit changes to this repository, see https://golang.org/doc/contribute.html. diff --git a/vendor/golang.org/x/crypto/acme/acme.go b/vendor/golang.org/x/crypto/acme/acme.go index 4e409be..d6a09dd 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: diff --git a/vendor/golang.org/x/crypto/acme/types.go b/vendor/golang.org/x/crypto/acme/types.go index ab4de0b..3e19974 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/ed25519/ed25519.go b/vendor/golang.org/x/crypto/ed25519/ed25519.go index 9b07acc..16cd385 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/openpgp/packet/symmetric_key_encrypted.go b/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted.go index 4b1105b..744c2d2 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 19538df..e1d52c1 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/salsa20/salsa/salsa20_amd64.go b/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_amd64.go index 903c785..c34d362 100644 --- a/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_amd64.go +++ b/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_amd64.go @@ -19,5 +19,6 @@ 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/salsa_test.go b/vendor/golang.org/x/crypto/salsa20/salsa/salsa_test.go index f8cecd9..f67e94e 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/sha3/sha3.go b/vendor/golang.org/x/crypto/sha3/sha3.go index c86167c..b12a35c 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/sha3/sha3_test.go b/vendor/golang.org/x/crypto/sha3/sha3_test.go index caf72f2..312e8f9 100644 --- a/vendor/golang.org/x/crypto/sha3/sha3_test.go +++ b/vendor/golang.org/x/crypto/sha3/sha3_test.go @@ -15,6 +15,7 @@ import ( "compress/flate" "encoding/hex" "encoding/json" + "fmt" "hash" "os" "strings" @@ -289,6 +290,8 @@ func Example_sum() { h := make([]byte, 64) // Compute a 64-byte hash of buf and put it in h. ShakeSum256(h, buf) + fmt.Printf("%x\n", h) + // Output: 0f65fe41fc353e52c55667bb9e2b27bfcc8476f2c413e9437d272ee3194a4e3146d05ec04a25d16b8f577c19b82d16b1424c3e022e783d2b4da98de3658d363d } func Example_mac() { @@ -303,4 +306,6 @@ func Example_mac() { d.Write(buf) // Read 32 bytes of output from the hash into h. d.Read(h) + fmt.Printf("%x\n", h) + // Output: 78de2974bd2711d5549ffd32b753ef0f5fa80a0db2556db60f0987eb8a9218ff } diff --git a/vendor/golang.org/x/crypto/ssh/agent/client.go b/vendor/golang.org/x/crypto/ssh/agent/client.go index ecfd7c5..dce7682 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 5fc47e5..a5b20f5 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 a 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 68a333f..321e48a 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 6b0837d..038018e 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/server.go b/vendor/golang.org/x/crypto/ssh/server.go index b6f4cc8..8a78b7c 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 17e2aa8..cc06e03 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 d019196..e7404ff 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 9c1ffd1..cb23a59 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 5883b22..5fadfe8 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 e0a1f36..60979cc 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 fc7e471..8238d9d 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/net/context/context.go b/vendor/golang.org/x/net/context/context.go index f143ed6..d3681ab 100644 --- a/vendor/golang.org/x/net/context/context.go +++ b/vendor/golang.org/x/net/context/context.go @@ -36,103 +36,6 @@ // Contexts. package context // import "golang.org/x/net/context" -import "time" - -// A Context carries a deadline, a cancelation signal, and other values across -// API boundaries. -// -// Context's methods may be called by multiple goroutines simultaneously. -type Context interface { - // Deadline returns the time when work done on behalf of this context - // should be canceled. Deadline returns ok==false when no deadline is - // set. Successive calls to Deadline return the same results. - Deadline() (deadline time.Time, ok bool) - - // Done returns a channel that's closed when work done on behalf of this - // context should be canceled. Done may return nil if this context can - // never be canceled. Successive calls to Done return the same value. - // - // WithCancel arranges for Done to be closed when cancel is called; - // WithDeadline arranges for Done to be closed when the deadline - // expires; WithTimeout arranges for Done to be closed when the timeout - // elapses. - // - // Done is provided for use in select statements: - // - // // Stream generates values with DoSomething and sends them to out - // // until DoSomething returns an error or ctx.Done is closed. - // func Stream(ctx context.Context, out chan<- Value) error { - // for { - // v, err := DoSomething(ctx) - // if err != nil { - // return err - // } - // select { - // case <-ctx.Done(): - // return ctx.Err() - // case out <- v: - // } - // } - // } - // - // See http://blog.golang.org/pipelines for more examples of how to use - // a Done channel for cancelation. - Done() <-chan struct{} - - // Err returns a non-nil error value after Done is closed. Err returns - // Canceled if the context was canceled or DeadlineExceeded if the - // context's deadline passed. No other values for Err are defined. - // After Done is closed, successive calls to Err return the same value. - Err() error - - // Value returns the value associated with this context for key, or nil - // if no value is associated with key. Successive calls to Value with - // the same key returns the same result. - // - // Use context values only for request-scoped data that transits - // processes and API boundaries, not for passing optional parameters to - // functions. - // - // A key identifies a specific value in a Context. Functions that wish - // to store values in Context typically allocate a key in a global - // variable then use that key as the argument to context.WithValue and - // Context.Value. A key can be any type that supports equality; - // packages should define keys as an unexported type to avoid - // collisions. - // - // Packages that define a Context key should provide type-safe accessors - // for the values stores using that key: - // - // // Package user defines a User type that's stored in Contexts. - // package user - // - // import "golang.org/x/net/context" - // - // // User is the type of value stored in the Contexts. - // type User struct {...} - // - // // key is an unexported type for keys defined in this package. - // // This prevents collisions with keys defined in other packages. - // type key int - // - // // userKey is the key for user.User values in Contexts. It is - // // unexported; clients use user.NewContext and user.FromContext - // // instead of using this key directly. - // var userKey key = 0 - // - // // NewContext returns a new Context that carries value u. - // func NewContext(ctx context.Context, u *User) context.Context { - // return context.WithValue(ctx, userKey, u) - // } - // - // // FromContext returns the User value stored in ctx, if any. - // func FromContext(ctx context.Context) (*User, bool) { - // u, ok := ctx.Value(userKey).(*User) - // return u, ok - // } - Value(key interface{}) interface{} -} - // Background returns a non-nil, empty Context. It is never canceled, has no // values, and has no deadline. It is typically used by the main function, // initialization, and tests, and as the top-level Context for incoming @@ -149,8 +52,3 @@ func Background() Context { func TODO() Context { return todo } - -// A CancelFunc tells an operation to abandon its work. -// A CancelFunc does not wait for the work to stop. -// After the first call, subsequent calls to a CancelFunc do nothing. -type CancelFunc func() diff --git a/vendor/golang.org/x/net/dns/dnsmessage/message_test.go b/vendor/golang.org/x/net/dns/dnsmessage/message_test.go index 0f98daa..9295d36 100644 --- a/vendor/golang.org/x/net/dns/dnsmessage/message_test.go +++ b/vendor/golang.org/x/net/dns/dnsmessage/message_test.go @@ -277,6 +277,69 @@ func TestSkipAll(t *testing.T) { } } +func TestSkipEach(t *testing.T) { + msg := smallTestMsg() + + buf, err := msg.Pack() + if err != nil { + t.Fatal("Packing test message:", err) + } + var p Parser + if _, err := p.Start(buf); err != nil { + t.Fatal(err) + } + + tests := []struct { + name string + f func() error + }{ + {"SkipQuestion", p.SkipQuestion}, + {"SkipAnswer", p.SkipAnswer}, + {"SkipAuthority", p.SkipAuthority}, + {"SkipAdditional", p.SkipAdditional}, + } + for _, test := range tests { + if err := test.f(); err != nil { + t.Errorf("First call: got %s() = %v, want = %v", test.name, err, nil) + } + if err := test.f(); err != ErrSectionDone { + t.Errorf("Second call: got %s() = %v, want = %v", test.name, err, ErrSectionDone) + } + } +} + +func TestSkipAfterRead(t *testing.T) { + msg := smallTestMsg() + + buf, err := msg.Pack() + if err != nil { + t.Fatal("Packing test message:", err) + } + var p Parser + if _, err := p.Start(buf); err != nil { + t.Fatal(err) + } + + tests := []struct { + name string + skip func() error + read func() error + }{ + {"Question", p.SkipQuestion, func() error { _, err := p.Question(); return err }}, + {"Answer", p.SkipAnswer, func() error { _, err := p.Answer(); return err }}, + {"Authority", p.SkipAuthority, func() error { _, err := p.Authority(); return err }}, + {"Additional", p.SkipAdditional, func() error { _, err := p.Additional(); return err }}, + } + for _, test := range tests { + if err := test.read(); err != nil { + t.Errorf("Got %s() = _, %v, want = _, %v", test.name, err, nil) + } + if err := test.skip(); err != ErrSectionDone { + t.Errorf("Got Skip%s() = %v, want = %v", test.name, err, ErrSectionDone) + } + } +} + func TestSkipNotStarted(t *testing.T) { var p Parser @@ -745,6 +808,50 @@ func BenchmarkBuilding(b *testing.B) { } } +func smallTestMsg() Message { + name := mustNewName("example.com.") + return Message{ + Header: Header{Response: true, Authoritative: true}, + Questions: []Question{ + { + Name: name, + Type: TypeA, + Class: ClassINET, + }, + }, + Answers: []Resource{ + { + ResourceHeader{ + Name: name, + Type: TypeA, + Class: ClassINET, + }, + &AResource{[4]byte{127, 0, 0, 1}}, + }, + }, + Authorities: []Resource{ + { + ResourceHeader{ + Name: name, + Type: TypeA, + Class: ClassINET, + }, + &AResource{[4]byte{127, 0, 0, 1}}, + }, + }, + Additionals: []Resource{ + { + ResourceHeader{ + Name: name, + Type: TypeA, + Class: ClassINET, + }, + &AResource{[4]byte{127, 0, 0, 1}}, + }, + }, + } +} + func largeTestMsg() Message { name := mustNewName("foo.bar.example.com.") return Message{ diff --git a/vendor/golang.org/x/net/http2/h2i/h2i.go b/vendor/golang.org/x/net/http2/h2i/h2i.go index 76c7787..62e5752 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() @@ -460,6 +464,15 @@ func (app *h2i) readFrames() error { app.hdec = hpack.NewDecoder(tableSize, app.onNewHeaderField) } app.hdec.Write(f.HeaderBlockFragment()) + case *http2.PushPromiseFrame: + if app.hdec == nil { + // TODO: if the user uses h2i to send a SETTINGS frame advertising + // something larger, we'll need to respect SETTINGS_HEADER_TABLE_SIZE + // and stuff here instead of using the 4k default. But for now: + tableSize := uint32(4 << 10) + app.hdec = hpack.NewDecoder(tableSize, app.onNewHeaderField) + } + app.hdec.Write(f.HeaderBlockFragment()) } } } diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go index 850d7ae..adb77ff 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 15dfa07..0126ff4 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/ipv4/icmp.go b/vendor/golang.org/x/net/ipv4/icmp.go index 097bea8..9902bb3 100644 --- a/vendor/golang.org/x/net/ipv4/icmp.go +++ b/vendor/golang.org/x/net/ipv4/icmp.go @@ -26,7 +26,7 @@ func (typ ICMPType) Protocol() int { // packets. The filter belongs to a packet delivery path on a host and // it cannot interact with forwarding packets or tunnel-outer packets. // -// Note: RFC 2460 defines a reasonable role model and it works not +// Note: RFC 8200 defines a reasonable role model and it works not // only for IPv6 but IPv4. A node means a device that implements IP. // A router means a node that forwards IP packets not explicitly // addressed to itself, and a host means a node that is not a router. diff --git a/vendor/golang.org/x/net/ipv6/doc.go b/vendor/golang.org/x/net/ipv6/doc.go index eaa24c5..664a97d 100644 --- a/vendor/golang.org/x/net/ipv6/doc.go +++ b/vendor/golang.org/x/net/ipv6/doc.go @@ -8,7 +8,7 @@ // The package provides IP-level socket options that allow // manipulation of IPv6 facilities. // -// The IPv6 protocol is defined in RFC 2460. +// The IPv6 protocol is defined in RFC 8200. // Socket interface extensions are defined in RFC 3493, RFC 3542 and // RFC 3678. // MLDv1 and MLDv2 are defined in RFC 2710 and RFC 3810. diff --git a/vendor/golang.org/x/net/ipv6/icmp.go b/vendor/golang.org/x/net/ipv6/icmp.go index ff21d10..b7f48e2 100644 --- a/vendor/golang.org/x/net/ipv6/icmp.go +++ b/vendor/golang.org/x/net/ipv6/icmp.go @@ -29,7 +29,7 @@ func (typ ICMPType) Protocol() int { // packets. The filter belongs to a packet delivery path on a host and // it cannot interact with forwarding packets or tunnel-outer packets. // -// Note: RFC 2460 defines a reasonable role model. A node means a +// Note: RFC 8200 defines a reasonable role model. A node means a // device that implements IP. A router means a node that forwards IP // packets not explicitly addressed to itself, and a host means a node // that is not a router. diff --git a/vendor/golang.org/x/net/proxy/per_host.go b/vendor/golang.org/x/net/proxy/per_host.go index f540b19..242d562 100644 --- a/vendor/golang.org/x/net/proxy/per_host.go +++ b/vendor/golang.org/x/net/proxy/per_host.go @@ -9,7 +9,7 @@ import ( "strings" ) -// A PerHost directs connections to a default Dialer unless the hostname +// A PerHost directs connections to a default Dialer unless the host name // requested matches one of a number of exceptions. type PerHost struct { def, bypass Dialer @@ -76,7 +76,7 @@ func (p *PerHost) dialerForRequest(host string) Dialer { // AddFromString parses a string that contains comma-separated values // specifying hosts that should use the bypass proxy. Each value is either an -// IP address, a CIDR range, a zone (*.example.com) or a hostname +// IP address, a CIDR range, a zone (*.example.com) or a host name // (localhost). A best effort is made to parse the string and errors are // ignored. func (p *PerHost) AddFromString(s string) { @@ -131,7 +131,7 @@ func (p *PerHost) AddZone(zone string) { p.bypassZones = append(p.bypassZones, zone) } -// AddHost specifies a hostname that will use the bypass proxy. +// AddHost specifies a host name that will use the bypass proxy. func (p *PerHost) AddHost(host string) { if strings.HasSuffix(host, ".") { host = host[:len(host)-1] diff --git a/vendor/golang.org/x/net/proxy/socks5.go b/vendor/golang.org/x/net/proxy/socks5.go index 973f57f..2efec6e 100644 --- a/vendor/golang.org/x/net/proxy/socks5.go +++ b/vendor/golang.org/x/net/proxy/socks5.go @@ -154,7 +154,7 @@ func (s *socks5) connect(conn net.Conn, target string) error { buf = append(buf, ip...) } else { if len(host) > 255 { - return errors.New("proxy: destination hostname too long: " + host) + return errors.New("proxy: destination host name too long: " + host) } buf = append(buf, socks5Domain) buf = append(buf, byte(len(host))) diff --git a/vendor/golang.org/x/net/route/defs_openbsd.go b/vendor/golang.org/x/net/route/defs_openbsd.go index 0f66d36..173bb5d 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 63fd8c5..61bd174 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_darwin.go b/vendor/golang.org/x/net/route/sys_darwin.go index e742c91..d2daf5c 100644 --- a/vendor/golang.org/x/net/route/sys_darwin.go +++ b/vendor/golang.org/x/net/route/sys_darwin.go @@ -13,7 +13,7 @@ func (typ RIBType) parseable() bool { } } -// A RouteMetrics represents route metrics. +// RouteMetrics represents route metrics. type RouteMetrics struct { PathMTU int // path maximum transmission unit } @@ -30,7 +30,7 @@ func (m *RouteMessage) Sys() []Sys { } } -// A InterfaceMetrics represents interface metrics. +// InterfaceMetrics represents interface metrics. type InterfaceMetrics struct { Type int // interface type MTU int // maximum transmission unit diff --git a/vendor/golang.org/x/net/route/sys_dragonfly.go b/vendor/golang.org/x/net/route/sys_dragonfly.go index b175cb1..0c14bc2 100644 --- a/vendor/golang.org/x/net/route/sys_dragonfly.go +++ b/vendor/golang.org/x/net/route/sys_dragonfly.go @@ -8,7 +8,7 @@ import "unsafe" func (typ RIBType) parseable() bool { return true } -// A RouteMetrics represents route metrics. +// RouteMetrics represents route metrics. type RouteMetrics struct { PathMTU int // path maximum transmission unit } @@ -25,7 +25,7 @@ func (m *RouteMessage) Sys() []Sys { } } -// A InterfaceMetrics represents interface metrics. +// InterfaceMetrics represents interface metrics. type InterfaceMetrics struct { Type int // interface type MTU int // maximum transmission unit diff --git a/vendor/golang.org/x/net/route/sys_freebsd.go b/vendor/golang.org/x/net/route/sys_freebsd.go index 010d4ae..89ba1c4 100644 --- a/vendor/golang.org/x/net/route/sys_freebsd.go +++ b/vendor/golang.org/x/net/route/sys_freebsd.go @@ -11,7 +11,7 @@ import ( func (typ RIBType) parseable() bool { return true } -// A RouteMetrics represents route metrics. +// RouteMetrics represents route metrics. type RouteMetrics struct { PathMTU int // path maximum transmission unit } @@ -35,7 +35,7 @@ func (m *RouteMessage) Sys() []Sys { } } -// A InterfaceMetrics represents interface metrics. +// InterfaceMetrics represents interface metrics. type InterfaceMetrics struct { Type int // interface type MTU int // maximum transmission unit diff --git a/vendor/golang.org/x/net/route/sys_netbsd.go b/vendor/golang.org/x/net/route/sys_netbsd.go index b4e3301..02f71d5 100644 --- a/vendor/golang.org/x/net/route/sys_netbsd.go +++ b/vendor/golang.org/x/net/route/sys_netbsd.go @@ -6,7 +6,7 @@ package route func (typ RIBType) parseable() bool { return true } -// A RouteMetrics represents route metrics. +// RouteMetrics represents route metrics. type RouteMetrics struct { PathMTU int // path maximum transmission unit } @@ -23,7 +23,7 @@ func (m *RouteMessage) Sys() []Sys { } } -// A InterfaceMetrics represents interface metrics. +// RouteMetrics represents route metrics. type InterfaceMetrics struct { Type int // interface type MTU int // maximum transmission unit diff --git a/vendor/golang.org/x/net/route/sys_openbsd.go b/vendor/golang.org/x/net/route/sys_openbsd.go index 8798dc4..c5674e8 100644 --- a/vendor/golang.org/x/net/route/sys_openbsd.go +++ b/vendor/golang.org/x/net/route/sys_openbsd.go @@ -15,7 +15,7 @@ func (typ RIBType) parseable() bool { } } -// A RouteMetrics represents route metrics. +// RouteMetrics represents route metrics. type RouteMetrics struct { PathMTU int // path maximum transmission unit } @@ -32,7 +32,7 @@ func (m *RouteMessage) Sys() []Sys { } } -// A InterfaceMetrics represents interface metrics. +// InterfaceMetrics represents interface metrics. type InterfaceMetrics struct { Type int // interface type MTU int // maximum transmission unit @@ -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 f5a1ff9..db8c8ef 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/oauth2/LICENSE b/vendor/golang.org/x/oauth2/LICENSE index d02f24f..6a66aea 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/README.md b/vendor/golang.org/x/oauth2/README.md index b0ddf3c..eb8dcee 100644 --- a/vendor/golang.org/x/oauth2/README.md +++ b/vendor/golang.org/x/oauth2/README.md @@ -11,6 +11,9 @@ oauth2 package contains a client implementation for OAuth 2.0 spec. go get golang.org/x/oauth2 ~~~~ +Or you can manually git clone the repository to +`$(go env GOPATH)/src/golang.org/x/oauth2`. + See godoc for further documentation and examples. * [godoc.org/golang.org/x/oauth2](http://godoc.org/golang.org/x/oauth2) @@ -19,11 +22,11 @@ See godoc for further documentation and examples. ## App Engine -In change 96e89be (March 2015) we removed the `oauth2.Context2` type in favor +In change 96e89be (March 2015), we removed the `oauth2.Context2` type in favor of the [`context.Context`](https://golang.org/x/net/context#Context) type from the `golang.org/x/net/context` package -This means its no longer possible to use the "Classic App Engine" +This means it's no longer possible to use the "Classic App Engine" `appengine.Context` type with the `oauth2` package. (You're using Classic App Engine if you import the package `"appengine"`.) @@ -39,36 +42,36 @@ If you don't want to update your entire app to use the new App Engine packages, you may use both sets of packages in parallel, using only the new packages with the `oauth2` package. - import ( - "golang.org/x/net/context" - "golang.org/x/oauth2" - "golang.org/x/oauth2/google" - newappengine "google.golang.org/appengine" - newurlfetch "google.golang.org/appengine/urlfetch" +```go +import ( + "golang.org/x/net/context" + "golang.org/x/oauth2" + "golang.org/x/oauth2/google" + newappengine "google.golang.org/appengine" + newurlfetch "google.golang.org/appengine/urlfetch" - "appengine" - ) + "appengine" +) - func handler(w http.ResponseWriter, r *http.Request) { - var c appengine.Context = appengine.NewContext(r) - c.Infof("Logging a message with the old package") +func handler(w http.ResponseWriter, r *http.Request) { + var c appengine.Context = appengine.NewContext(r) + c.Infof("Logging a message with the old package") - var ctx context.Context = newappengine.NewContext(r) - client := &http.Client{ - Transport: &oauth2.Transport{ - Source: google.AppEngineTokenSource(ctx, "scope"), - Base: &newurlfetch.Transport{Context: ctx}, - }, - } - client.Get("...") + var ctx context.Context = newappengine.NewContext(r) + client := &http.Client{ + Transport: &oauth2.Transport{ + Source: google.AppEngineTokenSource(ctx, "scope"), + Base: &newurlfetch.Transport{Context: ctx}, + }, } + client.Get("...") +} +``` -## Contributing +## Report Issues / Send Patches -We appreciate your help! +This repository uses Gerrit for code changes. To learn how to submit changes to +this repository, see https://golang.org/doc/contribute.html. -To contribute, please read the contribution guidelines: - https://golang.org/doc/contribute.html - -Note that the Go project does not use GitHub pull requests but -uses Gerrit for code reviews. See the contribution guide for details. +The main issue tracker for the oauth2 repository is located at +https://github.com/golang/oauth2/issues. diff --git a/vendor/golang.org/x/oauth2/google/default.go b/vendor/golang.org/x/oauth2/google/default.go index 004ed4e..b4b6274 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/sys/unix/creds_test.go b/vendor/golang.org/x/sys/unix/creds_test.go index eaae7c3..7ae3305 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/flock.go b/vendor/golang.org/x/sys/unix/flock.go index ce67a59..2994ce7 100644 --- a/vendor/golang.org/x/sys/unix/flock.go +++ b/vendor/golang.org/x/sys/unix/flock.go @@ -1,5 +1,3 @@ -// +build linux darwin freebsd openbsd netbsd dragonfly - // Copyright 2014 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. diff --git a/vendor/golang.org/x/sys/unix/linux/types.go b/vendor/golang.org/x/sys/unix/linux/types.go index 9b69e27..27d9a99 100644 --- a/vendor/golang.org/x/sys/unix/linux/types.go +++ b/vendor/golang.org/x/sys/unix/linux/types.go @@ -28,6 +28,7 @@ package unix #include #include #include +#include #include #include #include @@ -61,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) @@ -315,6 +318,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 @@ -343,9 +348,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 @@ -543,3 +550,58 @@ 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 f0d6566..c3a0809 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 5cb4d8b..2c434f7 100755 --- a/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -45,6 +45,7 @@ includes_Darwin=' #include #include #include +#include #include #include #include @@ -75,6 +76,7 @@ includes_DragonFly=' ' includes_FreeBSD=' +#include #include #include #include @@ -179,6 +181,8 @@ struct ltchars { #include #include #include +#include +#include #include #include @@ -401,6 +405,7 @@ ccflags="$@" $2 ~ /^(BPF|DLT)_/ || $2 ~ /^CLOCK_/ || $2 ~ /^CAN_/ || + $2 ~ /^CAP_/ || $2 ~ /^ALG_/ || $2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE|IOC_(GET|SET)_ENCRYPTION)/ || $2 ~ /^GRND_/ || @@ -410,6 +415,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_freebsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl index c83064f..a0a22bf 100755 --- a/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl +++ b/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl @@ -40,21 +40,8 @@ while(<>){ if($name eq 'SYS_SYS_EXIT'){ $name = 'SYS_EXIT'; } - if($name =~ /^SYS_CAP_+/ || $name =~ /^SYS___CAP_+/){ - next - } print " $name = $num; // $proto\n"; - - # We keep Capsicum syscall numbers for FreeBSD - # 9-STABLE here because we are not sure whether they - # are mature and stable. - if($num == 513){ - print " SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); }\n"; - print " SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \\\n"; - print " SYS_CAP_ENTER = 516 // { int cap_enter(void); }\n"; - print " SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); }\n"; - } } } diff --git a/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl index d31f2c4..85988b1 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 18ccec0..8de55fe 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_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/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go index ccb29c7..c2846b3 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 7d91ac0..ad74a11 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 */ @@ -210,10 +254,13 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig //sys Dup2(from int, to int) (err error) //sys Exchangedata(path1 string, path2 string, options int) (err error) //sys Exit(code int) +//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) = SYS_FSTAT64 @@ -238,23 +285,23 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig //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_LSTAT64 //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 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) //sys Pread(fd int, p []byte, offset int64) (n int, err error) //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) //sys 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 @@ -275,11 +322,13 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig //sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 //sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 //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) @@ -319,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 @@ -414,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 @@ -469,7 +513,6 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig // Sendmsg_nocancel // Recvfrom_nocancel // Accept_nocancel -// Msync_nocancel // Fcntl_nocancel // Select_nocancel // Fsync_nocancel 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 fc1e5a4..c6c99c1 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" ) -//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) - func Getpagesize() int { return 4096 } func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go index 7e0210f..3a48337 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_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go index 077d1f3..d26e52e 100644 --- a/vendor/golang.org/x/sys/unix/syscall_freebsd.go +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go @@ -352,11 +352,53 @@ 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 */ //sys Access(path string, mode uint32) (err error) //sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys CapEnter() (err error) +//sys capRightsGet(version int, fd int, rightsp *CapRights) (err error) = SYS___CAP_RIGHTS_GET +//sys capRightsLimit(fd int, rightsp *CapRights) (err error) //sys Chdir(path string) (err error) //sys Chflags(path string, flags int) (err error) //sys Chmod(path string, mode uint32) (err error) @@ -379,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) @@ -409,24 +454,24 @@ 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) //sys Pathconf(path string, name int) (val int, err error) //sys Pread(fd int, p []byte, offset int64) (n int, err error) //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) //sys 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 @@ -448,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) @@ -460,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 @@ -493,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 @@ -588,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 @@ -642,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_test.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go index 3c3d825..654439e 100644 --- a/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go @@ -7,14 +7,291 @@ package unix_test import ( + "flag" + "fmt" + "io/ioutil" + "os" + "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) } } + +// FIXME: Infrastructure for launching tests in subprocesses stolen from openbsd_test.go - refactor? +// testCmd generates a proper command that, when executed, runs the test +// corresponding to the given key. + +type testProc struct { + fn func() // should always exit instead of returning + arg func(t *testing.T) string // generate argument for test + cleanup func(arg string) error // for instance, delete coredumps from testing pledge + success bool // whether zero-exit means success or failure +} + +var ( + testProcs = map[string]testProc{} + procName = "" + procArg = "" +) + +const ( + optName = "sys-unix-internal-procname" + optArg = "sys-unix-internal-arg" +) + +func init() { + flag.StringVar(&procName, optName, "", "internal use only") + flag.StringVar(&procArg, optArg, "", "internal use only") + +} + +func testCmd(procName string, procArg string) (*exec.Cmd, error) { + exe, err := filepath.Abs(os.Args[0]) + if err != nil { + return nil, err + } + cmd := exec.Command(exe, "-"+optName+"="+procName, "-"+optArg+"="+procArg) + cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr + return cmd, nil +} + +// ExitsCorrectly is a comprehensive, one-line-of-use wrapper for testing +// a testProc with a key. +func ExitsCorrectly(t *testing.T, procName string) { + s := testProcs[procName] + arg := "-" + if s.arg != nil { + arg = s.arg(t) + } + c, err := testCmd(procName, arg) + defer func(arg string) { + if err := s.cleanup(arg); err != nil { + t.Fatalf("Failed to run cleanup for %s %s %#v", procName, err, err) + } + }(arg) + if err != nil { + t.Fatalf("Failed to construct command for %s", procName) + } + if (c.Run() == nil) != s.success { + result := "succeed" + if !s.success { + result = "fail" + } + t.Fatalf("Process did not %s when it was supposed to", result) + } +} + +func TestMain(m *testing.M) { + flag.Parse() + if procName != "" { + t := testProcs[procName] + t.fn() + os.Stderr.WriteString("test function did not exit\n") + if t.success { + os.Exit(1) + } else { + os.Exit(0) + } + } + os.Exit(m.Run()) +} + +// end of infrastructure + +const testfile = "gocapmodetest" +const testfile2 = testfile + "2" + +func CapEnterTest() { + _, err := os.OpenFile(path.Join(procArg, testfile), os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) + if err != nil { + panic(fmt.Sprintf("OpenFile: %s", err)) + } + + err = unix.CapEnter() + if err != nil { + panic(fmt.Sprintf("CapEnter: %s", err)) + } + + _, err = os.OpenFile(path.Join(procArg, testfile2), os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) + if err == nil { + panic("OpenFile works!") + } + if err.(*os.PathError).Err != unix.ECAPMODE { + panic(fmt.Sprintf("OpenFile failed wrong: %s %#v", err, err)) + } + os.Exit(0) +} + +func makeTempDir(t *testing.T) string { + d, err := ioutil.TempDir("", "go_openat_test") + if err != nil { + t.Fatalf("TempDir failed: %s", err) + } + return d +} + +func removeTempDir(arg string) error { + err := os.RemoveAll(arg) + if err != nil && err.(*os.PathError).Err == unix.ENOENT { + return nil + } + return err +} + +func init() { + testProcs["cap_enter"] = testProc{ + CapEnterTest, + makeTempDir, + removeTempDir, + true, + } +} + +func TestCapEnter(t *testing.T) { + if runtime.GOARCH != "amd64" { + t.Skipf("skipping test on %s", runtime.GOARCH) + } + ExitsCorrectly(t, "cap_enter") +} + +func OpenatTest() { + f, err := os.Open(procArg) + if err != nil { + panic(err) + } + + err = unix.CapEnter() + if err != nil { + panic(fmt.Sprintf("CapEnter: %s", err)) + } + + fxx, err := unix.Openat(int(f.Fd()), "xx", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) + if err != nil { + panic(err) + } + unix.Close(fxx) + + // The right to open BASE/xx is not ambient + _, err = os.OpenFile(procArg+"/xx", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) + if err == nil { + panic("OpenFile succeeded") + } + if err.(*os.PathError).Err != unix.ECAPMODE { + panic(fmt.Sprintf("OpenFile failed wrong: %s %#v", err, err)) + } + + // Can't make a new directory either + err = os.Mkdir(procArg+"2", 0777) + if err == nil { + panic("MKdir succeeded") + } + if err.(*os.PathError).Err != unix.ECAPMODE { + panic(fmt.Sprintf("Mkdir failed wrong: %s %#v", err, err)) + } + + // Remove all caps except read and lookup. + r, err := unix.CapRightsInit([]uint64{unix.CAP_READ, unix.CAP_LOOKUP}) + if err != nil { + panic(fmt.Sprintf("CapRightsInit failed: %s %#v", err, err)) + } + err = unix.CapRightsLimit(f.Fd(), r) + if err != nil { + panic(fmt.Sprintf("CapRightsLimit failed: %s %#v", err, err)) + } + + // Check we can get the rights back again + r, err = unix.CapRightsGet(f.Fd()) + if err != nil { + panic(fmt.Sprintf("CapRightsGet failed: %s %#v", err, err)) + } + b, err := unix.CapRightsIsSet(r, []uint64{unix.CAP_READ, unix.CAP_LOOKUP}) + if err != nil { + panic(fmt.Sprintf("CapRightsIsSet failed: %s %#v", err, err)) + } + if !b { + panic(fmt.Sprintf("Unexpected rights")) + } + b, err = unix.CapRightsIsSet(r, []uint64{unix.CAP_READ, unix.CAP_LOOKUP, unix.CAP_WRITE}) + if err != nil { + panic(fmt.Sprintf("CapRightsIsSet failed: %s %#v", err, err)) + } + if b { + panic(fmt.Sprintf("Unexpected rights (2)")) + } + + // Can no longer create a file + _, err = unix.Openat(int(f.Fd()), "xx2", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) + if err == nil { + panic("Openat succeeded") + } + if err != unix.ENOTCAPABLE { + panic(fmt.Sprintf("OpenFileAt failed wrong: %s %#v", err, err)) + } + + // But can read an existing one + _, err = unix.Openat(int(f.Fd()), "xx", os.O_RDONLY, 0666) + if err != nil { + panic(fmt.Sprintf("Openat failed: %s %#v", err, err)) + } + + os.Exit(0) +} + +func init() { + testProcs["openat"] = testProc{ + OpenatTest, + makeTempDir, + removeTempDir, + true, + } +} + +func TestOpenat(t *testing.T) { + if runtime.GOARCH != "amd64" { + t.Skipf("skipping test on %s", runtime.GOARCH) + } + ExitsCorrectly(t, "openat") +} + +func TestCapRightsSetAndClear(t *testing.T) { + r, err := unix.CapRightsInit([]uint64{unix.CAP_READ, unix.CAP_WRITE, unix.CAP_PDWAIT}) + if err != nil { + t.Fatalf("CapRightsInit failed: %s", err) + } + + err = unix.CapRightsSet(r, []uint64{unix.CAP_EVENT, unix.CAP_LISTEN}) + if err != nil { + t.Fatalf("CapRightsSet failed: %s", err) + } + + b, err := unix.CapRightsIsSet(r, []uint64{unix.CAP_READ, unix.CAP_WRITE, unix.CAP_PDWAIT, unix.CAP_EVENT, unix.CAP_LISTEN}) + if err != nil { + t.Fatalf("CapRightsIsSet failed: %s", err) + } + if !b { + t.Fatalf("Wrong rights set") + } + + err = unix.CapRightsClear(r, []uint64{unix.CAP_READ, unix.CAP_PDWAIT}) + if err != nil { + t.Fatalf("CapRightsClear failed: %s", err) + } + + b, err = unix.CapRightsIsSet(r, []uint64{unix.CAP_WRITE, unix.CAP_EVENT, unix.CAP_LISTEN}) + if err != nil { + t.Fatalf("CapRightsIsSet failed: %s", err) + } + if !b { + t.Fatalf("Wrong rights set") + } +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go index cc618f7..1b7d59d 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -57,11 +57,15 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { // 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) (err error) { +func IoctlSetInt(fd int, req uint, value int) error { return ioctl(fd, req, uintptr(value)) } -func IoctlSetTermios(fd int, req uint, value *Termios) (err error) { +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))) } @@ -73,6 +77,12 @@ func IoctlGetInt(fd int, req uint) (int, error) { 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))) @@ -342,10 +352,14 @@ func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, return } -func Mkfifo(path string, mode uint32) (err error) { +func Mkfifo(path string, mode uint32) error { return Mknod(path, mode|S_IFIFO, 0) } +func Mkfifoat(dirfd int, path string, mode uint32) error { + return Mknodat(dirfd, path, mode|S_IFIFO, 0) +} + func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { if sa.Port < 0 || sa.Port > 0xFFFF { return nil, 0, EINVAL @@ -917,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) } @@ -964,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) } @@ -1265,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) @@ -1299,8 +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, @@ -1368,7 +1394,6 @@ func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) { // ModifyLdt // Mount // MovePages -// Mprotect // MqGetsetattr // MqNotify // MqOpen @@ -1380,7 +1405,6 @@ func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) { // Msgget // Msgrcv // Msgsnd -// Msync // Newfstatat // Nfsservctl // Personality diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go index 01f6a48..e129668 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_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go index c0d2b6c..408e630 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_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go index 4b8ddab..0d4e5c4 100644 --- a/vendor/golang.org/x/sys/unix/syscall_solaris.go +++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go @@ -581,6 +581,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) diff --git a/vendor/golang.org/x/sys/unix/types_darwin.go b/vendor/golang.org/x/sys/unix/types_darwin.go index a350817..415124d 100644 --- a/vendor/golang.org/x/sys/unix/types_darwin.go +++ b/vendor/golang.org/x/sys/unix/types_darwin.go @@ -242,9 +242,13 @@ type BpfHdr C.struct_bpf_hdr 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 ) diff --git a/vendor/golang.org/x/sys/unix/types_dragonfly.go b/vendor/golang.org/x/sys/unix/types_dragonfly.go index a818704..80b2778 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 972e69a..934fd7a 100644 --- a/vendor/golang.org/x/sys/unix/types_freebsd.go +++ b/vendor/golang.org/x/sys/unix/types_freebsd.go @@ -21,6 +21,7 @@ package unix #include #include #include +#include #include #include #include @@ -130,7 +131,10 @@ struct if_data8 { u_long ifi_iqdrops; u_long ifi_noproto; u_long ifi_hwassist; +// FIXME: these are now unions, so maybe need to change definitions? +#undef ifi_epoch time_t ifi_epoch; +#undef ifi_lastchange struct timeval ifi_lastchange; }; @@ -351,3 +355,18 @@ type BpfZbufHeader C.struct_bpf_zbuf_header // Terminal handling 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 7cfdb9c..cb95c80 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 6c7c227..392da69 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/zerrors_darwin_386.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go index 8e63888..1c68758 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_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,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_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go index 9594f93..48f63d4 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.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 amd64,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_darwin_arm.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go index a410e88..24cb522 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 3189c6b..cc8cc5b 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 7b95751..1d3eec4 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_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go index e48e779..ac094f9 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.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 amd64,freebsd @@ -11,1461 +11,1420 @@ 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 = 0xc0104279 - BIOCGETBUFMODE = 0x4004427d - BIOCGETIF = 0x4020426b - BIOCGETZMAX = 0x4008427f - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044272 - BIOCGRTIMEOUT = 0x4010426e - BIOCGSEESENT = 0x40044276 - BIOCGSTATS = 0x4008426f - BIOCGTSTAMP = 0x40044283 - BIOCIMMEDIATE = 0x80044270 - BIOCLOCK = 0x2000427a - BIOCPROMISC = 0x20004269 - BIOCROTZBUF = 0x40184280 - BIOCSBLEN = 0xc0044266 - BIOCSDIRECTION = 0x80044277 - BIOCSDLT = 0x80044278 - BIOCSETBUFMODE = 0x8004427e - BIOCSETF = 0x80104267 - BIOCSETFNR = 0x80104282 - BIOCSETIF = 0x8020426c - BIOCSETWF = 0x8010427b - BIOCSETZBUF = 0x80184281 - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044273 - BIOCSRTIMEOUT = 0x8010426d - BIOCSSEESENT = 0x80044277 - BIOCSTSTAMP = 0x80044284 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x8 - 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_32BIT = 0x80000 - 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_MSECONDS = 0x2 - NOTE_NSECONDS = 0x8 - NOTE_PCTRLMASK = 0xf0000000 - NOTE_PDATAMASK = 0xfffff - 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 - 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 = 0x8040720a - SIOCAIFADDR = 0x8040691a - SIOCAIFGROUP = 0x80286987 - SIOCALIFADDR = 0x8118691b - SIOCATMARK = 0x40047307 - SIOCDELMULTI = 0x80206932 - SIOCDELRT = 0x8040720b - SIOCDIFADDR = 0x80206919 - SIOCDIFGROUP = 0x80286989 - SIOCDIFPHYADDR = 0x80206949 - SIOCDLIFADDR = 0x8118691d - SIOCGDRVSPEC = 0xc028697b - SIOCGETSGCNT = 0xc0207210 - SIOCGETVIFCNT = 0xc028720f - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0206921 - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCAP = 0xc020691f - SIOCGIFCONF = 0xc0106924 - SIOCGIFDESCR = 0xc020692a - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFIB = 0xc020695c - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFGENERIC = 0xc020693a - SIOCGIFGMEMB = 0xc028698a - SIOCGIFGROUP = 0xc0286988 - SIOCGIFINDEX = 0xc0206920 - SIOCGIFMAC = 0xc0206926 - SIOCGIFMEDIA = 0xc0306938 - 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 = 0xc0106978 - SIOCSDRVSPEC = 0x8028697b - 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 = 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 + 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 = 0xc0104279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4008427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x40184280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x80104282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b + BIOCSETZBUF = 0x80184281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + 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 = 0x7fffffffffffffff + 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_32BIT = 0x80000 + 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 = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc028697b + SIOCGETSGCNT = 0xc0207210 + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc030698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSDRVSPEC = 0x8028697b + 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_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go index 2afbe2d..c5c6f13 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 a6b3b5f..33ced1a 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -507,6 +507,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 @@ -1626,6 +1639,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 @@ -1765,6 +1784,7 @@ const ( TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x400854d5 TUNDETACHFILTER = 0x400854d6 TUNGETFEATURES = 0x800454cf 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 4ffc8d2..a6618fc 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -507,6 +507,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 @@ -1627,6 +1640,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 @@ -1766,6 +1785,7 @@ const ( TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x401054d5 TUNDETACHFILTER = 0x401054d6 TUNGETFEATURES = 0x800454cf 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 f4b178e..1adff0b 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -507,6 +507,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 @@ -1631,6 +1644,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 @@ -1770,6 +1789,7 @@ const ( TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x400854d5 TUNDETACHFILTER = 0x400854d6 TUNGETFEATURES = 0x800454cf 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 495f13b..c0ecd47 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -508,6 +508,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 @@ -1616,6 +1629,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 @@ -1755,6 +1774,7 @@ const ( TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x401054d5 TUNDETACHFILTER = 0x401054d6 TUNGETFEATURES = 0x800454cf 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 59651e4..900f568 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -507,6 +507,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 @@ -1629,6 +1642,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 @@ -1769,6 +1788,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 a09bf9b..4148f27 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -507,6 +507,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 @@ -1629,6 +1642,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 @@ -1769,6 +1788,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 72a0083..2310bee 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -507,6 +507,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 @@ -1629,6 +1642,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 @@ -1769,6 +1788,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 84c0e3c..44191b0 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -507,6 +507,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 @@ -1629,6 +1642,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 @@ -1769,6 +1788,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 8e4606e..6772a59 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -507,6 +507,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 @@ -1684,6 +1697,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 @@ -1827,6 +1846,7 @@ const ( TIOCSWINSZ = 0x80087467 TIOCVHANGUP = 0x5437 TOSTOP = 0x400000 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x801054d5 TUNDETACHFILTER = 0x801054d6 TUNGETFEATURES = 0x400454cf 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 16ed193..ad29c3d 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -507,6 +507,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 @@ -1684,6 +1697,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 @@ -1827,6 +1846,7 @@ const ( TIOCSWINSZ = 0x80087467 TIOCVHANGUP = 0x5437 TOSTOP = 0x400000 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x801054d5 TUNDETACHFILTER = 0x801054d6 TUNGETFEATURES = 0x400454cf 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 bd385f8..3b57075 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -507,6 +507,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 @@ -1688,6 +1701,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 @@ -1827,6 +1846,7 @@ const ( TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x401054d5 TUNDETACHFILTER = 0x401054d6 TUNGETFEATURES = 0x800454cf 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 ac85ca6..206c75f 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/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go index e48f4a5..10491e9 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go @@ -1,5 +1,5 @@ // mksyscall.pl -l32 -tags darwin,386 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build darwin,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 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_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go index 672ada0..5f1f6bf 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -1,5 +1,5 @@ // mksyscall.pl -tags darwin,amd64 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build darwin,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 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) @@ -1383,21 +1598,6 @@ func writelen(fd int, buf *byte, nbuf int) (n int, 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 gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) sec = int64(r0) 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 d516409..7a40974 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 e97759c..07c6ebc 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 eafceb8..7fa205c 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 f53801c..1a0bb4c 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 55b0741..ac1e8e0 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go @@ -1,5 +1,5 @@ // mksyscall.pl -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build freebsd,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() (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_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go index 0e9b42b..2b4e6ac 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 6c08450..38c1bbd 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 { @@ -1462,6 +1472,22 @@ func Mlockall(flags int) (err error) { // 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 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 f34418d..dc8fe0a 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 { @@ -1462,6 +1472,22 @@ func Mlockall(flags int) (err error) { // 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 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 92b4716..4d28042 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 { @@ -1462,6 +1472,22 @@ func Mlockall(flags int) (err error) { // 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 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 ec55920..20ad4b6 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 { @@ -1462,6 +1472,22 @@ func Mlockall(flags int) (err error) { // 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 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 e6c2bf5..9f194dc 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 { @@ -1462,6 +1472,22 @@ func Mlockall(flags int) (err error) { // 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 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 f77f1d0..4fde3ef 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 { @@ -1462,6 +1472,22 @@ func Mlockall(flags int) (err error) { // 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 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 d6ce861..f646342 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 { @@ -1462,6 +1472,22 @@ func Mlockall(flags int) (err error) { // 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 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 c013406..964591e 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 { @@ -1462,6 +1472,22 @@ func Mlockall(flags int) (err error) { // 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 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 6b7a291..204ab1a 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 { @@ -1462,6 +1472,22 @@ func Mlockall(flags int) (err error) { // 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 Munlockall() (err error) { _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go index 7585277..a8a2b0b 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 { @@ -1462,6 +1472,22 @@ func Mlockall(flags int) (err error) { // 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 Munlockall() (err error) { _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go index 987ce86..b6ff9e3 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 { @@ -1462,6 +1472,22 @@ func Mlockall(flags int) (err error) { // 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 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 3182345..db99fd0 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 74ba818..7b6c2c8 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 1f346e2..0f4cc3b 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 ca3e813..7baea87 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 bf63d55..0d69ce6 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_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go index d1ed021..4287133 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go @@ -43,6 +43,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" @@ -163,6 +164,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 @@ -284,6 +286,7 @@ var ( procFchown, procFchownat, procFdatasync, + procFlock, procFpathconf, procFstat, procFstatvfs, @@ -702,6 +705,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) 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 b8c9aea..41cb6ed 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 26677eb..075816c 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 262a845..b64a812 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_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go index 57a60ea..81722ac 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.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 amd64,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 206b9f6..4488314 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_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go index f60d8f9..8afda9c 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 48a91d4..aea8dbe 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 612ba66..c6158a7 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/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go index 2de1d44..e61d78a 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go @@ -1,6 +1,7 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + // +build 386,darwin -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_darwin.go package unix @@ -445,3 +446,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_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go index 0446578..2619155 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -1,6 +1,7 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + // +build amd64,darwin -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_darwin.go package unix @@ -456,7 +457,16 @@ type Termios struct { 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_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go index 66df363..4dca0d4 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 85d56ea..f2881fd 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 e585c89..67c6bf8 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 8cf3094..5b28bcb 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 e5feb20..c65d89e 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.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 amd64,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 @@ -324,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 uint64 - Metric uint64 - Baudrate uint64 - Ipackets uint64 - Ierrors uint64 - Opackets uint64 - Oerrors uint64 - Collisions uint64 - Ibytes uint64 - Obytes uint64 - Imcasts uint64 - Omcasts uint64 - Iqdrops uint64 - Noproto uint64 - 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 { @@ -503,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_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go index 5472b54..42c0a50 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 8111206..7b36896 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 @@ -676,3 +685,111 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + 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 075d9c5..e54fa98 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 @@ -694,3 +703,111 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + 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 a66c160..bff6ce2 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 @@ -665,3 +674,111 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + 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 b3b506a..a3d0cc4 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 @@ -673,3 +682,111 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + 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 5c654f5..8fa6603 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 @@ -670,3 +679,111 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + 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 3f11fb6..3e5fc62 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 @@ -675,3 +684,111 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + 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 1a4ad57..f9bd1ab 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 @@ -675,3 +684,111 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + 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 b3f0f30..74c5421 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 @@ -670,3 +679,111 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + 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 aeee27e..2b0b18e 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 @@ -683,3 +692,111 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + 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 b8cb2c3..b2b5999 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 @@ -683,3 +692,111 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + 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 58883f9..5e0aa66 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 @@ -700,3 +709,111 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + 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 caf755f..42f99c0 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 91b4a53..ff290ba 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 c0758f9..66dbd7c 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 860a469..20fc9f4 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 23c5272..46fe949 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/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index 518250e..c7ff24b 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -176,6 +176,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 +188,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/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index d588e1d..2f893d2 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/sys/windows/ztypes_windows.go b/vendor/golang.org/x/sys/windows/ztypes_windows.go deleted file mode 100644 index c99a3fe..0000000 --- a/vendor/golang.org/x/sys/windows/ztypes_windows.go +++ /dev/null @@ -1,1235 +0,0 @@ -// 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. - -package windows - -import "syscall" - -const ( - // Windows errors. - ERROR_FILE_NOT_FOUND syscall.Errno = 2 - ERROR_PATH_NOT_FOUND syscall.Errno = 3 - ERROR_ACCESS_DENIED syscall.Errno = 5 - ERROR_NO_MORE_FILES syscall.Errno = 18 - ERROR_HANDLE_EOF syscall.Errno = 38 - ERROR_NETNAME_DELETED syscall.Errno = 64 - ERROR_FILE_EXISTS syscall.Errno = 80 - ERROR_BROKEN_PIPE syscall.Errno = 109 - ERROR_BUFFER_OVERFLOW syscall.Errno = 111 - ERROR_INSUFFICIENT_BUFFER syscall.Errno = 122 - ERROR_MOD_NOT_FOUND syscall.Errno = 126 - ERROR_PROC_NOT_FOUND syscall.Errno = 127 - ERROR_ALREADY_EXISTS syscall.Errno = 183 - ERROR_ENVVAR_NOT_FOUND syscall.Errno = 203 - ERROR_MORE_DATA syscall.Errno = 234 - ERROR_OPERATION_ABORTED syscall.Errno = 995 - ERROR_IO_PENDING syscall.Errno = 997 - ERROR_SERVICE_SPECIFIC_ERROR syscall.Errno = 1066 - ERROR_NOT_FOUND syscall.Errno = 1168 - ERROR_PRIVILEGE_NOT_HELD syscall.Errno = 1314 - WSAEACCES syscall.Errno = 10013 - WSAECONNRESET syscall.Errno = 10054 -) - -const ( - // Invented values to support what package os expects. - O_RDONLY = 0x00000 - O_WRONLY = 0x00001 - O_RDWR = 0x00002 - O_CREAT = 0x00040 - O_EXCL = 0x00080 - O_NOCTTY = 0x00100 - O_TRUNC = 0x00200 - O_NONBLOCK = 0x00800 - O_APPEND = 0x00400 - O_SYNC = 0x01000 - O_ASYNC = 0x02000 - O_CLOEXEC = 0x80000 -) - -const ( - // More invented values for signals - SIGHUP = Signal(0x1) - SIGINT = Signal(0x2) - SIGQUIT = Signal(0x3) - SIGILL = Signal(0x4) - SIGTRAP = Signal(0x5) - SIGABRT = Signal(0x6) - SIGBUS = Signal(0x7) - SIGFPE = Signal(0x8) - SIGKILL = Signal(0x9) - SIGSEGV = Signal(0xb) - SIGPIPE = Signal(0xd) - SIGALRM = Signal(0xe) - SIGTERM = Signal(0xf) -) - -var signals = [...]string{ - 1: "hangup", - 2: "interrupt", - 3: "quit", - 4: "illegal instruction", - 5: "trace/breakpoint trap", - 6: "aborted", - 7: "bus error", - 8: "floating point exception", - 9: "killed", - 10: "user defined signal 1", - 11: "segmentation fault", - 12: "user defined signal 2", - 13: "broken pipe", - 14: "alarm clock", - 15: "terminated", -} - -const ( - GENERIC_READ = 0x80000000 - GENERIC_WRITE = 0x40000000 - GENERIC_EXECUTE = 0x20000000 - GENERIC_ALL = 0x10000000 - - FILE_LIST_DIRECTORY = 0x00000001 - FILE_APPEND_DATA = 0x00000004 - FILE_WRITE_ATTRIBUTES = 0x00000100 - - FILE_SHARE_READ = 0x00000001 - FILE_SHARE_WRITE = 0x00000002 - FILE_SHARE_DELETE = 0x00000004 - FILE_ATTRIBUTE_READONLY = 0x00000001 - FILE_ATTRIBUTE_HIDDEN = 0x00000002 - FILE_ATTRIBUTE_SYSTEM = 0x00000004 - FILE_ATTRIBUTE_DIRECTORY = 0x00000010 - FILE_ATTRIBUTE_ARCHIVE = 0x00000020 - FILE_ATTRIBUTE_NORMAL = 0x00000080 - FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400 - - INVALID_FILE_ATTRIBUTES = 0xffffffff - - CREATE_NEW = 1 - CREATE_ALWAYS = 2 - OPEN_EXISTING = 3 - OPEN_ALWAYS = 4 - TRUNCATE_EXISTING = 5 - - FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000 - FILE_FLAG_BACKUP_SEMANTICS = 0x02000000 - FILE_FLAG_OVERLAPPED = 0x40000000 - - HANDLE_FLAG_INHERIT = 0x00000001 - STARTF_USESTDHANDLES = 0x00000100 - STARTF_USESHOWWINDOW = 0x00000001 - DUPLICATE_CLOSE_SOURCE = 0x00000001 - DUPLICATE_SAME_ACCESS = 0x00000002 - - STD_INPUT_HANDLE = -10 & (1<<32 - 1) - STD_OUTPUT_HANDLE = -11 & (1<<32 - 1) - STD_ERROR_HANDLE = -12 & (1<<32 - 1) - - FILE_BEGIN = 0 - FILE_CURRENT = 1 - FILE_END = 2 - - LANG_ENGLISH = 0x09 - SUBLANG_ENGLISH_US = 0x01 - - FORMAT_MESSAGE_ALLOCATE_BUFFER = 256 - FORMAT_MESSAGE_IGNORE_INSERTS = 512 - FORMAT_MESSAGE_FROM_STRING = 1024 - FORMAT_MESSAGE_FROM_HMODULE = 2048 - FORMAT_MESSAGE_FROM_SYSTEM = 4096 - FORMAT_MESSAGE_ARGUMENT_ARRAY = 8192 - FORMAT_MESSAGE_MAX_WIDTH_MASK = 255 - - MAX_PATH = 260 - MAX_LONG_PATH = 32768 - - MAX_COMPUTERNAME_LENGTH = 15 - - TIME_ZONE_ID_UNKNOWN = 0 - TIME_ZONE_ID_STANDARD = 1 - - TIME_ZONE_ID_DAYLIGHT = 2 - IGNORE = 0 - INFINITE = 0xffffffff - - WAIT_TIMEOUT = 258 - WAIT_ABANDONED = 0x00000080 - WAIT_OBJECT_0 = 0x00000000 - WAIT_FAILED = 0xFFFFFFFF - - CREATE_NEW_PROCESS_GROUP = 0x00000200 - CREATE_UNICODE_ENVIRONMENT = 0x00000400 - - PROCESS_TERMINATE = 1 - PROCESS_QUERY_INFORMATION = 0x00000400 - SYNCHRONIZE = 0x00100000 - - FILE_MAP_COPY = 0x01 - FILE_MAP_WRITE = 0x02 - FILE_MAP_READ = 0x04 - FILE_MAP_EXECUTE = 0x20 - - CTRL_C_EVENT = 0 - CTRL_BREAK_EVENT = 1 - - // Windows reserves errors >= 1<<29 for application use. - APPLICATION_ERROR = 1 << 29 -) - -const ( - // flags for CreateToolhelp32Snapshot - TH32CS_SNAPHEAPLIST = 0x01 - TH32CS_SNAPPROCESS = 0x02 - TH32CS_SNAPTHREAD = 0x04 - TH32CS_SNAPMODULE = 0x08 - TH32CS_SNAPMODULE32 = 0x10 - TH32CS_SNAPALL = TH32CS_SNAPHEAPLIST | TH32CS_SNAPMODULE | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD - TH32CS_INHERIT = 0x80000000 -) - -const ( - // filters for ReadDirectoryChangesW - FILE_NOTIFY_CHANGE_FILE_NAME = 0x001 - FILE_NOTIFY_CHANGE_DIR_NAME = 0x002 - FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x004 - FILE_NOTIFY_CHANGE_SIZE = 0x008 - FILE_NOTIFY_CHANGE_LAST_WRITE = 0x010 - FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x020 - FILE_NOTIFY_CHANGE_CREATION = 0x040 - FILE_NOTIFY_CHANGE_SECURITY = 0x100 -) - -const ( - // do not reorder - FILE_ACTION_ADDED = iota + 1 - FILE_ACTION_REMOVED - FILE_ACTION_MODIFIED - FILE_ACTION_RENAMED_OLD_NAME - FILE_ACTION_RENAMED_NEW_NAME -) - -const ( - // wincrypt.h - PROV_RSA_FULL = 1 - PROV_RSA_SIG = 2 - PROV_DSS = 3 - PROV_FORTEZZA = 4 - PROV_MS_EXCHANGE = 5 - PROV_SSL = 6 - PROV_RSA_SCHANNEL = 12 - PROV_DSS_DH = 13 - PROV_EC_ECDSA_SIG = 14 - PROV_EC_ECNRA_SIG = 15 - PROV_EC_ECDSA_FULL = 16 - PROV_EC_ECNRA_FULL = 17 - PROV_DH_SCHANNEL = 18 - PROV_SPYRUS_LYNKS = 20 - PROV_RNG = 21 - PROV_INTEL_SEC = 22 - PROV_REPLACE_OWF = 23 - PROV_RSA_AES = 24 - CRYPT_VERIFYCONTEXT = 0xF0000000 - CRYPT_NEWKEYSET = 0x00000008 - CRYPT_DELETEKEYSET = 0x00000010 - CRYPT_MACHINE_KEYSET = 0x00000020 - CRYPT_SILENT = 0x00000040 - CRYPT_DEFAULT_CONTAINER_OPTIONAL = 0x00000080 - - USAGE_MATCH_TYPE_AND = 0 - USAGE_MATCH_TYPE_OR = 1 - - X509_ASN_ENCODING = 0x00000001 - PKCS_7_ASN_ENCODING = 0x00010000 - - CERT_STORE_PROV_MEMORY = 2 - - CERT_STORE_ADD_ALWAYS = 4 - - CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG = 0x00000004 - - CERT_TRUST_NO_ERROR = 0x00000000 - CERT_TRUST_IS_NOT_TIME_VALID = 0x00000001 - CERT_TRUST_IS_REVOKED = 0x00000004 - CERT_TRUST_IS_NOT_SIGNATURE_VALID = 0x00000008 - CERT_TRUST_IS_NOT_VALID_FOR_USAGE = 0x00000010 - CERT_TRUST_IS_UNTRUSTED_ROOT = 0x00000020 - CERT_TRUST_REVOCATION_STATUS_UNKNOWN = 0x00000040 - CERT_TRUST_IS_CYCLIC = 0x00000080 - CERT_TRUST_INVALID_EXTENSION = 0x00000100 - CERT_TRUST_INVALID_POLICY_CONSTRAINTS = 0x00000200 - CERT_TRUST_INVALID_BASIC_CONSTRAINTS = 0x00000400 - CERT_TRUST_INVALID_NAME_CONSTRAINTS = 0x00000800 - CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT = 0x00001000 - CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT = 0x00002000 - CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT = 0x00004000 - CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT = 0x00008000 - CERT_TRUST_IS_OFFLINE_REVOCATION = 0x01000000 - CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY = 0x02000000 - CERT_TRUST_IS_EXPLICIT_DISTRUST = 0x04000000 - CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT = 0x08000000 - - CERT_CHAIN_POLICY_BASE = 1 - CERT_CHAIN_POLICY_AUTHENTICODE = 2 - CERT_CHAIN_POLICY_AUTHENTICODE_TS = 3 - CERT_CHAIN_POLICY_SSL = 4 - CERT_CHAIN_POLICY_BASIC_CONSTRAINTS = 5 - CERT_CHAIN_POLICY_NT_AUTH = 6 - CERT_CHAIN_POLICY_MICROSOFT_ROOT = 7 - CERT_CHAIN_POLICY_EV = 8 - - CERT_E_EXPIRED = 0x800B0101 - CERT_E_ROLE = 0x800B0103 - CERT_E_PURPOSE = 0x800B0106 - CERT_E_UNTRUSTEDROOT = 0x800B0109 - CERT_E_CN_NO_MATCH = 0x800B010F - - AUTHTYPE_CLIENT = 1 - AUTHTYPE_SERVER = 2 -) - -var ( - OID_PKIX_KP_SERVER_AUTH = []byte("1.3.6.1.5.5.7.3.1\x00") - OID_SERVER_GATED_CRYPTO = []byte("1.3.6.1.4.1.311.10.3.3\x00") - OID_SGC_NETSCAPE = []byte("2.16.840.1.113730.4.1\x00") -) - -// Invented values to support what package os expects. -type Timeval struct { - Sec int32 - Usec int32 -} - -func (tv *Timeval) Nanoseconds() int64 { - return (int64(tv.Sec)*1e6 + int64(tv.Usec)) * 1e3 -} - -func NsecToTimeval(nsec int64) (tv Timeval) { - tv.Sec = int32(nsec / 1e9) - tv.Usec = int32(nsec % 1e9 / 1e3) - return -} - -type SecurityAttributes struct { - Length uint32 - SecurityDescriptor uintptr - InheritHandle uint32 -} - -type Overlapped struct { - Internal uintptr - InternalHigh uintptr - Offset uint32 - OffsetHigh uint32 - HEvent Handle -} - -type FileNotifyInformation struct { - NextEntryOffset uint32 - Action uint32 - FileNameLength uint32 - FileName uint16 -} - -type Filetime struct { - LowDateTime uint32 - HighDateTime uint32 -} - -// Nanoseconds returns Filetime ft in nanoseconds -// since Epoch (00:00:00 UTC, January 1, 1970). -func (ft *Filetime) Nanoseconds() int64 { - // 100-nanosecond intervals since January 1, 1601 - nsec := int64(ft.HighDateTime)<<32 + int64(ft.LowDateTime) - // change starting time to the Epoch (00:00:00 UTC, January 1, 1970) - nsec -= 116444736000000000 - // convert into nanoseconds - nsec *= 100 - return nsec -} - -func NsecToFiletime(nsec int64) (ft Filetime) { - // convert into 100-nanosecond - nsec /= 100 - // change starting time to January 1, 1601 - nsec += 116444736000000000 - // split into high / low - ft.LowDateTime = uint32(nsec & 0xffffffff) - ft.HighDateTime = uint32(nsec >> 32 & 0xffffffff) - return ft -} - -type Win32finddata struct { - FileAttributes uint32 - CreationTime Filetime - LastAccessTime Filetime - LastWriteTime Filetime - FileSizeHigh uint32 - FileSizeLow uint32 - Reserved0 uint32 - Reserved1 uint32 - FileName [MAX_PATH - 1]uint16 - AlternateFileName [13]uint16 -} - -// This is the actual system call structure. -// Win32finddata is what we committed to in Go 1. -type win32finddata1 struct { - FileAttributes uint32 - CreationTime Filetime - LastAccessTime Filetime - LastWriteTime Filetime - FileSizeHigh uint32 - FileSizeLow uint32 - Reserved0 uint32 - Reserved1 uint32 - FileName [MAX_PATH]uint16 - AlternateFileName [14]uint16 -} - -func copyFindData(dst *Win32finddata, src *win32finddata1) { - dst.FileAttributes = src.FileAttributes - dst.CreationTime = src.CreationTime - dst.LastAccessTime = src.LastAccessTime - dst.LastWriteTime = src.LastWriteTime - dst.FileSizeHigh = src.FileSizeHigh - dst.FileSizeLow = src.FileSizeLow - dst.Reserved0 = src.Reserved0 - dst.Reserved1 = src.Reserved1 - - // The src is 1 element bigger than dst, but it must be NUL. - copy(dst.FileName[:], src.FileName[:]) - copy(dst.AlternateFileName[:], src.AlternateFileName[:]) -} - -type ByHandleFileInformation struct { - FileAttributes uint32 - CreationTime Filetime - LastAccessTime Filetime - LastWriteTime Filetime - VolumeSerialNumber uint32 - FileSizeHigh uint32 - FileSizeLow uint32 - NumberOfLinks uint32 - FileIndexHigh uint32 - FileIndexLow uint32 -} - -const ( - GetFileExInfoStandard = 0 - GetFileExMaxInfoLevel = 1 -) - -type Win32FileAttributeData struct { - FileAttributes uint32 - CreationTime Filetime - LastAccessTime Filetime - LastWriteTime Filetime - FileSizeHigh uint32 - FileSizeLow uint32 -} - -// ShowWindow constants -const ( - // winuser.h - SW_HIDE = 0 - SW_NORMAL = 1 - SW_SHOWNORMAL = 1 - SW_SHOWMINIMIZED = 2 - SW_SHOWMAXIMIZED = 3 - SW_MAXIMIZE = 3 - SW_SHOWNOACTIVATE = 4 - SW_SHOW = 5 - SW_MINIMIZE = 6 - SW_SHOWMINNOACTIVE = 7 - SW_SHOWNA = 8 - SW_RESTORE = 9 - SW_SHOWDEFAULT = 10 - SW_FORCEMINIMIZE = 11 -) - -type StartupInfo struct { - Cb uint32 - _ *uint16 - Desktop *uint16 - Title *uint16 - X uint32 - Y uint32 - XSize uint32 - YSize uint32 - XCountChars uint32 - YCountChars uint32 - FillAttribute uint32 - Flags uint32 - ShowWindow uint16 - _ uint16 - _ *byte - StdInput Handle - StdOutput Handle - StdErr Handle -} - -type ProcessInformation struct { - Process Handle - Thread Handle - ProcessId uint32 - ThreadId uint32 -} - -type ProcessEntry32 struct { - Size uint32 - Usage uint32 - ProcessID uint32 - DefaultHeapID uintptr - ModuleID uint32 - Threads uint32 - ParentProcessID uint32 - PriClassBase int32 - Flags uint32 - ExeFile [MAX_PATH]uint16 -} - -type Systemtime struct { - Year uint16 - Month uint16 - DayOfWeek uint16 - Day uint16 - Hour uint16 - Minute uint16 - Second uint16 - Milliseconds uint16 -} - -type Timezoneinformation struct { - Bias int32 - StandardName [32]uint16 - StandardDate Systemtime - StandardBias int32 - DaylightName [32]uint16 - DaylightDate Systemtime - DaylightBias int32 -} - -// Socket related. - -const ( - AF_UNSPEC = 0 - AF_UNIX = 1 - AF_INET = 2 - AF_INET6 = 23 - AF_NETBIOS = 17 - - SOCK_STREAM = 1 - SOCK_DGRAM = 2 - SOCK_RAW = 3 - SOCK_SEQPACKET = 5 - - IPPROTO_IP = 0 - IPPROTO_IPV6 = 0x29 - IPPROTO_TCP = 6 - IPPROTO_UDP = 17 - - SOL_SOCKET = 0xffff - SO_REUSEADDR = 4 - SO_KEEPALIVE = 8 - SO_DONTROUTE = 16 - SO_BROADCAST = 32 - SO_LINGER = 128 - SO_RCVBUF = 0x1002 - SO_SNDBUF = 0x1001 - SO_UPDATE_ACCEPT_CONTEXT = 0x700b - SO_UPDATE_CONNECT_CONTEXT = 0x7010 - - IOC_OUT = 0x40000000 - IOC_IN = 0x80000000 - IOC_VENDOR = 0x18000000 - IOC_INOUT = IOC_IN | IOC_OUT - IOC_WS2 = 0x08000000 - SIO_GET_EXTENSION_FUNCTION_POINTER = IOC_INOUT | IOC_WS2 | 6 - SIO_KEEPALIVE_VALS = IOC_IN | IOC_VENDOR | 4 - SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12 - - // cf. http://support.microsoft.com/default.aspx?scid=kb;en-us;257460 - - IP_TOS = 0x3 - IP_TTL = 0x4 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_TTL = 0xa - IP_MULTICAST_LOOP = 0xb - IP_ADD_MEMBERSHIP = 0xc - IP_DROP_MEMBERSHIP = 0xd - - IPV6_V6ONLY = 0x1b - IPV6_UNICAST_HOPS = 0x4 - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_LOOP = 0xb - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - - SOMAXCONN = 0x7fffffff - - TCP_NODELAY = 1 - - SHUT_RD = 0 - SHUT_WR = 1 - SHUT_RDWR = 2 - - WSADESCRIPTION_LEN = 256 - WSASYS_STATUS_LEN = 128 -) - -type WSABuf struct { - Len uint32 - Buf *byte -} - -// Invented values to support what package os expects. -const ( - S_IFMT = 0x1f000 - 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_IWRITE = 0x80 - S_IWUSR = 0x80 - S_IXUSR = 0x40 -) - -const ( - FILE_TYPE_CHAR = 0x0002 - FILE_TYPE_DISK = 0x0001 - FILE_TYPE_PIPE = 0x0003 - FILE_TYPE_REMOTE = 0x8000 - FILE_TYPE_UNKNOWN = 0x0000 -) - -type Hostent struct { - Name *byte - Aliases **byte - AddrType uint16 - Length uint16 - AddrList **byte -} - -type Protoent struct { - Name *byte - Aliases **byte - Proto uint16 -} - -const ( - DNS_TYPE_A = 0x0001 - DNS_TYPE_NS = 0x0002 - DNS_TYPE_MD = 0x0003 - DNS_TYPE_MF = 0x0004 - DNS_TYPE_CNAME = 0x0005 - DNS_TYPE_SOA = 0x0006 - DNS_TYPE_MB = 0x0007 - DNS_TYPE_MG = 0x0008 - DNS_TYPE_MR = 0x0009 - DNS_TYPE_NULL = 0x000a - DNS_TYPE_WKS = 0x000b - DNS_TYPE_PTR = 0x000c - DNS_TYPE_HINFO = 0x000d - DNS_TYPE_MINFO = 0x000e - DNS_TYPE_MX = 0x000f - DNS_TYPE_TEXT = 0x0010 - DNS_TYPE_RP = 0x0011 - DNS_TYPE_AFSDB = 0x0012 - DNS_TYPE_X25 = 0x0013 - DNS_TYPE_ISDN = 0x0014 - DNS_TYPE_RT = 0x0015 - DNS_TYPE_NSAP = 0x0016 - DNS_TYPE_NSAPPTR = 0x0017 - DNS_TYPE_SIG = 0x0018 - DNS_TYPE_KEY = 0x0019 - DNS_TYPE_PX = 0x001a - DNS_TYPE_GPOS = 0x001b - DNS_TYPE_AAAA = 0x001c - DNS_TYPE_LOC = 0x001d - DNS_TYPE_NXT = 0x001e - DNS_TYPE_EID = 0x001f - DNS_TYPE_NIMLOC = 0x0020 - DNS_TYPE_SRV = 0x0021 - DNS_TYPE_ATMA = 0x0022 - DNS_TYPE_NAPTR = 0x0023 - DNS_TYPE_KX = 0x0024 - DNS_TYPE_CERT = 0x0025 - DNS_TYPE_A6 = 0x0026 - DNS_TYPE_DNAME = 0x0027 - DNS_TYPE_SINK = 0x0028 - DNS_TYPE_OPT = 0x0029 - DNS_TYPE_DS = 0x002B - DNS_TYPE_RRSIG = 0x002E - DNS_TYPE_NSEC = 0x002F - DNS_TYPE_DNSKEY = 0x0030 - DNS_TYPE_DHCID = 0x0031 - DNS_TYPE_UINFO = 0x0064 - DNS_TYPE_UID = 0x0065 - DNS_TYPE_GID = 0x0066 - DNS_TYPE_UNSPEC = 0x0067 - DNS_TYPE_ADDRS = 0x00f8 - DNS_TYPE_TKEY = 0x00f9 - DNS_TYPE_TSIG = 0x00fa - DNS_TYPE_IXFR = 0x00fb - DNS_TYPE_AXFR = 0x00fc - DNS_TYPE_MAILB = 0x00fd - DNS_TYPE_MAILA = 0x00fe - DNS_TYPE_ALL = 0x00ff - DNS_TYPE_ANY = 0x00ff - DNS_TYPE_WINS = 0xff01 - DNS_TYPE_WINSR = 0xff02 - DNS_TYPE_NBSTAT = 0xff01 -) - -const ( - DNS_INFO_NO_RECORDS = 0x251D -) - -const ( - // flags inside DNSRecord.Dw - DnsSectionQuestion = 0x0000 - DnsSectionAnswer = 0x0001 - DnsSectionAuthority = 0x0002 - DnsSectionAdditional = 0x0003 -) - -type DNSSRVData struct { - Target *uint16 - Priority uint16 - Weight uint16 - Port uint16 - Pad uint16 -} - -type DNSPTRData struct { - Host *uint16 -} - -type DNSMXData struct { - NameExchange *uint16 - Preference uint16 - Pad uint16 -} - -type DNSTXTData struct { - StringCount uint16 - StringArray [1]*uint16 -} - -type DNSRecord struct { - Next *DNSRecord - Name *uint16 - Type uint16 - Length uint16 - Dw uint32 - Ttl uint32 - Reserved uint32 - Data [40]byte -} - -const ( - TF_DISCONNECT = 1 - TF_REUSE_SOCKET = 2 - TF_WRITE_BEHIND = 4 - TF_USE_DEFAULT_WORKER = 0 - TF_USE_SYSTEM_THREAD = 16 - TF_USE_KERNEL_APC = 32 -) - -type TransmitFileBuffers struct { - Head uintptr - HeadLength uint32 - Tail uintptr - TailLength uint32 -} - -const ( - IFF_UP = 1 - IFF_BROADCAST = 2 - IFF_LOOPBACK = 4 - IFF_POINTTOPOINT = 8 - IFF_MULTICAST = 16 -) - -const SIO_GET_INTERFACE_LIST = 0x4004747F - -// TODO(mattn): SockaddrGen is union of sockaddr/sockaddr_in/sockaddr_in6_old. -// will be fixed to change variable type as suitable. - -type SockaddrGen [24]byte - -type InterfaceInfo struct { - Flags uint32 - Address SockaddrGen - BroadcastAddress SockaddrGen - Netmask SockaddrGen -} - -type IpAddressString struct { - String [16]byte -} - -type IpMaskString IpAddressString - -type IpAddrString struct { - Next *IpAddrString - IpAddress IpAddressString - IpMask IpMaskString - Context uint32 -} - -const MAX_ADAPTER_NAME_LENGTH = 256 -const MAX_ADAPTER_DESCRIPTION_LENGTH = 128 -const MAX_ADAPTER_ADDRESS_LENGTH = 8 - -type IpAdapterInfo struct { - Next *IpAdapterInfo - ComboIndex uint32 - AdapterName [MAX_ADAPTER_NAME_LENGTH + 4]byte - Description [MAX_ADAPTER_DESCRIPTION_LENGTH + 4]byte - AddressLength uint32 - Address [MAX_ADAPTER_ADDRESS_LENGTH]byte - Index uint32 - Type uint32 - DhcpEnabled uint32 - CurrentIpAddress *IpAddrString - IpAddressList IpAddrString - GatewayList IpAddrString - DhcpServer IpAddrString - HaveWins bool - PrimaryWinsServer IpAddrString - SecondaryWinsServer IpAddrString - LeaseObtained int64 - LeaseExpires int64 -} - -const MAXLEN_PHYSADDR = 8 -const MAX_INTERFACE_NAME_LEN = 256 -const MAXLEN_IFDESCR = 256 - -type MibIfRow struct { - Name [MAX_INTERFACE_NAME_LEN]uint16 - Index uint32 - Type uint32 - Mtu uint32 - Speed uint32 - PhysAddrLen uint32 - PhysAddr [MAXLEN_PHYSADDR]byte - AdminStatus uint32 - OperStatus uint32 - LastChange uint32 - InOctets uint32 - InUcastPkts uint32 - InNUcastPkts uint32 - InDiscards uint32 - InErrors uint32 - InUnknownProtos uint32 - OutOctets uint32 - OutUcastPkts uint32 - OutNUcastPkts uint32 - OutDiscards uint32 - OutErrors uint32 - OutQLen uint32 - DescrLen uint32 - Descr [MAXLEN_IFDESCR]byte -} - -type CertContext struct { - EncodingType uint32 - EncodedCert *byte - Length uint32 - CertInfo uintptr - Store Handle -} - -type CertChainContext struct { - Size uint32 - TrustStatus CertTrustStatus - ChainCount uint32 - Chains **CertSimpleChain - LowerQualityChainCount uint32 - LowerQualityChains **CertChainContext - HasRevocationFreshnessTime uint32 - RevocationFreshnessTime uint32 -} - -type CertSimpleChain struct { - Size uint32 - TrustStatus CertTrustStatus - NumElements uint32 - Elements **CertChainElement - TrustListInfo uintptr - HasRevocationFreshnessTime uint32 - RevocationFreshnessTime uint32 -} - -type CertChainElement struct { - Size uint32 - CertContext *CertContext - TrustStatus CertTrustStatus - RevocationInfo *CertRevocationInfo - IssuanceUsage *CertEnhKeyUsage - ApplicationUsage *CertEnhKeyUsage - ExtendedErrorInfo *uint16 -} - -type CertRevocationInfo struct { - Size uint32 - RevocationResult uint32 - RevocationOid *byte - OidSpecificInfo uintptr - HasFreshnessTime uint32 - FreshnessTime uint32 - CrlInfo uintptr // *CertRevocationCrlInfo -} - -type CertTrustStatus struct { - ErrorStatus uint32 - InfoStatus uint32 -} - -type CertUsageMatch struct { - Type uint32 - Usage CertEnhKeyUsage -} - -type CertEnhKeyUsage struct { - Length uint32 - UsageIdentifiers **byte -} - -type CertChainPara struct { - Size uint32 - RequestedUsage CertUsageMatch - RequstedIssuancePolicy CertUsageMatch - URLRetrievalTimeout uint32 - CheckRevocationFreshnessTime uint32 - RevocationFreshnessTime uint32 - CacheResync *Filetime -} - -type CertChainPolicyPara struct { - Size uint32 - Flags uint32 - ExtraPolicyPara uintptr -} - -type SSLExtraCertChainPolicyPara struct { - Size uint32 - AuthType uint32 - Checks uint32 - ServerName *uint16 -} - -type CertChainPolicyStatus struct { - Size uint32 - Error uint32 - ChainIndex uint32 - ElementIndex uint32 - ExtraPolicyStatus uintptr -} - -const ( - // do not reorder - HKEY_CLASSES_ROOT = 0x80000000 + iota - HKEY_CURRENT_USER - HKEY_LOCAL_MACHINE - HKEY_USERS - HKEY_PERFORMANCE_DATA - HKEY_CURRENT_CONFIG - HKEY_DYN_DATA - - KEY_QUERY_VALUE = 1 - KEY_SET_VALUE = 2 - KEY_CREATE_SUB_KEY = 4 - KEY_ENUMERATE_SUB_KEYS = 8 - KEY_NOTIFY = 16 - KEY_CREATE_LINK = 32 - KEY_WRITE = 0x20006 - KEY_EXECUTE = 0x20019 - KEY_READ = 0x20019 - KEY_WOW64_64KEY = 0x0100 - KEY_WOW64_32KEY = 0x0200 - KEY_ALL_ACCESS = 0xf003f -) - -const ( - // do not reorder - REG_NONE = iota - REG_SZ - REG_EXPAND_SZ - REG_BINARY - REG_DWORD_LITTLE_ENDIAN - REG_DWORD_BIG_ENDIAN - REG_LINK - REG_MULTI_SZ - REG_RESOURCE_LIST - REG_FULL_RESOURCE_DESCRIPTOR - REG_RESOURCE_REQUIREMENTS_LIST - REG_QWORD_LITTLE_ENDIAN - REG_DWORD = REG_DWORD_LITTLE_ENDIAN - REG_QWORD = REG_QWORD_LITTLE_ENDIAN -) - -type AddrinfoW struct { - Flags int32 - Family int32 - Socktype int32 - Protocol int32 - Addrlen uintptr - Canonname *uint16 - Addr uintptr - Next *AddrinfoW -} - -const ( - AI_PASSIVE = 1 - AI_CANONNAME = 2 - AI_NUMERICHOST = 4 -) - -type GUID struct { - Data1 uint32 - Data2 uint16 - Data3 uint16 - Data4 [8]byte -} - -var WSAID_CONNECTEX = GUID{ - 0x25a207b9, - 0xddf3, - 0x4660, - [8]byte{0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e}, -} - -const ( - FILE_SKIP_COMPLETION_PORT_ON_SUCCESS = 1 - FILE_SKIP_SET_EVENT_ON_HANDLE = 2 -) - -const ( - WSAPROTOCOL_LEN = 255 - MAX_PROTOCOL_CHAIN = 7 - BASE_PROTOCOL = 1 - LAYERED_PROTOCOL = 0 - - XP1_CONNECTIONLESS = 0x00000001 - XP1_GUARANTEED_DELIVERY = 0x00000002 - XP1_GUARANTEED_ORDER = 0x00000004 - XP1_MESSAGE_ORIENTED = 0x00000008 - XP1_PSEUDO_STREAM = 0x00000010 - XP1_GRACEFUL_CLOSE = 0x00000020 - XP1_EXPEDITED_DATA = 0x00000040 - XP1_CONNECT_DATA = 0x00000080 - XP1_DISCONNECT_DATA = 0x00000100 - XP1_SUPPORT_BROADCAST = 0x00000200 - XP1_SUPPORT_MULTIPOINT = 0x00000400 - XP1_MULTIPOINT_CONTROL_PLANE = 0x00000800 - XP1_MULTIPOINT_DATA_PLANE = 0x00001000 - XP1_QOS_SUPPORTED = 0x00002000 - XP1_UNI_SEND = 0x00008000 - XP1_UNI_RECV = 0x00010000 - XP1_IFS_HANDLES = 0x00020000 - XP1_PARTIAL_MESSAGE = 0x00040000 - XP1_SAN_SUPPORT_SDP = 0x00080000 - - PFL_MULTIPLE_PROTO_ENTRIES = 0x00000001 - PFL_RECOMMENDED_PROTO_ENTRY = 0x00000002 - PFL_HIDDEN = 0x00000004 - PFL_MATCHES_PROTOCOL_ZERO = 0x00000008 - PFL_NETWORKDIRECT_PROVIDER = 0x00000010 -) - -type WSAProtocolInfo struct { - ServiceFlags1 uint32 - ServiceFlags2 uint32 - ServiceFlags3 uint32 - ServiceFlags4 uint32 - ProviderFlags uint32 - ProviderId GUID - CatalogEntryId uint32 - ProtocolChain WSAProtocolChain - Version int32 - AddressFamily int32 - MaxSockAddr int32 - MinSockAddr int32 - SocketType int32 - Protocol int32 - ProtocolMaxOffset int32 - NetworkByteOrder int32 - SecurityScheme int32 - MessageSize uint32 - ProviderReserved uint32 - ProtocolName [WSAPROTOCOL_LEN + 1]uint16 -} - -type WSAProtocolChain struct { - ChainLen int32 - ChainEntries [MAX_PROTOCOL_CHAIN]uint32 -} - -type TCPKeepalive struct { - OnOff uint32 - Time uint32 - Interval uint32 -} - -type symbolicLinkReparseBuffer struct { - SubstituteNameOffset uint16 - SubstituteNameLength uint16 - PrintNameOffset uint16 - PrintNameLength uint16 - Flags uint32 - PathBuffer [1]uint16 -} - -type mountPointReparseBuffer struct { - SubstituteNameOffset uint16 - SubstituteNameLength uint16 - PrintNameOffset uint16 - PrintNameLength uint16 - PathBuffer [1]uint16 -} - -type reparseDataBuffer struct { - ReparseTag uint32 - ReparseDataLength uint16 - Reserved uint16 - - // GenericReparseBuffer - reparseBuffer byte -} - -const ( - FSCTL_GET_REPARSE_POINT = 0x900A8 - MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024 - IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003 - IO_REPARSE_TAG_SYMLINK = 0xA000000C - SYMBOLIC_LINK_FLAG_DIRECTORY = 0x1 -) - -const ( - ComputerNameNetBIOS = 0 - ComputerNameDnsHostname = 1 - ComputerNameDnsDomain = 2 - ComputerNameDnsFullyQualified = 3 - ComputerNamePhysicalNetBIOS = 4 - ComputerNamePhysicalDnsHostname = 5 - ComputerNamePhysicalDnsDomain = 6 - ComputerNamePhysicalDnsFullyQualified = 7 - ComputerNameMax = 8 -) - -const ( - MOVEFILE_REPLACE_EXISTING = 0x1 - MOVEFILE_COPY_ALLOWED = 0x2 - MOVEFILE_DELAY_UNTIL_REBOOT = 0x4 - MOVEFILE_WRITE_THROUGH = 0x8 - MOVEFILE_CREATE_HARDLINK = 0x10 - MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x20 -) - -const GAA_FLAG_INCLUDE_PREFIX = 0x00000010 - -const ( - IF_TYPE_OTHER = 1 - IF_TYPE_ETHERNET_CSMACD = 6 - IF_TYPE_ISO88025_TOKENRING = 9 - IF_TYPE_PPP = 23 - IF_TYPE_SOFTWARE_LOOPBACK = 24 - IF_TYPE_ATM = 37 - IF_TYPE_IEEE80211 = 71 - IF_TYPE_TUNNEL = 131 - IF_TYPE_IEEE1394 = 144 -) - -type SocketAddress struct { - Sockaddr *syscall.RawSockaddrAny - SockaddrLength int32 -} - -type IpAdapterUnicastAddress struct { - Length uint32 - Flags uint32 - Next *IpAdapterUnicastAddress - Address SocketAddress - PrefixOrigin int32 - SuffixOrigin int32 - DadState int32 - ValidLifetime uint32 - PreferredLifetime uint32 - LeaseLifetime uint32 - OnLinkPrefixLength uint8 -} - -type IpAdapterAnycastAddress struct { - Length uint32 - Flags uint32 - Next *IpAdapterAnycastAddress - Address SocketAddress -} - -type IpAdapterMulticastAddress struct { - Length uint32 - Flags uint32 - Next *IpAdapterMulticastAddress - Address SocketAddress -} - -type IpAdapterDnsServerAdapter struct { - Length uint32 - Reserved uint32 - Next *IpAdapterDnsServerAdapter - Address SocketAddress -} - -type IpAdapterPrefix struct { - Length uint32 - Flags uint32 - Next *IpAdapterPrefix - Address SocketAddress - PrefixLength uint32 -} - -type IpAdapterAddresses struct { - Length uint32 - IfIndex uint32 - Next *IpAdapterAddresses - AdapterName *byte - FirstUnicastAddress *IpAdapterUnicastAddress - FirstAnycastAddress *IpAdapterAnycastAddress - FirstMulticastAddress *IpAdapterMulticastAddress - FirstDnsServerAddress *IpAdapterDnsServerAdapter - DnsSuffix *uint16 - Description *uint16 - FriendlyName *uint16 - PhysicalAddress [syscall.MAX_ADAPTER_ADDRESS_LENGTH]byte - PhysicalAddressLength uint32 - Flags uint32 - Mtu uint32 - IfType uint32 - OperStatus uint32 - Ipv6IfIndex uint32 - ZoneIndices [16]uint32 - FirstPrefix *IpAdapterPrefix - /* more fields might be present here. */ -} - -const ( - IfOperStatusUp = 1 - IfOperStatusDown = 2 - IfOperStatusTesting = 3 - IfOperStatusUnknown = 4 - IfOperStatusDormant = 5 - IfOperStatusNotPresent = 6 - IfOperStatusLowerLayerDown = 7 -) diff --git a/vendor/golang.org/x/sys/windows/ztypes_windows_386.go b/vendor/golang.org/x/sys/windows/ztypes_windows_386.go deleted file mode 100644 index 10f33be..0000000 --- a/vendor/golang.org/x/sys/windows/ztypes_windows_386.go +++ /dev/null @@ -1,22 +0,0 @@ -// 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. - -package windows - -type WSAData struct { - Version uint16 - HighVersion uint16 - Description [WSADESCRIPTION_LEN + 1]byte - SystemStatus [WSASYS_STATUS_LEN + 1]byte - MaxSockets uint16 - MaxUdpDg uint16 - VendorInfo *byte -} - -type Servent struct { - Name *byte - Aliases **byte - Port uint16 - Proto *byte -} diff --git a/vendor/golang.org/x/sys/windows/ztypes_windows_amd64.go b/vendor/golang.org/x/sys/windows/ztypes_windows_amd64.go deleted file mode 100644 index 3f272c2..0000000 --- a/vendor/golang.org/x/sys/windows/ztypes_windows_amd64.go +++ /dev/null @@ -1,22 +0,0 @@ -// 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. - -package windows - -type WSAData struct { - Version uint16 - HighVersion uint16 - MaxSockets uint16 - MaxUdpDg uint16 - VendorInfo *byte - Description [WSADESCRIPTION_LEN + 1]byte - SystemStatus [WSASYS_STATUS_LEN + 1]byte -} - -type Servent struct { - Name *byte - Aliases **byte - Proto *byte - Port uint16 -} diff --git a/vendor/golang.org/x/text/cases/gen.go b/vendor/golang.org/x/text/cases/gen.go index eb399ba..24b7230 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/collate/build/colelem_test.go b/vendor/golang.org/x/text/collate/build/colelem_test.go index 3862b1e..d0c8d07 100644 --- a/vendor/golang.org/x/text/collate/build/colelem_test.go +++ b/vendor/golang.org/x/text/collate/build/colelem_test.go @@ -203,7 +203,7 @@ func TestCompareWeights(t *testing.T) { test := func(tt weightsTest, a, b [][]int) { res, level := compareWeights(mkRawCES(a), mkRawCES(b)) if res != tt.result { - t.Errorf("%d: expected comparisson result %d; found %d", i, tt.result, res) + t.Errorf("%d: expected comparison result %d; found %d", i, tt.result, res) } if level != tt.level { t.Errorf("%d: expected level %d; found %d", i, tt.level, level) 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 6dda8bc..ebd6012 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 91980ac..76de404 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 80a52f0..ac6b4a7 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 70f2ac4..bdc7d15 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 cbf4ba9..9d6b431 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/plural.go b/vendor/golang.org/x/text/feature/plural/plural.go index 2b4cfe3..61faf18 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 e5524c5..b3cf4c4 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/internal/catmsg/catmsg.go b/vendor/golang.org/x/text/internal/catmsg/catmsg.go index 74c039f..f8abf37 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 d06502b..df913a1 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 e959b08..ab587f8 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 a079c77..04d881d 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 880952c..2855589 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/idna.go b/vendor/golang.org/x/text/internal/export/idna/idna.go index 4711196..1d775fa 100644 --- a/vendor/golang.org/x/text/internal/export/idna/idna.go +++ b/vendor/golang.org/x/text/internal/export/idna/idna.go @@ -92,7 +92,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. // diff --git a/vendor/golang.org/x/text/internal/number/decimal.go b/vendor/golang.org/x/text/internal/number/decimal.go index f6828ef..0491c97 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,7 +369,7 @@ 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 @@ -346,11 +385,13 @@ func (d *Decimal) ConvertFloat(r *RoundingContext, x float64, size int) { 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)) + scale := r.scale() + prec := r.precision() + if scale > 0 || r.Increment > 0 || prec == 0 { + if scale > len(scales) { + x *= math.Pow(10, float64(scale)) } else { - x *= scales[r.Scale] + x *= scales[scale] } if r.Increment > 0 { inc := float64(r.Increment) @@ -361,7 +402,7 @@ func (d *Decimal) ConvertFloat(r *RoundingContext, x float64, size int) { x = r.Mode.roundFloat(x) } d.fillIntDigits(uint64(math.Abs(x))) - d.Exp = int32(len(d.Digits)) - r.Scale + d.Exp = int32(len(d.Digits) - scale) return } @@ -373,7 +414,6 @@ func (d *Decimal) ConvertFloat(r *RoundingContext, x float64, size int) { // AppendDigits(dst []byte, x float64, base, size, prec int) (digits []byte, exp, accuracy int) // TODO: This only supports the nearest even rounding mode. - prec := int(r.Precision) if prec > 0 { prec-- } 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 5c81700..b017b39 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,14 +241,18 @@ 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} + inc0_05.SetScale(2) + inc50 := RoundingContext{Increment: 50} + prec3 := RoundingContext{} + prec3.SetPrecision(3) testCases := []struct { x interface{} - rc *RoundingContext + rc RoundingContext out string }{ {int8(-34), scale2, "-34"}, @@ -271,6 +284,7 @@ func TestConvert(t *testing.T) { {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 +299,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 70ddf7d..44116fa 100755 --- a/vendor/golang.org/x/text/internal/number/format.go +++ b/vendor/golang.org/x/text/internal/number/format.go @@ -28,7 +28,6 @@ import ( type Formatter struct { Pattern Info - RoundingContext } func (f *Formatter) init(t language.Tag, index []uint8) { @@ -82,17 +81,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 +142,88 @@ func (f *Formatter) Format(dst []byte, d *Decimal) []byte { return result } -// 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 { - return dst, 0, len(dst) +// 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 := d.normalize() - if maxSig := int(f.MaxSignificantDigits); maxSig > 0 { + n := Digits{digits: d.normalize().digits} + + if maxSig := int(r.MaxSignificantDigits); maxSig > 0 { + // TODO: really round to zero? n.round(ToZero, maxSig) } digits := n.Digits exp := n.Exp - exp += int32(f.Pattern.DigitShift) + 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(digits) { + p = len(digits) + } + if digits = digits[p:]; len(digits) == 0 { + exp = 0 + } else { + exp -= int32(p) + } + // Strip leading zeros. + for len(digits) > 0 && digits[0] == 0 { + digits = digits[1:] + exp-- + } + } + } + + // Rounding usually is done by convert, but we don't rely on it. + numFrac := len(digits) - int(exp) + if r.MaxSignificantDigits == 0 && int(r.MaxFractionDigits) < numFrac { + p := int(exp) + int(r.MaxFractionDigits) + if p <= 0 { + p = 0 + } else if p >= len(digits) { + p = len(digits) + } + digits = digits[:p] // TODO: round + } + + // set End (trailing zeros) + n.End = int32(len(digits)) + if len(digits) == 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.Digits = digits + 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, n *Digits) (b []byte, postPre, preSuf int) { + if dst, ok := f.renderSpecial(dst, n); ok { + return dst, 0, len(dst) + } + digits := n.Digits + exp := n.Exp // 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 +231,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 +266,84 @@ 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() + maxSig := int(r.MaxFractionDigits) + numInt + minSig := int(r.MinFractionDigits) + numInt + if maxSig > 0 { + // TODO: really round to zero? 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) } + + n.Comma = uint8(numInt) + n.End = int32(len(n.Digits)) + if n.End < int32(minSig) { + n.End = int32(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 +351,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 +370,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 +385,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 +470,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 +484,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 4c47bc5..fc7c36d 100755 --- a/vendor/golang.org/x/text/internal/number/format_test.go +++ b/vendor/golang.org/x/text/internal/number/format_test.go @@ -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", @@ -441,11 +449,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 +479,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) @@ -496,9 +506,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 ef7f087..89c2a1c 100644 --- a/vendor/golang.org/x/text/internal/number/pattern.go +++ b/vendor/golang.org/x/text/internal/number/pattern.go @@ -39,31 +39,64 @@ 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 { + Increment uint32 // if > 0, round to Increment * 10^-scale() + // TODO: unify these two fields so that there is a more unambiguous meaning + // of how precision is handled. + MaxSignificantDigits int16 // -1 is infinite precision + MaxFractionDigits uint16 + + 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 +} + +func (r *RoundingContext) scale() int { + // scale is 0 when precision is set. + if r.MaxSignificantDigits != 0 { + return 0 + } + return int(r.MaxFractionDigits) +} + +func (r *RoundingContext) precision() int { return int(r.MaxSignificantDigits) } + +// SetScale fixes the RoundingContext to a fixed number of fraction digits. +func (r *RoundingContext) SetScale(scale int) { + r.MinFractionDigits = uint8(scale) + r.MaxFractionDigits = uint16(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 { @@ -339,7 +372,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 @@ -381,7 +414,7 @@ func (p *parser) sigDigitsFinal(r rune) state { func (p *parser) normalizeSigDigitsWithExponent() state { p.MinIntegerDigits, p.MaxIntegerDigits = 1, 1 p.MinFractionDigits = p.MinSignificantDigits - 1 - p.MaxFractionDigits = p.MaxSignificantDigits - 1 + p.MaxFractionDigits = uint16(p.MaxSignificantDigits) - 1 p.MinSignificantDigits, p.MaxSignificantDigits = 0, 0 return p.exponent } @@ -389,7 +422,7 @@ 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.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 97ff64d..f551456 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,36 @@ var testCases = []struct { }, { "0E0", &Pattern{ - FormatWidth: 3, - MinIntegerDigits: 1, - MinExponentDigits: 1, + FormatWidth: 3, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + MinExponentDigits: 1, + }, }, }, { "##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 +188,55 @@ var testCases = []struct { // significant digits "@", &Pattern{ - FormatWidth: 1, - MinSignificantDigits: 1, - MaxSignificantDigits: 1, + FormatWidth: 1, + RoundingContext: RoundingContext{ + MinSignificantDigits: 1, + MaxSignificantDigits: 1, + }, }, }, { // significant digits "@@@@", &Pattern{ - FormatWidth: 4, - MinSignificantDigits: 4, - MaxSignificantDigits: 4, + FormatWidth: 4, + RoundingContext: RoundingContext{ + MinSignificantDigits: 4, + MaxSignificantDigits: 4, + }, }, }, { "@###", &Pattern{ - FormatWidth: 4, - MinSignificantDigits: 1, - MaxSignificantDigits: 4, + FormatWidth: 4, + RoundingContext: RoundingContext{ + MinSignificantDigits: 1, + MaxSignificantDigits: 4, + }, }, }, { // 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 +246,87 @@ 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, + 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, + 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 +377,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 +415,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 b08acc4..2cf16f5 100644 --- a/vendor/golang.org/x/text/internal/number/tables.go +++ b/vendor/golang.org/x/text/internal/number/tables.go @@ -846,277 +846,293 @@ 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{Increment: 0x0, + MaxSignificantDigits: 0, + MaxFractionDigits: 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{Increment: 0x0, + MaxSignificantDigits: 0, + MaxFractionDigits: 0x3, + 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{Increment: 0x0, + MaxSignificantDigits: 0, + MaxFractionDigits: 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, + Affix: "", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x3, + GroupingSize: [2]uint8{0x0, + 0x0}, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{Increment: 0x0, + MaxSignificantDigits: 0, + MaxFractionDigits: 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: 0x7, GroupingSize: [2]uint8{0x3, 0x0}, - Flags: 0x0, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{Increment: 0x0, + MaxSignificantDigits: 0, + MaxFractionDigits: 0x0, + Mode: 0x0, + DigitShift: 0x2, 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, + Affix: "\x00\x01%", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x6, 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, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{Increment: 0x0, + MaxSignificantDigits: 0, MaxFractionDigits: 0x3, + Mode: 0x0, + DigitShift: 0x0, + MinIntegerDigits: 0x1, + MaxIntegerDigits: 0x0, + MinFractionDigits: 0x0, MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, MinExponentDigits: 0x0}, - Pattern{Affix: "\x00\x01%", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0x9, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x2, + Affix: "", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0xc, GroupingSize: [2]uint8{0x3, 0x2}, - Flags: 0x0, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{Increment: 0x0, + MaxSignificantDigits: 0, + MaxFractionDigits: 0x0, + Mode: 0x0, + DigitShift: 0x2, 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, + Affix: "\x00\x01%", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x9, GroupingSize: [2]uint8{0x3, 0x2}, - Flags: 0x0, - MinIntegerDigits: 0x1, - MaxIntegerDigits: 0x0, - MinFractionDigits: 0x0, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{Increment: 0x0, + MaxSignificantDigits: 0, 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{0x0, - 0x0}, - Flags: 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{Increment: 0x0, + MaxSignificantDigits: 0, MaxFractionDigits: 0x6, + Mode: 0x0, + DigitShift: 0x0, + MinIntegerDigits: 0x1, + MaxIntegerDigits: 0x0, + MinFractionDigits: 0x0, MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, MinExponentDigits: 0x0}, - Pattern{Affix: "", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0xd, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x0, + Affix: "", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x9, GroupingSize: [2]uint8{0x0, 0x0}, - Flags: 0x4, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{Increment: 0x0, + MaxSignificantDigits: 0, + MaxFractionDigits: 0x6, + 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{Increment: 0x0, + MaxSignificantDigits: 0, + MaxFractionDigits: 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{Increment: 0x0, + MaxSignificantDigits: 0, + MaxFractionDigits: 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{Increment: 0x0, + MaxSignificantDigits: 0, + MaxFractionDigits: 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{Increment: 0x0, + MaxSignificantDigits: 0, + MaxFractionDigits: 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{Increment: 0x0, + MaxSignificantDigits: 0, + MaxFractionDigits: 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{Increment: 0x0, + MaxSignificantDigits: 0, + MaxFractionDigits: 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/language/data_test.go b/vendor/golang.org/x/text/language/data_test.go deleted file mode 100644 index 738df46..0000000 --- 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/examples_test.go b/vendor/golang.org/x/text/language/examples_test.go index 05e712d..d5e8176 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 153269b..7c260e5 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 973db9f..69ac557 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 a2d0378..f1012c9 100644 --- a/vendor/golang.org/x/text/language/language.go +++ b/vendor/golang.org/x/text/language/language.go @@ -129,8 +129,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 bb4fff2..5c7674b 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 } @@ -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< len(d.Digits). @@ -407,10 +410,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) @@ -1038,7 +1040,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/secure/precis/enforce_test.go b/vendor/golang.org/x/text/secure/precis/enforce_test.go index 0cb5b60..d36a980 100644 --- a/vendor/golang.org/x/text/secure/precis/enforce_test.go +++ b/vendor/golang.org/x/text/secure/precis/enforce_test.go @@ -5,12 +5,14 @@ package precis import ( + "bytes" "fmt" "reflect" "testing" "golang.org/x/text/internal/testtext" "golang.org/x/text/secure/bidirule" + "golang.org/x/text/transform" ) type testCase struct { @@ -320,3 +322,72 @@ func TestTransformMallocs(t *testing.T) { t.Errorf("got %f allocs, want 0", n) } } + +func min(a, b int) int { + if a < b { + return a + } + return b +} + +// TestTransformerShortBuffers tests that the precis.Transformer implements the +// spirit, not just the letter (the method signatures), of the +// transform.Transformer interface. +// +// In particular, it tests that, if one or both of the dst or src buffers are +// short, so that multiple Transform calls are required to complete the overall +// transformation, the end result is identical to one Transform call with +// sufficiently long buffers. +func TestTransformerShortBuffers(t *testing.T) { + srcUnit := []byte("a\u0300cce\u0301nts") // NFD normalization form. + wantUnit := []byte("àccénts") // NFC normalization form. + src := bytes.Repeat(srcUnit, 16) + want := bytes.Repeat(wantUnit, 16) + const long = 4096 + dst := make([]byte, long) + + // 5, 7, 9, 11, 13, 16 and 17 are all pair-wise co-prime, which means that + // slicing the dst and src buffers into 5, 7, 13 and 17 byte chunks will + // fall at different places inside the repeated srcUnit's and wantUnit's. + if len(srcUnit) != 11 || len(wantUnit) != 9 || len(src) > long || len(want) > long { + t.Fatal("inconsistent lengths") + } + + tr := NewFreeform().NewTransformer() + for _, deltaD := range []int{5, 7, 13, 17, long} { + loop: + for _, deltaS := range []int{5, 7, 13, 17, long} { + tr.Reset() + d0 := 0 + s0 := 0 + for { + d1 := min(len(dst), d0+deltaD) + s1 := min(len(src), s0+deltaS) + nDst, nSrc, err := tr.Transform(dst[d0:d1:d1], src[s0:s1:s1], s1 == len(src)) + d0 += nDst + s0 += nSrc + if err == nil { + break + } + if err == transform.ErrShortDst || err == transform.ErrShortSrc { + continue + } + t.Errorf("deltaD=%d, deltaS=%d: %v", deltaD, deltaS, err) + continue loop + } + if s0 != len(src) { + t.Errorf("deltaD=%d, deltaS=%d: s0: got %d, want %d", deltaD, deltaS, s0, len(src)) + continue + } + if d0 != len(want) { + t.Errorf("deltaD=%d, deltaS=%d: d0: got %d, want %d", deltaD, deltaS, d0, len(want)) + continue + } + got := dst[:d0] + if !bytes.Equal(got, want) { + t.Errorf("deltaD=%d, deltaS=%d:\ngot %q\nwant %q", deltaD, deltaS, got, want) + continue + } + } + } +} 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 a65e86e..1a69b00 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 7b19cef..3d8edae 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 f354329..3d487d3 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/transform_test.go b/vendor/golang.org/x/text/unicode/norm/transform_test.go index 987d680..d596ff3 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/google.golang.org/api/.hgignore b/vendor/google.golang.org/api/.hgignore deleted file mode 100644 index d31fc45..0000000 --- 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 affce69..7c81100 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 0d841b1..0000000 --- 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 33f0c32..c1ce979 100644 --- a/vendor/google.golang.org/api/README.md +++ b/vendor/google.golang.org/api/README.md @@ -1,13 +1,50 @@ # Google APIs Client Library for Go +## 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) @@ -18,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 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 d6724e2..dc14441 100644 --- a/vendor/google.golang.org/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json +++ b/vendor/google.golang.org/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json @@ -5,10 +5,10 @@ "batchPath": "batch", "id": "acceleratedmobilepageurl:v1", "documentationLink": "https://developers.google.com/amp/cache/", - "revision": "20170504", + "revision": "20170718", "title": "Accelerated Mobile Pages (AMP) URL API", - "discoveryVersion": "v1", "ownerName": "Google", + "discoveryVersion": "v1", "version_module": "True", "resources": { "ampUrls": { @@ -21,8 +21,8 @@ }, "parameters": {}, "flatPath": "v1/ampUrls:batchGet", - "id": "acceleratedmobilepageurl.ampUrls.batchGet", "path": "v1/ampUrls:batchGet", + "id": "acceleratedmobilepageurl.ampUrls.batchGet", "description": "Returns AMP URL(s) and equivalent\n[AMP Cache URL(s)](/amp/cache/overview#amp-cache-url-format).", "request": { "$ref": "BatchGetAmpUrlsRequest" @@ -32,15 +32,26 @@ } }, "parameters": { - "oauth_token": { + "quotaUser": { "location": "query", - "description": "OAuth 2.0 token for the current user.", + "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" + "type": "string", + "location": "query" }, "upload_protocol": { "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", @@ -50,20 +61,27 @@ "prettyPrint": { "location": "query", "description": "Returns response with indentations and line breaks.", - "type": "boolean", - "default": "true" + "default": "true", + "type": "boolean" }, "fields": { - "location": "query", "description": "Selector specifying which fields to include in a partial response.", - "type": "string" + "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": { + "description": "V1 error format.", + "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -72,100 +90,56 @@ "enum": [ "1", "2" - ], - "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", - "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", + "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" - }, - "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", + "type": "string", "location": "query" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" } }, "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" + "id": "BatchGetAmpUrlsResponse", + "description": "Batch AMP URL response.", + "type": "object" }, "AmpUrl": { "description": "AMP URL response for a requested URL.", @@ -175,13 +149,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,12 +164,7 @@ "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": { - "type": "string", "enumDescriptions": [ "Not specified error.", "Indicates the requested URL is not found in the index, possibly because\nit's unable to be found, not able to be accessed by Googlebot, or some\nother error.", @@ -212,25 +181,56 @@ "URL_IS_VALID_AMP", "URL_IS_INVALID_AMP" ], - "description": "The error code of an API call." + "description": "The error code of an API call.", + "type": "string" }, "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": { + "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" + ], + "description": "The lookup_strategy being requested.", + "type": "string" + }, + "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", "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://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/" } 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 7237863..bc64ec9 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", @@ -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 f65404f..76bd017 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 a66c87c..ad46126 100644 --- a/vendor/google.golang.org/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json +++ b/vendor/google.golang.org/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json @@ -1,76 +1,34 @@ { - "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/", - "discoveryVersion": "v1", - "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;", - "type": "object", - "properties": { - "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." - }, - "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" - } + }, + "type": "array", + "description": "List of rows, with counts of bid responses aggregated by callout status." }, "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" + "id": "ListBidResponseErrorsResponse", + "description": "Response message for listing all reasons that bid responses resulted in an\nerror.", + "type": "object" }, "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", "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." }, "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", + "description": "The ID of the creative status.\nSee [creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes).", "type": "integer" }, "bidCount": { @@ -78,28 +36,27 @@ "$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" + "id": "CreativeStatusRow" }, "RealtimeTimeRange": { + "id": "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": { "status": { + "description": "The status specifying why the winning bids were not billed.", + "type": "string", "enumDescriptions": [ "A placeholder for an undefined status.\nThis value will never be returned in responses.", "The buyer was not billed because the ad was not rendered by the\npublisher.", @@ -109,36 +66,35 @@ "STATUS_UNSPECIFIED", "AD_NOT_RENDERED", "INVALID_IMPRESSION" - ], - "description": "The status specifying why the winning bids were not billed.", - "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." } - } + }, + "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": { - "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" + }, + "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" } }, "id": "FilteredBidDetailRow" @@ -147,51 +103,51 @@ "description": "An absolute date range, specified by its start date and end date.\nThe supported range of dates begins 30 days before today and ends today.\nValidity checked upon filter set creation. If a filter set with an absolute\ndate range is run at a later date more than 30 days after start_date, it will\nfail.", "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." - }, "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." + }, + "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." } }, "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." } }, - "id": "AddDealAssociationRequest" + "id": "AddDealAssociationRequest", + "description": "A request for associating a deal and a creative.", + "type": "object" }, "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." + "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.", + "type": "string" } }, - "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" } }, @@ -201,73 +157,49 @@ "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" - }, "bidCount": { "$ref": "MetricValue", "description": "The number of bids with the specified creative." }, "creativeId": { - "description": "The ID of the creative.", - "type": "string" + "type": "string", + "description": "The ID of the creative." + }, + "rowDimensions": { + "$ref": "RowDimensions", + "description": "The values of all dimensions associated with metric values in this row." } }, "id": "FilteredBidCreativeRow" }, "RelativeDateRange": { + "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", "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" + } }, "NativeContent": { + "type": "object", "properties": { - "appIcon": { - "$ref": "Image", - "description": "The app icon, for app download ads." - }, - "callToAction": { - "description": "A label for the button that the user is supposed to click.", - "type": "string" - }, "body": { "description": "A long description of the ad.", "type": "string" }, "starRating": { - "description": "The app rating in the app store. Must be in the range [0-5].", + "type": "number", "format": "double", - "type": "number" + "description": "The app rating in the app store. Must be in the range [0-5]." }, "videoUrl": { "description": "The URL to fetch a native video ad.", @@ -304,51 +236,63 @@ "headline": { "description": "A short title for the ad.", "type": "string" - } - }, - "id": "NativeContent", - "description": "Native content for a creative.", - "type": "object" - }, - "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.", + "appIcon": { + "$ref": "Image", + "description": "The app icon, for app download ads." + }, + "callToAction": { + "description": "A label for the button that the user is supposed to click.", "type": "string" } }, - "id": "ListBidResponsesWithoutBidsResponse" + "id": "NativeContent", + "description": "Native content for a creative." }, - "ServingContext": { - "description": "The serving context for this restriction.", + "ListClientsResponse": { + "id": "ListClientsResponse", "type": "object", "properties": { - "all": { - "enum": [ - "SIMPLE_CONTEXT" - ], - "description": "Matches all contexts.", + "nextPageToken": { "type": "string", - "enumDescriptions": [ - "A simple context." - ] + "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." }, + "clients": { + "description": "The returned list of clients.", + "items": { + "$ref": "Client" + }, + "type": "array" + } + } + }, + "ListBidResponsesWithoutBidsResponse": { + "type": "object", + "properties": { + "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", + "description": "Response message for listing all reasons that bid responses were considered\nto have no applicable bids." + }, + "ServingContext": { + "properties": { "appType": { "description": "Matches impressions for a particular app type.", "$ref": "AppContext" }, "securityType": { - "$ref": "SecurityContext", - "description": "Matches impressions for a particular security type." + "description": "Matches impressions for a particular security type.", + "$ref": "SecurityContext" }, "platform": { "description": "Matches impressions coming from a particular platform.", @@ -359,54 +303,64 @@ "$ref": "LocationContext" }, "auctionType": { - "$ref": "AuctionContext", - "description": "Matches impressions for a particular auction type." + "description": "Matches impressions for a particular auction type.", + "$ref": "AuctionContext" + }, + "all": { + "enumDescriptions": [ + "A simple context." + ], + "enum": [ + "SIMPLE_CONTEXT" + ], + "description": "Matches all contexts.", + "type": "string" } }, - "id": "ServingContext" + "id": "ServingContext", + "description": "The serving context for this restriction.", + "type": "object" }, "Image": { + "description": "An image resource. You may provide a larger image than was requested,\nso long as the aspect ratio is preserved.", "type": "object", "properties": { + "width": { + "format": "int32", + "description": "Image width in pixels.", + "type": "integer" + }, "url": { "description": "The URL of the image.", "type": "string" }, "height": { + "format": "int32", "description": "Image height in pixels.", - "format": "int32", - "type": "integer" - }, - "width": { - "description": "Image width in pixels.", - "format": "int32", "type": "integer" } }, - "id": "Image", - "description": "An image resource. You may provide a larger image than was requested,\nso long as the aspect ratio is preserved." + "id": "Image" }, "ListFilterSetsResponse": { "description": "Response message for listing filter sets.", "type": "object", "properties": { - "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" - } + }, + "type": "array", + "description": "The filter sets belonging to the buyer." + }, + "nextPageToken": { + "type": "string", + "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." } }, "id": "ListFilterSetsResponse" }, "BidResponseWithoutBidsStatusRow": { - "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": { "impressionCount": { "$ref": "MetricValue", @@ -429,85 +383,34 @@ ] }, "rowDimensions": { - "$ref": "RowDimensions", - "description": "The values of all dimensions associated with metric values in this row." + "description": "The values of all dimensions associated with metric values in this row.", + "$ref": "RowDimensions" } }, - "id": "BidResponseWithoutBidsStatusRow" + "id": "BidResponseWithoutBidsStatusRow", + "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" }, "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", + "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" }, "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" - } - } - }, - "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" - }, - "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" - ] + "description": "The email address to which the invitation is sent. Email\naddresses should be unique among all client users under each sponsor\nbuyer." } }, - "id": "ListCreativeStatusBreakdownByDetailResponse", - "description": "Response message for listing all details associated with a given filtered bid\nreason.", - "type": "object" - }, - "ListClientUsersResponse": { - "type": "object", - "properties": { - "nextPageToken": { - "description": "A token to retrieve the next page of results.\nPass this value in the\nListClientUsersRequest.pageToken\nfield in the subsequent call to the\nclients.invitations.list\nmethod to retrieve the next\npage of results.", - "type": "string" - }, - "users": { - "description": "The returned list of client users.", - "type": "array", - "items": { - "$ref": "ClientUser" - } - } - }, - "id": "ListClientUsersResponse" + "id": "ClientUserInvitation" }, "ListClientUserInvitationsResponse": { "type": "object", @@ -518,25 +421,80 @@ }, "invitations": { "description": "The returned list of client users.", - "type": "array", "items": { "$ref": "ClientUserInvitation" - } + }, + "type": "array" } }, "id": "ListClientUserInvitationsResponse" }, + "ListClientUsersResponse": { + "type": "object", + "properties": { + "nextPageToken": { + "type": "string", + "description": "A token to retrieve the next page of results.\nPass this value in the\nListClientUsersRequest.pageToken\nfield in the subsequent call to the\nclients.invitations.list\nmethod to retrieve the next\npage of results." + }, + "users": { + "description": "The returned list of client users.", + "items": { + "$ref": "ClientUser" + }, + "type": "array" + } + }, + "id": "ListClientUsersResponse" + }, + "ListCreativeStatusBreakdownByDetailResponse": { + "id": "ListCreativeStatusBreakdownByDetailResponse", + "description": "Response message for listing all details associated with a given filtered bid\nreason.", + "type": "object", + "properties": { + "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": { + "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 disapproval reason; see\nDisapprovalReason enum in [snippet-status-report-proto](https://developers.google.com/ad-exchange/rtb/downloads/snippet-status-report-proto)." + ], + "enum": [ + "DETAIL_TYPE_UNSPECIFIED", + "CREATIVE_ATTRIBUTE", + "VENDOR", + "SENSITIVE_CATEGORY", + "PRODUCT_CATEGORY", + "DISAPPROVAL_REASON" + ], + "description": "The type of detail that the detail IDs represent." + } + } + }, "LocationContext": { "description": "@OutputOnly The Geo criteria the restriction applies to.", "type": "object", "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 +504,7 @@ "type": "object", "properties": { "platforms": { - "type": "array", + "description": "The platforms this restriction applies to.", "items": { "enum": [ "DESKTOP", @@ -555,12 +513,12 @@ ], "type": "string" }, + "type": "array", "enumDescriptions": [ "Desktop platform.", "Android platform.", "iOS platform." - ], - "description": "The platforms this restriction applies to." + ] } }, "id": "PlatformContext" @@ -570,27 +528,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 +558,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.", @@ -628,8 +586,8 @@ "type": "string" }, "accountId": { - "type": "string", - "description": "The account the creative belongs to." + "description": "The account the creative belongs to.", + "type": "string" }, "creativeId": { "description": "The ID of the creative associated with the deal.", @@ -644,177 +602,38 @@ "properties": { "reasons": { "description": "The set of filtering reasons for this date.", - "type": "array", "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" + "$ref": "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." } }, "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" - } - }, - "impressionTrackingUrls": { - "description": "The set of URLs to be called to record an impression.", - "type": "array", - "items": { - "type": "string" - } - }, - "html": { - "description": "An HTML creative.", - "$ref": "HtmlContent" - }, - "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" - } - }, - "dealsStatus": { - "enum": [ - "STATUS_UNSPECIFIED", - "NOT_CHECKED", - "CONDITIONALLY_APPROVED", - "APPROVED", - "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." - ] - }, - "openAuctionStatus": { - "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", - "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" - }, - "detectedAdvertiserIds": { - "description": "@OutputOnly Detected advertiser IDs, if any.", - "type": "array", - "items": { - "format": "int64", - "type": "string" - } + "type": "string", + "description": "The name of the company being advertised in the creative." }, "detectedDomains": { "description": "@OutputOnly\nThe detected domains for this creative.", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" + }, + "detectedAdvertiserIds": { + "description": "@OutputOnly Detected advertiser IDs, if any.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" }, "filteringStats": { "$ref": "FilteringStats", @@ -822,8 +641,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 +668,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,19 +699,158 @@ ] }, "apiUpdateTime": { - "description": "@OutputOnly The last update timestamp of the creative via API.", "format": "google-datetime", + "description": "@OutputOnly The last update timestamp of the creative via API.", "type": "string" }, "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": { + "type": "string", + "description": "The account that this creative belongs to.\nCan be used to filter the response of the\ncreatives.list\nmethod." + }, + "native": { + "$ref": "NativeContent", + "description": "A native 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" + }, + "video": { + "$ref": "VideoContent", + "description": "A video creative." + }, + "agencyId": { + "format": "int64", + "description": "The agency ID for this creative.", + "type": "string" + }, + "clickThroughUrls": { + "description": "The set of destination URLs for the creative.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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": { + "enumDescriptions": [ + "The ad has no restricted categories", + "The alcohol restricted category." + ], + "description": "All restricted categories for the ads that may be shown from this creative.", + "items": { + "enum": [ + "NO_RESTRICTED_CATEGORIES", + "ALCOHOL" + ], + "type": "string" + }, + "type": "array" + }, + "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" + }, + "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.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "impressionTrackingUrls": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The set of URLs to be called to record an impression." + }, + "html": { + "description": "An HTML creative.", + "$ref": "HtmlContent" + }, + "detectedProductCategories": { + "description": "@OutputOnly Detected product categories, if any.\nSee the ad-product-categories.txt file in the technical documentation\nfor a list of IDs.", + "items": { + "type": "integer", + "format": "int32" + }, + "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", + "CONDITIONALLY_APPROVED", + "APPROVED", + "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" + }, + "openAuctionStatus": { + "enum": [ + "STATUS_UNSPECIFIED", + "NOT_CHECKED", + "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", + "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." + ] } }, - "id": "Creative" + "id": "Creative", + "description": "A creative and its classification data.", + "type": "object" }, "RemoveDealAssociationRequest": { "description": "A request for removing the association between a deal and a creative.", @@ -905,9 +863,25 @@ }, "id": "RemoveDealAssociationRequest" }, - "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.", + "ListCreativeStatusBreakdownByCreativeResponse": { "type": "object", + "properties": { + "filteredBidCreativeRows": { + "description": "List of rows, with counts of bids with a given creative status aggregated\nby creative.", + "items": { + "$ref": "FilteredBidCreativeRow" + }, + "type": "array" + }, + "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" + } + }, + "id": "ListCreativeStatusBreakdownByCreativeResponse", + "description": "Response message for listing all creatives associated with a given filtered\nbid reason." + }, + "Client": { "properties": { "entityType": { "enum": [ @@ -950,65 +924,41 @@ "type": "boolean" }, "entityId": { - "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", + "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.", "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", + "description": "The globally-unique numerical ID of the client.\nThe value of this field is ignored in create and update operations.", "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" + "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": { - "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." - ] + ], + "enum": [ + "CLIENT_STATUS_UNSPECIFIED", + "DISABLED", + "ACTIVE" + ], + "description": "The status of the client buyer." } }, - "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." + "id": "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" }, "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": { "description": "The type of correction that was applied to the creative.", "type": "string", @@ -1043,71 +993,38 @@ }, "contexts": { "description": "The contexts for the correction.", - "type": "array", "items": { "$ref": "ServingContext" - } + }, + "type": "array" + }, + "details": { + "description": "Additional details about what was corrected.", + "items": { + "type": "string" + }, + "type": "array" } }, - "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" - }, - "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.", - "The ad impression is display format (i.e. an image).", - "The ad impression is video format." - ], - "enum": [ - "FORMAT_UNSPECIFIED", - "DISPLAY", - "VIDEO" - ] - }, - "timeSeriesGranularity": { - "description": "The granularity of time intervals if a time series breakdown is desired;\noptional.", - "type": "string", - "enumDescriptions": [ - "A placeholder for an unspecified interval; no time series is applied.\nAll rows in response will contain data for the entire requested time range.", - "Indicates that data will be broken down by the hour.", - "Indicates that data will be broken down by the day." - ], - "enum": [ - "INTERVAL_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.", - "format": "int64", - "type": "string" - }, - "realtimeTimeRange": { - "description": "An open-ended realtime time range, defined by the aggregation start\ntimestamp.", - "$ref": "RealtimeTimeRange" - }, "creativeId": { "description": "The ID of the creative on which to filter; optional.", "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" - }, "platforms": { + "enumDescriptions": [ + "A placeholder for an undefined platform; indicates that no platform\nfilter will be applied.", + "The ad impression appears on a desktop.", + "The ad impression appears on a tablet.", + "The ad impression appears on a mobile device." + ], "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,199 +1034,144 @@ "MOBILE" ] }, - "enumDescriptions": [ - "A placeholder for an undefined platform; indicates that no platform\nfilter will be applied.", - "The ad impression appears on a desktop.", - "The ad impression appears on a tablet.", - "The ad impression appears on a mobile device." - ] + "type": "array" + }, + "relativeDateRange": { + "$ref": "RelativeDateRange", + "description": "A relative date range, defined by an offset from today and a duration.\nInterpreted relative to Pacific time zone." }, "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": "integer", + "format": "int32" + }, + "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." + "description": "An absolute date range, defined by a start date and an end date.\nInterpreted relative to Pacific time zone.", + "$ref": "AbsoluteDateRange" + }, + "buyerAccountId": { + "type": "string", + "format": "int64", + "description": "The ID of the buyer account on which to filter; optional." }, "environment": { + "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" ], "description": "The environment on which to filter; optional.", - "type": "string", + "type": "string" + }, + "dealId": { + "format": "int64", + "description": "The ID of the deal on which to filter; optional.", + "type": "string" + }, + "format": { "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." - ] + "A placeholder for an undefined format; indicates that no format filter\nwill be applied.", + "The ad impression is display format (i.e. an image).", + "The ad impression is video format." + ], + "enum": [ + "FORMAT_UNSPECIFIED", + "DISPLAY", + "VIDEO" + ], + "description": "The format on which to filter; optional.", + "type": "string" + }, + "timeSeriesGranularity": { + "enumDescriptions": [ + "A placeholder for an unspecified interval; no time series is applied.\nAll rows in response will contain data for the entire requested time range.", + "Indicates that data will be broken down by the hour.", + "Indicates that data will be broken down by the day." + ], + "enum": [ + "TIME_SERIES_GRANULARITY_UNSPECIFIED", + "HOURLY", + "DAILY" + ], + "description": "The granularity of time intervals if a time series breakdown is desired;\noptional.", + "type": "string" + }, + "filterSetId": { + "format": "int64", + "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" + }, + "realtimeTimeRange": { + "description": "An open-ended realtime time range, defined by the aggregation start\ntimestamp.", + "$ref": "RealtimeTimeRange" } }, "id": "FilterSet" }, "ListDealAssociationsResponse": { + "type": "object", "properties": { + "associations": { + "description": "The list of associations.", + "items": { + "$ref": "CreativeDealAssociation" + }, + "type": "array" + }, "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" - } } }, "id": "ListDealAssociationsResponse", - "description": "A response for listing creative and deal associations", - "type": "object" + "description": "A response for listing creative and deal associations" }, "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", - "type": "integer" - }, "impressionCount": { - "description": "The number of impressions for which there was a bid request or bid response\nwith the specified callout status.", - "$ref": "MetricValue" + "$ref": "MetricValue", + "description": "The number of impressions for which there was a bid request or bid response\nwith the specified callout status." }, "rowDimensions": { "$ref": "RowDimensions", "description": "The values of all dimensions associated with metric values in this row." + }, + "calloutStatusId": { + "type": "integer", + "format": "int32", + "description": "The ID of the callout status.\nSee [callout-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/callout-status-codes)." } }, - "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" }, "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": { - "type": "string", - "enumDescriptions": [ - "The length of the image animation is longer than allowed.", - "The click through URL doesn't work properly.", - "Something is wrong with the creative itself.", - "The ad makes a fourth party call to an unapproved vendor.", - "The ad targets consumers using remarketing lists and/or collects\ndata for subsequent use in retargeting, but does not correctly declare\nthat use.", - "Clicking on the ad leads to an error page.", - "The ad size when rendered does not match the declaration.", - "Ads with a white background require a border, which was missing.", - "The creative attempts to set cookies from a fourth party that is not\ncertified.", - "The creative sets an LSO object.", - "The ad serves a blank.", - "The ad uses rotation, but not all destination URLs were declared.", - "There is a problem with the way the click macro is used.", - "The ad technology declaration is not accurate.", - "The actual destination URL does not match the declared destination URL.", - "The declared expanding direction does not match the actual direction.", - "The ad does not expand in a supported direction.", - "The ad uses an expandable vendor that is not supported.", - "There was an issue with the expandable ad.", - "The ad uses a video vendor that is not supported.", - "The length of the video ad is not supported.", - "The format of the video ad is not supported.", - "There was an issue with the video ad.", - "The landing page does not conform to Ad Exchange policy.", - "The ad or the landing page may contain malware.", - "The ad contains adult images or video content.", - "The ad contains text that is unclear or inaccurate.", - "The ad promotes counterfeit designer goods.", - "The ad causes a popup window to appear.", - "The creative does not follow policies set for the RTB protocol.", - "The ad contains a URL that uses a numeric IP address for the domain.", - "The ad or landing page contains unacceptable content because it initiated\na software or executable download.", - "The ad set an unauthorized cookie on a Google domain.", - "Flash content found when no flash was declared.", - "SSL support declared but not working correctly.", - "Rich Media - Direct Download in Ad (ex. PDF download).", - "Maximum download size exceeded.", - "Bad Destination URL: Site Not Crawlable.", - "Bad URL: Legal disapproval.", - "Pharmaceuticals, Gambling, Alcohol not allowed and at least one was\ndetected.", - "Dynamic DNS at Destination URL.", - "Poor Image / Video Quality.", - "For example, Image Trick to Click.", - "Incorrect Image Layout.", - "Irrelevant Image / Video.", - "Broken back button.", - "Misleading/Inaccurate claims in ads.", - "Restricted Products.", - "Unacceptable content. For example, malware.", - "The ad automatically redirects to the destination site without a click,\nor reports a click when none were made.", - "The ad uses URL protocols that do not exist or are not allowed on AdX.", - "Restricted content (for example, alcohol) was found in the ad but not\ndeclared.", - "Violation of the remarketing list policy.", - "The destination site's robot.txt file prevents it from being crawled.", - "Click to download must link to an app.", - "A review extension must be an accurate review.", - "Sexually explicit content.", - "The ad tries to gain an unfair traffic advantage.", - "The ad tries to circumvent Google's advertising systems.", - "The ad promotes dangerous knives.", - "The ad promotes explosives.", - "The ad promotes guns & parts.", - "The ad promotes recreational drugs/services & related equipment.", - "The ad promotes tobacco products/services & related equipment.", - "The ad promotes weapons.", - "The ad is unclear or irrelevant to the destination site.", - "The ad does not meet professional standards.", - "The promotion is unnecessarily difficult to navigate.", - "Violation of Google's policy for interest-based ads.", - "Misuse of personal information.", - "Omission of relevant information.", - "Unavailable promotions.", - "Misleading or unrealistic promotions.", - "Offensive or inappropriate content.", - "Capitalizing on sensitive events.", - "Shocking content.", - "Products & Services that enable dishonest behavior.", - "The ad does not meet technical requirements.", - "Restricted political content.", - "Unsupported content.", - "Invalid bidding method.", - "Video length exceeds limits.", - "Unacceptable content: Japanese healthcare.", - "Online pharmacy ID required.", - "Unacceptable content: Abortion.", - "Unacceptable content: Birth control.", - "Restricted in China.", - "Unacceptable content: Korean healthcare.", - "Non-family safe or adult content.", - "Clinical trial recruitment.", - "Maximum number of HTTP calls exceeded.", - "Maximum number of cookies exceeded.", - "Financial service ad does not adhere to specifications.", - "Flash content was found in an unsupported context." - ], "enum": [ "LENGTH_OF_IMAGE_ANIMATION", "BROKEN_URL", @@ -1406,84 +1268,180 @@ "PERSONAL_LOANS", "UNSUPPORTED_FLASH_CONTENT" ], - "description": "The categorized reason for disapproval." + "description": "The categorized reason for disapproval.", + "type": "string", + "enumDescriptions": [ + "The length of the image animation is longer than allowed.", + "The click through URL doesn't work properly.", + "Something is wrong with the creative itself.", + "The ad makes a fourth party call to an unapproved vendor.", + "The ad targets consumers using remarketing lists and/or collects\ndata for subsequent use in retargeting, but does not correctly declare\nthat use.", + "Clicking on the ad leads to an error page.", + "The ad size when rendered does not match the declaration.", + "Ads with a white background require a border, which was missing.", + "The creative attempts to set cookies from a fourth party that is not\ncertified.", + "The creative sets an LSO object.", + "The ad serves a blank.", + "The ad uses rotation, but not all destination URLs were declared.", + "There is a problem with the way the click macro is used.", + "The ad technology declaration is not accurate.", + "The actual destination URL does not match the declared destination URL.", + "The declared expanding direction does not match the actual direction.", + "The ad does not expand in a supported direction.", + "The ad uses an expandable vendor that is not supported.", + "There was an issue with the expandable ad.", + "The ad uses a video vendor that is not supported.", + "The length of the video ad is not supported.", + "The format of the video ad is not supported.", + "There was an issue with the video ad.", + "The landing page does not conform to Ad Exchange policy.", + "The ad or the landing page may contain malware.", + "The ad contains adult images or video content.", + "The ad contains text that is unclear or inaccurate.", + "The ad promotes counterfeit designer goods.", + "The ad causes a popup window to appear.", + "The creative does not follow policies set for the RTB protocol.", + "The ad contains a URL that uses a numeric IP address for the domain.", + "The ad or landing page contains unacceptable content because it initiated\na software or executable download.", + "The ad set an unauthorized cookie on a Google domain.", + "Flash content found when no flash was declared.", + "SSL support declared but not working correctly.", + "Rich Media - Direct Download in Ad (ex. PDF download).", + "Maximum download size exceeded.", + "Bad Destination URL: Site Not Crawlable.", + "Bad URL: Legal disapproval.", + "Pharmaceuticals, Gambling, Alcohol not allowed and at least one was\ndetected.", + "Dynamic DNS at Destination URL.", + "Poor Image / Video Quality.", + "For example, Image Trick to Click.", + "Incorrect Image Layout.", + "Irrelevant Image / Video.", + "Broken back button.", + "Misleading/Inaccurate claims in ads.", + "Restricted Products.", + "Unacceptable content. For example, malware.", + "The ad automatically redirects to the destination site without a click,\nor reports a click when none were made.", + "The ad uses URL protocols that do not exist or are not allowed on AdX.", + "Restricted content (for example, alcohol) was found in the ad but not\ndeclared.", + "Violation of the remarketing list policy.", + "The destination site's robot.txt file prevents it from being crawled.", + "Click to download must link to an app.", + "A review extension must be an accurate review.", + "Sexually explicit content.", + "The ad tries to gain an unfair traffic advantage.", + "The ad tries to circumvent Google's advertising systems.", + "The ad promotes dangerous knives.", + "The ad promotes explosives.", + "The ad promotes guns & parts.", + "The ad promotes recreational drugs/services & related equipment.", + "The ad promotes tobacco products/services & related equipment.", + "The ad promotes weapons.", + "The ad is unclear or irrelevant to the destination site.", + "The ad does not meet professional standards.", + "The promotion is unnecessarily difficult to navigate.", + "Violation of Google's policy for interest-based ads.", + "Misuse of personal information.", + "Omission of relevant information.", + "Unavailable promotions.", + "Misleading or unrealistic promotions.", + "Offensive or inappropriate content.", + "Capitalizing on sensitive events.", + "Shocking content.", + "Products & Services that enable dishonest behavior.", + "The ad does not meet technical requirements.", + "Restricted political content.", + "Unsupported content.", + "Invalid bidding method.", + "Video length exceeds limits.", + "Unacceptable content: Japanese healthcare.", + "Online pharmacy ID required.", + "Unacceptable content: Abortion.", + "Unacceptable content: Birth control.", + "Restricted in China.", + "Unacceptable content: Korean healthcare.", + "Non-family safe or adult content.", + "Clinical trial recruitment.", + "Maximum number of HTTP calls exceeded.", + "Maximum number of cookies exceeded.", + "Financial service ad does not adhere to specifications.", + "Flash content was found in an unsupported context." + ] } - }, - "id": "Disapproval" + } }, "StopWatchingCreativeRequest": { + "id": "StopWatchingCreativeRequest", "description": "A request for stopping notifications for changes to creative Status.", "type": "object", - "properties": {}, - "id": "StopWatchingCreativeRequest" + "properties": {} }, "ServingRestriction": { "type": "object", "properties": { + "contexts": { + "description": "The contexts for the restriction.", + "items": { + "$ref": "ServingContext" + }, + "type": "array" + }, "status": { - "enumDescriptions": [ - "The status is not known.", - "The ad was disapproved in this context.", - "The ad is pending review in this context." - ], "enum": [ "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" + "type": "string", + "enumDescriptions": [ + "The status is not known.", + "The ad was disapproved in this context.", + "The ad is pending review in this context." + ] }, "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" - } - }, - "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)." }, "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": { + "year": { "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" + "format": "int32", + "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year." }, "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": { + "id": "RowDimensions", "description": "A response may include multiple rows, breaking down along various dimensions.\nEncapsulates the values of all dimensions for a given row.", "type": "object", "properties": { "timeInterval": { - "description": "The time interval that this row represents.", - "$ref": "TimeInterval" + "$ref": "TimeInterval", + "description": "The time interval that this row represents." } - }, - "id": "RowDimensions" + } }, "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 `{}`.", @@ -1491,50 +1449,11 @@ "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", @@ -1542,38 +1461,38 @@ ], "type": "string" }, + "type": "array", "enumDescriptions": [ "Native app context.", "Mobile web app context." ] } - } + }, + "id": "AppContext", + "description": "@OutputOnly The app type the restriction applies to for mobile device." }, "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.", - "type": "object", "properties": { "securities": { "description": "The security types in this context.", - "type": "array", "items": { "type": "string", "enum": [ @@ -1581,81 +1500,84 @@ "SSL" ] }, + "type": "array", "enumDescriptions": [ "Matches impressions that require insecure compatibility.", "Matches impressions that require SSL compatibility." ] } }, - "id": "SecurityContext" + "id": "SecurityContext", + "description": "@OutputOnly A security context.", + "type": "object" }, "ListFilteredBidRequestsResponse": { + "id": "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", + "description": "List of rows, with counts of filtered bid requests aggregated by callout\nstatus." }, "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.", "type": "string" } - }, - "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" - } + }, + "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" }, "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", + "description": "The width of the HTML snippet in pixels.", "type": "integer" }, "snippet": { - "type": "string", - "description": "The HTML snippet that displays the ad when inserted in the web page." + "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" + "id": "HtmlContent", + "description": "HTML content for a creative.", + "type": "object" }, "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.", @@ -1665,139 +1587,174 @@ "id": "ListBidMetricsResponse" }, "Reason": { + "id": "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": { - "description": "The URL to fetch a video ad.", - "type": "string" - } - }, - "id": "VideoContent", - "description": "Video content for a creative.", - "type": "object" + } }, "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" - } - }, "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.", "type": "string" + }, + "nonBillableWinningBidStatusRows": { + "description": "List of rows, with counts of bids not billed aggregated by reason.", + "items": { + "$ref": "NonBillableWinningBidStatusRow" + }, + "type": "array" } }, "id": "ListNonBillableWinningBidsResponse" }, + "ListLosingBidsResponse": { + "description": "Response message for listing all reasons that bids lost in the auction.", + "type": "object", + "properties": { + "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" + }, + "creativeStatusRows": { + "description": "List of rows, with counts of losing bids aggregated by loss reason (i.e.\ncreative status).", + "items": { + "$ref": "CreativeStatusRow" + }, + "type": "array" + } + }, + "id": "ListLosingBidsResponse" + }, + "VideoContent": { + "id": "VideoContent", + "description": "Video content for a creative.", + "type": "object", + "properties": { + "videoUrl": { + "description": "The URL to fetch a video ad.", + "type": "string" + } + } + }, "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" - }, - "availableImpressions": { - "$ref": "MetricValue", - "description": "The number of impressions available to the buyer on Ad Exchange.\nIn some cases this value may be unavailable." - }, - "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." }, "successfulResponses": { + "description": "The number of impressions for which the buyer successfully sent a response\nto Ad Exchange.", + "$ref": "MetricValue" + }, + "rowDimensions": { + "$ref": "RowDimensions", + "description": "The values of all dimensions associated with metric values in this row." + }, + "availableImpressions": { "$ref": "MetricValue", - "description": "The number of impressions for which the buyer successfully sent a response\nto Ad Exchange." + "description": "The number of impressions available to the buyer on Ad Exchange.\nIn some cases this value may be unavailable." + }, + "inventoryMatches": { + "$ref": "MetricValue", + "description": "The number of impressions that match the buyer's inventory pretargeting." + }, + "bidRequests": { + "$ref": "MetricValue", + "description": "The number of impressions for which Ad Exchange sent the buyer a bid\nrequest." } }, "id": "ImpressionMetricsRow" }, "AuctionContext": { - "description": "@OutputOnly The auction type the restriction applies to.", - "type": "object", "properties": { "auctionTypes": { + "items": { + "enum": [ + "OPEN_AUCTION", + "DIRECT_DEALS" + ], + "type": "string" + }, + "type": "array", "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" - ] - } + "description": "The auction types this restriction applies to." } }, - "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": { + "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", + "properties": { + "rowDimensions": { + "$ref": "RowDimensions", + "description": "The values of all dimensions associated with metric values in this row." + }, + "viewableImpressions": { + "description": "The number of bids for which the corresponding impression was viewable (as\ndefined by Active View).", + "$ref": "MetricValue" + }, + "impressionsWon": { + "$ref": "MetricValue", + "description": "The number of bids that won an impression." + }, + "measurableImpressions": { + "$ref": "MetricValue", + "description": "The number of bids for which the corresponding impression was measurable\nfor viewability (as defined by Active View)." + }, + "bids": { + "$ref": "MetricValue", + "description": "The number of bids that Ad Exchange received from the buyer." + }, + "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." + } + }, + "id": "BidMetricsRow" } }, "icons": { @@ -1824,114 +1781,435 @@ "resources": { "accounts": { "resources": { - "creatives": { + "clients": { + "resources": { + "invitations": { + "methods": { + "list": { + "response": { + "$ref": "ListClientUserInvitationsResponse" + }, + "parameterOrder": [ + "accountId", + "clientAccountId" + ], + "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\nListClientUserInvitationsResponse.nextPageToken\nreturned from the previous call to the\nclients.invitations.list\nmethod.", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Requested page size. Server may return fewer clients than requested.\nIf unspecified, server will pick an appropriate default.", + "type": "integer" + }, + "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." + }, + "get": { + "description": "Retrieves an existing client user invitation.", + "response": { + "$ref": "ClientUserInvitation" + }, + "parameterOrder": [ + "accountId", + "clientAccountId", + "invitationId" + ], + "httpMethod": "GET", + "parameters": { + "invitationId": { + "format": "int64", + "description": "Numerical identifier of the user invitation 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 invitation\nto be retrieved is associated with. (required)", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations/{invitationId}", + "id": "adexchangebuyer2.accounts.clients.invitations.get", + "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations/{invitationId}" + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "accountId", + "clientAccountId" + ], + "response": { + "$ref": "ClientUserInvitation" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "parameters": { + "accountId": { + "location": "path", + "format": "int64", + "description": "Numerical account ID of the client's sponsor buyer. (required)", + "type": "string", + "required": true + }, + "clientAccountId": { + "format": "int64", + "description": "Numerical account ID of the client buyer that the user\nshould be associated with. (required)", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", + "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", + "id": "adexchangebuyer2.accounts.clients.invitations.create", + "request": { + "$ref": "ClientUserInvitation" + }, + "description": "Creates and sends out an email invitation to access\nan Ad Exchange client buyer account." + } + } + }, + "users": { + "methods": { + "update": { + "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", + "id": "adexchangebuyer2.accounts.clients.users.update", + "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", + "request": { + "$ref": "ClientUser" + }, + "description": "Updates an existing client user.\nOnly the user status can be changed on update.", + "response": { + "$ref": "ClientUser" + }, + "parameterOrder": [ + "accountId", + "clientAccountId", + "userId" + ], + "httpMethod": "PUT", + "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": { + "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 + } + } + }, + "get": { + "httpMethod": "GET", + "response": { + "$ref": "ClientUser" + }, + "parameterOrder": [ + "accountId", + "clientAccountId", + "userId" + ], + "parameters": { + "userId": { + "location": "path", + "format": "int64", + "description": "Numerical identifier of the user 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": { + "format": "int64", + "description": "Numerical account ID of the client buyer\nthat the user to be retrieved is associated with. (required)", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", + "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", + "id": "adexchangebuyer2.accounts.clients.users.get", + "description": "Retrieves an existing client user." + }, + "list": { + "response": { + "$ref": "ListClientUsersResponse" + }, + "parameterOrder": [ + "accountId", + "clientAccountId" + ], + "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\nListClientUsersResponse.nextPageToken\nreturned from the previous call to the\naccounts.clients.users.list method.", + "type": "string", + "location": "query" + }, + "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": { + "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.", + "type": "string", + "required": true + } + }, + "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." + } + } + } + }, "methods": { - "create": { - "request": { - "$ref": "Creative" + "update": { + "parameters": { + "accountId": { + "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, + "location": "path" + }, + "clientAccountId": { + "location": "path", + "format": "int64", + "description": "Unique numerical account ID of the client to update. (required)", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "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" + } + }, + "create": { + "response": { + "$ref": "Client" }, - "description": "Creates a creative.", - "httpMethod": "POST", "parameterOrder": [ "accountId" ], - "response": { - "$ref": "Creative" - }, + "httpMethod": "POST", "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" - }, - "duplicateIdMode": { - "location": "query", - "enum": [ - "NO_DUPLICATES", - "FORCE_ENABLE_DUPLICATE_IDS" - ], - "description": "Indicates if multiple creatives can share an ID or not. Default is\nNO_DUPLICATES (one ID per creative).", - "type": "string" + "location": "path", + "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)" } }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ], - "flatPath": "v2beta1/accounts/{accountId}/creatives", - "id": "adexchangebuyer2.accounts.creatives.create", - "path": "v2beta1/accounts/{accountId}/creatives" - }, - "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.", + "flatPath": "v2beta1/accounts/{accountId}/clients", + "id": "adexchangebuyer2.accounts.clients.create", + "path": "v2beta1/accounts/{accountId}/clients", + "description": "Creates a new client buyer.", "request": { - "$ref": "StopWatchingCreativeRequest" - }, + "$ref": "Client" + } + }, + "list": { + "description": "Lists all the clients for the current sponsor buyer.", "response": { - "$ref": "Empty" + "$ref": "ListClientsResponse" }, "parameterOrder": [ - "accountId", - "creativeId" + "accountId" ], - "httpMethod": "POST", + "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\nListClientsResponse.nextPageToken\nreturned from the previous call to the\naccounts.clients.list method.", + "type": "string", + "location": "query" + }, + "pageSize": { + "type": "integer", + "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." + }, "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" + "format": "int64", + "description": "Unique numerical account ID of the sponsor buyer to list the clients for.", + "type": "string", + "required": true } }, - "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}:stopWatching" + "flatPath": "v2beta1/accounts/{accountId}/clients", + "id": "adexchangebuyer2.accounts.clients.list", + "path": "v2beta1/accounts/{accountId}/clients" }, "get": { + "httpMethod": "GET", + "parameterOrder": [ + "accountId", + "clientAccountId" + ], + "response": { + "$ref": "Client" + }, "parameters": { "accountId": { - "location": "path", - "description": "The account the creative belongs to.", + "type": "string", "required": true, - "type": "string" + "location": "path", + "format": "int64", + "description": "Numerical account ID of the client's sponsor buyer. (required)" }, - "creativeId": { + "clientAccountId": { "location": "path", - "description": "The ID of the creative to retrieve.", - "required": true, - "type": "string" + "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}", + "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}", + "id": "adexchangebuyer2.accounts.clients.get", + "description": "Gets a client buyer with a given client account ID." + } + } + }, + "creatives": { + "methods": { + "get": { "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}", "id": "adexchangebuyer2.accounts.creatives.get", "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}", "description": "Gets a creative.", - "httpMethod": "GET", + "response": { + "$ref": "Creative" + }, "parameterOrder": [ "accountId", "creativeId" ], - "response": { - "$ref": "Creative" - } + "httpMethod": "GET", + "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" + ] }, "watch": { - "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" }, @@ -1943,49 +2221,41 @@ "parameters": { "accountId": { "description": "The account of the creative to watch.", - "required": true, "type": "string", + "required": true, "location": "path" }, "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": [ "https://www.googleapis.com/auth/adexchange.buyer" ], "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}:watch", + "id": "adexchangebuyer2.accounts.creatives.watch", "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}:watch", - "id": "adexchangebuyer2.accounts.creatives.watch" + "description": "Watches a creative. Will result in push notifications being sent to the\ntopic when the creative changes status.", + "request": { + "$ref": "WatchCreativeRequest" + } }, "update": { - "request": { - "$ref": "Creative" - }, - "description": "Updates a creative.", - "httpMethod": "PUT", - "parameterOrder": [ - "accountId", - "creativeId" - ], - "response": { - "$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" + "type": "string", + "required": true }, "creativeId": { + "location": "path", "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" + "required": true } }, "scopes": [ @@ -1993,154 +2263,155 @@ ], "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}", "id": "adexchangebuyer2.accounts.creatives.update", - "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}" + "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}", + "description": "Updates a creative.", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "parameterOrder": [ + "accountId", + "creativeId" + ], + "httpMethod": "PUT" }, "list": { + "flatPath": "v2beta1/accounts/{accountId}/creatives", + "id": "adexchangebuyer2.accounts.creatives.list", + "path": "v2beta1/accounts/{accountId}/creatives", "description": "Lists creatives.", - "httpMethod": "GET", "response": { "$ref": "ListCreativesResponse" }, "parameterOrder": [ "accountId" ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], "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": { + "type": "string", + "required": true, + "location": "path", + "description": "The account to list the creatives from.\nSpecify \"-\" to list all creatives the current user has access to." + }, + "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'", + "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" - }, + } + } + }, + "create": { + "flatPath": "v2beta1/accounts/{accountId}/creatives", + "path": "v2beta1/accounts/{accountId}/creatives", + "id": "adexchangebuyer2.accounts.creatives.create", + "description": "Creates a creative.", + "request": { + "$ref": "Creative" + }, + "httpMethod": "POST", + "parameterOrder": [ + "accountId" + ], + "response": { + "$ref": "Creative" + }, + "parameters": { "accountId": { - "location": "path", - "description": "The account to list the creatives from.\nSpecify \"-\" to list all creatives the current user has access to.", + "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" }, - "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": { + "duplicateIdMode": { + "description": "Indicates if multiple creatives can share an ID or not. Default is\nNO_DUPLICATES (one ID per creative).", "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'" + "enum": [ + "NO_DUPLICATES", + "FORCE_ENABLE_DUPLICATE_IDS" + ] } }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "stopWatching": { + "httpMethod": "POST", + "parameterOrder": [ + "accountId", + "creativeId" ], - "flatPath": "v2beta1/accounts/{accountId}/creatives", - "id": "adexchangebuyer2.accounts.creatives.list", - "path": "v2beta1/accounts/{accountId}/creatives" + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "parameters": { + "accountId": { + "location": "path", + "description": "The account of the creative to stop notifications for.", + "type": "string", + "required": true + }, + "creativeId": { + "description": "The creative ID of the creative to stop notifications for.\nSpecify \"-\" to specify stopping account level notifications.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}:stopWatching", + "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}:stopWatching", + "id": "adexchangebuyer2.accounts.creatives.stopWatching", + "request": { + "$ref": "StopWatchingCreativeRequest" + }, + "description": "Stops watching a creative. Will stop push notifications being sent to the\ntopics when the creative changes status." } }, "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" - } - }, - "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" - ], - "response": { - "$ref": "Empty" - }, - "parameters": { - "accountId": { - "location": "path", - "description": "The account the creative belongs to.", - "required": true, - "type": "string" - }, - "creativeId": { - "location": "path", - "description": "The ID of the creative associated with the deal.", - "required": true, - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:add", - "id": "adexchangebuyer2.accounts.creatives.dealAssociations.add", - "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:add" - }, "remove": { - "response": { - "$ref": "Empty" - }, + "httpMethod": "POST", "parameterOrder": [ "accountId", "creativeId" ], - "httpMethod": "POST", + "response": { + "$ref": "Empty" + }, "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.", + "type": "string", + "required": true + }, + "creativeId": { + "type": "string", "required": true, - "type": "string" + "location": "path", + "description": "The ID of the creative associated with the deal." } }, "scopes": [ @@ -2149,10 +2420,91 @@ "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:remove", "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:remove", "id": "adexchangebuyer2.accounts.creatives.dealAssociations.remove", + "description": "Remove the association between a deal and a creative.", "request": { "$ref": "RemoveDealAssociationRequest" + } + }, + "add": { + "response": { + "$ref": "Empty" }, - "description": "Remove the association between a deal and a creative." + "parameterOrder": [ + "accountId", + "creativeId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "parameters": { + "accountId": { + "description": "The account the creative belongs to.", + "type": "string", + "required": true, + "location": "path" + }, + "creativeId": { + "description": "The ID of the creative associated with the deal.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:add", + "id": "adexchangebuyer2.accounts.creatives.dealAssociations.add", + "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:add", + "request": { + "$ref": "AddDealAssociationRequest" + }, + "description": "Associate an existing deal with a creative." + }, + "list": { + "response": { + "$ref": "ListDealAssociationsResponse" + }, + "parameterOrder": [ + "accountId", + "creativeId" + ], + "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\nListDealAssociationsResponse.next_page_token\nreturned from the previous call to 'ListDealAssociations' method.", + "type": "string" + }, + "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": { + "description": "The account to list the associations 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 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", + "location": "query" + }, + "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 + } + }, + "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." } } } @@ -2160,9 +2512,40 @@ }, "filterSets": { "methods": { + "create": { + "flatPath": "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" + }, + "response": { + "$ref": "FilterSet" + }, + "parameterOrder": [ + "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": { + "type": "string", + "required": true, + "location": "path", + "format": "int64", + "description": "Account ID of the buyer." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, "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" @@ -2172,87 +2555,30 @@ "filterSetId" ], "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], "parameters": { "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" - } - }, - "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}" - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "accountId", - "filterSetId" - ], - "response": { - "$ref": "FilterSet" - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "parameters": { - "accountId": { - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, "type": "string", - "location": "path" + "required": true }, "filterSetId": { - "location": "path", - "description": "The ID of the filter set to get.", "format": "int64", + "description": "The ID of the filter set to delete.", + "type": "string", "required": true, - "type": "string" + "location": "path" } }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}", - "id": "adexchangebuyer2.accounts.filterSets.get", - "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}", - "description": "Retrieves the requested filter set for the account with the given account\nID." + "id": "adexchangebuyer2.accounts.filterSets.delete", + "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}" }, "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": [ @@ -2260,87 +2586,323 @@ ], "response": { "$ref": "ListFilterSetsResponse" - } + }, + "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": { + "format": "int64", + "description": "Account ID of the buyer.", + "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\nListFilterSetsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.list\nmethod.", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "flatPath": "v2beta1/accounts/{accountId}/filterSets", + "path": "v2beta1/accounts/{accountId}/filterSets", + "id": "adexchangebuyer2.accounts.filterSets.list" }, - "create": { + "get": { + "description": "Retrieves the requested filter set for the account with the given account\nID.", + "httpMethod": "GET", "response": { "$ref": "FilterSet" }, "parameterOrder": [ - "accountId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" + "accountId", + "filterSetId" ], "parameters": { "accountId": { - "location": "path", - "description": "Account ID of the buyer.", "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", "required": true, - "type": "string" + "location": "path" }, - "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" + "filterSetId": { + "format": "int64", + "description": "The ID of the filter set to get.", + "type": "string", + "required": true, + "location": "path" } }, - "flatPath": "v2beta1/accounts/{accountId}/filterSets", - "path": "v2beta1/accounts/{accountId}/filterSets", - "id": "adexchangebuyer2.accounts.filterSets.create", - "description": "Creates the specified filter set for the account with the given account ID.", - "request": { - "$ref": "FilterSet" - } + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}", + "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}", + "id": "adexchangebuyer2.accounts.filterSets.get" } }, "resources": { - "losingBids": { + "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" ], - "httpMethod": "GET", "response": { - "$ref": "ListLosingBidsResponse" + "$ref": "ListNonBillableWinningBidsResponse" }, "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.", + "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" }, - "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", + "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", "type": "integer" }, - "filterSetId": { - "description": "The ID of the filter set to apply.", + "accountId": { "format": "int64", - "required": true, + "description": "Account ID of the buyer.", "type": "string", + "required": true, + "location": "path" + }, + "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}/nonBillableWinningBids", + "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/nonBillableWinningBids", + "id": "adexchangebuyer2.accounts.filterSets.nonBillableWinningBids.list" + } + } + }, + "filteredBids": { + "methods": { + "list": { + "response": { + "$ref": "ListFilteredBidsResponse" + }, + "parameterOrder": [ + "accountId", + "filterSetId" + ], + "httpMethod": "GET", + "parameters": { + "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." + }, + "accountId": { + "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", + "required": true, + "location": "path" + }, + "filterSetId": { + "format": "int64", + "description": "The ID of the filter set to apply.", + "type": "string", + "required": true, + "location": "path" + }, + "pageToken": { + "type": "string", + "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." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids", + "id": "adexchangebuyer2.accounts.filterSets.filteredBids.list", + "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids", + "description": "List all reasons for which bids were filtered, with the number of bids\nfiltered for each reason." + } + }, + "resources": { + "creatives": { + "methods": { + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListCreativeStatusBreakdownByCreativeResponse" + }, + "parameterOrder": [ + "accountId", + "filterSetId", + "creativeStatusId" + ], + "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\nListCreativeStatusBreakdownByCreativeResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.filteredBids.creatives.list\nmethod.", + "type": "string", + "location": "query" + }, + "creativeStatusId": { + "location": "path", + "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 + }, + "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": { + "location": "path", + "format": "int64", + "description": "The ID of the filter set to apply.", + "type": "string", + "required": true + } + }, + "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" + }, + "parameterOrder": [ + "accountId", + "filterSetId", + "creativeStatusId" + ], + "httpMethod": "GET", + "parameters": { + "pageToken": { + "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" + }, + "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", + "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.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "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" + } + } + } + } + }, + "losingBids": { + "methods": { + "list": { + "response": { + "$ref": "ListLosingBidsResponse" + }, + "parameterOrder": [ + "accountId", + "filterSetId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "parameters": { + "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." + }, + "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\nListLosingBidsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.losingBids.list\nmethod.", + "type": "string", + "location": "query" + } + }, "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/losingBids", - "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/losingBids", "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." } } @@ -2348,9 +2910,11 @@ "bidMetrics": { "methods": { "list": { + "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.", + "httpMethod": "GET", "response": { "$ref": "ListBidMetricsResponse" }, @@ -2358,38 +2922,36 @@ "accountId", "filterSetId" ], - "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\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" - }, "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.", - "format": "int64", - "required": true, + "accountId": { "type": "string", - "location": "path" + "required": true, + "location": "path", + "format": "int64", + "description": "Account ID of the buyer." + }, + "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" + } } } }, @@ -2405,38 +2967,38 @@ "filterSetId" ], "parameters": { - "accountId": { + "filterSetId": { "location": "path", - "description": "Account ID of the buyer.", "format": "int64", - "required": true, - "type": "string" + "description": "The ID of the filter set to apply.", + "type": "string", + "required": true + }, + "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, + "accountId": { + "format": "int64", + "description": "Account ID of the buyer.", "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\nListImpressionMetricsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.impressionMetrics.list\nmethod.", - "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 +3006,7 @@ "bidResponseErrors": { "methods": { "list": { + "description": "List all errors that occurred in bid responses, with the number of bid\nresponses affected for each reason.", "response": { "$ref": "ListBidResponseErrorsResponse" }, @@ -2453,29 +3016,29 @@ ], "httpMethod": "GET", "parameters": { - "pageToken": { + "pageSize": { + "type": "integer", "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" + "format": "int32", + "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default." }, "accountId": { - "description": "Account ID of the buyer.", + "location": "path", "format": "int64", - "required": true, + "description": "Account ID of the buyer.", "type": "string", - "location": "path" - }, - "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" + "required": true }, "filterSetId": { "location": "path", - "description": "The ID of the filter set to apply.", "format": "int64", - "required": true, + "description": "The ID of the filter set to apply.", + "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\nListBidResponseErrorsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.bidResponseErrors.list\nmethod.", "type": "string" } }, @@ -2483,101 +3046,52 @@ "https://www.googleapis.com/auth/adexchange.buyer" ], "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/bidResponseErrors", - "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/bidResponseErrors", "id": "adexchangebuyer2.accounts.filterSets.bidResponseErrors.list", - "description": "List all errors that occurred in bid responses, with the number of bid\nresponses affected for each reason." + "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/bidResponseErrors" } } }, "bidResponsesWithoutBids": { "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", - "parameterOrder": [ - "accountId", - "filterSetId" - ], - "response": { - "$ref": "ListBidResponsesWithoutBidsResponse" - }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ], "parameters": { + "filterSetId": { + "format": "int64", + "description": "The ID of the filter set to apply.", + "type": "string", + "required": true, + "location": "path" + }, "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" - }, "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" }, - "filterSetId": { - "location": "path", - "description": "The ID of the filter set to apply.", + "accountId": { "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", "required": true, - "type": "string" + "location": "path" } }, "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/bidResponsesWithoutBids", "id": "adexchangebuyer2.accounts.filterSets.bidResponsesWithoutBids.list", - "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/bidResponsesWithoutBids" - } - } - }, - "filteredBidRequests": { - "methods": { - "list": { - "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" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "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", + "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/bidResponsesWithoutBids", + "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.", "response": { - "$ref": "ListFilteredBidRequestsResponse" + "$ref": "ListBidResponsesWithoutBidsResponse" }, + "httpMethod": "GET", "parameterOrder": [ "accountId", "filterSetId" @@ -2585,673 +3099,51 @@ } } }, - "filteredBids": { + "filteredBidRequests": { "methods": { "list": { - "description": "List all reasons for which bids were filtered, with the number of bids\nfiltered for each reason.", - "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" - }, - "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.", - "type": "string", - "location": "query" - }, - "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" - } - }, - "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids", - "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids", - "id": "adexchangebuyer2.accounts.filterSets.filteredBids.list" - } - }, - "resources": { - "details": { - "methods": { - "list": { - "response": { - "$ref": "ListCreativeStatusBreakdownByDetailResponse" - }, - "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 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": { - "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" - }, - "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": { - "location": "path", - "description": "The ID of the filter set to apply.", - "format": "int64", - "required": true, - "type": "string" - } - }, - "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." - } - } - } - } - } - } - }, - "nonBillableWinningBids": { - "methods": { - "list": { - "description": "List all reasons for which winning bids were not billable, with the number\nof bids not billed for each reason.", - "response": { - "$ref": "ListNonBillableWinningBidsResponse" + "$ref": "ListFilteredBidRequestsResponse" }, "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.", - "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": { + "type": "string", + "required": true, "location": "path", - "description": "The ID of the filter set to apply.", "format": "int64", - "required": true, - "type": "string" - } - }, - "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" + "description": "The ID of the filter set to apply." }, - "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.", + "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", "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}/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." } } } @@ -3261,27 +3153,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\").", @@ -3290,8 +3161,8 @@ "prettyPrint": { "location": "query", "description": "Returns response with indentations and line breaks.", - "type": "boolean", - "default": "true" + "default": "true", + "type": "boolean" }, "fields": { "location": "query", @@ -3299,22 +3170,22 @@ "type": "string" }, "uploadType": { + "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" + "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": { "location": "query", @@ -3322,6 +3193,8 @@ "type": "string" }, "alt": { + "description": "Data format for response.", + "default": "json", "enum": [ "json", "media", @@ -3333,21 +3206,49 @@ "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": { + "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": { "type": "string", - "location": "query" + "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." + }, + "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" } }, "version": "v2beta1", - "baseUrl": "https://adexchangebuyer.googleapis.com/" + "baseUrl": "https://adexchangebuyer.googleapis.com/", + "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": "", + "revision": "20170815", + "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest/reference/rest/", + "id": "adexchangebuyer2:v2beta1", + "discoveryVersion": "v1", + "version_module": true } 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 0452d21..e1aa128 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 @@ -8339,239 +8258,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 +8420,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/adexperiencereport/v1/adexperiencereport-api.json b/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-api.json index 9b011ac..ecedbd9 100644 --- a/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-api.json +++ b/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-api.json @@ -1,136 +1,4 @@ { - "discoveryVersion": "v1", - "version_module": "True", - "schemas": { - "ViolatingSitesResponse": { - "description": "Response message for ListViolatingSites.", - "type": "object", - "properties": { - "violatingSites": { - "description": "A list of summaries of violating sites.", - "items": { - "$ref": "SiteSummaryResponse" - }, - "type": "array" - } - }, - "id": "ViolatingSitesResponse" - }, - "SiteSummaryResponse": { - "description": "Response message for GetSiteSummary.", - "type": "object", - "properties": { - "reviewedSite": { - "description": "The name of the site reviewed.", - "type": "string" - }, - "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": { - "betterAdsStatus": { - "description": "The status of the site reviewed for the Better Ads Standards.", - "type": "string", - "enumDescriptions": [ - "Not reviewed.", - "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.", - "Region A.", - "Region B." - ], - "description": "The assigned regions for the site and platform.", - "items": { - "type": "string", - "enum": [ - "REGION_UNKNOWN", - "REGION_A", - "REGION_B" - ] - }, - "type": "array" - }, - "filterStatus": { - "description": "The ad filtering status of the site.", - "type": "string", - "enumDescriptions": [ - "N/A.", - "Ad filtering is on.", - "Ad filtering is off.", - "Ad filtering is paused.", - "Ad filtering is pending." - ], - "enum": [ - "UNKNOWN", - "ON", - "OFF", - "PAUSED", - "PENDING" - ] - }, - "underReview": { - "description": "Whether the site is currently under review.", - "type": "boolean" - }, - "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" - } - }, - "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": "Ad Experience Report", "auth": { "oauth2": { @@ -151,79 +19,73 @@ "sites": { "methods": { "get": { - "description": "Gets a summary of the ads rating of a site.", - "httpMethod": "GET", + "id": "adexperiencereport.sites.get", + "path": "v1/{+name}", + "description": "Gets a summary of the ad experience rating of a site.", + "response": { + "$ref": "SiteSummaryResponse" + }, "parameterOrder": [ "name" ], - "response": { - "$ref": "SiteSummaryResponse" + "httpMethod": "GET", + "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 + } }, "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" + "flatPath": "v1/sites/{sitesId}" } } }, "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" }, + "parameterOrder": [], + "httpMethod": "GET", "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/xapi.zoo" - ] + ], + "flatPath": "v1/violatingSites", + "id": "adexperiencereport.violatingSites.list", + "path": "v1/violatingSites", + "description": "Lists sites with Ad Experience Report statuses of \"Failing\" or \"Warning\"." } } } }, "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", - "location": "query" - }, - "oauth_token": { - "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", - "location": "query" + "type": "boolean" }, "uploadType": { "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", @@ -231,28 +93,28 @@ "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" + "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" + }, "alt": { "enum": [ "json", @@ -269,29 +131,167 @@ "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" }, - "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" } }, "version": "v1", "baseUrl": "https://adexperiencereport.googleapis.com/", - "description": "View Ad Experience Report data, and get a list of sites that have a significant number of annoying ads.", "servicePath": "", + "description": "View Ad Experience Report data, and get a list of sites that have a significant number of annoying ads.", "kind": "discovery#restDescription", "basePath": "", + "revision": "20170819", "documentationLink": "https://developers.google.com/ad-experience-report/", - "revision": "20170628", - "id": "adexperiencereport:v1" + "id": "adexperiencereport:v1", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { + "ViolatingSitesResponse": { + "properties": { + "violatingSites": { + "description": "A list of summaries of violating sites.", + "items": { + "$ref": "SiteSummaryResponse" + }, + "type": "array" + } + }, + "id": "ViolatingSitesResponse", + "description": "Response message for ListViolatingSites.", + "type": "object" + }, + "SiteSummaryResponse": { + "description": "Response message for GetSiteSummary.", + "type": "object", + "properties": { + "mobileSummary": { + "$ref": "PlatformSummary", + "description": "Summary for the mobile review of the site." + }, + "reviewedSite": { + "description": "The name of the site reviewed.", + "type": "string" + }, + "desktopSummary": { + "description": "Summary for the desktop review of the site.", + "$ref": "PlatformSummary" + } + }, + "id": "SiteSummaryResponse" + }, + "PlatformSummary": { + "description": "Summary of the ad experience rating of a site for a specific platform.", + "type": "object", + "properties": { + "region": { + "description": "The assigned regions for the site and platform.", + "items": { + "enum": [ + "REGION_UNKNOWN", + "REGION_A", + "REGION_B" + ], + "type": "string" + }, + "type": "array", + "enumDescriptions": [ + "Ad standard not yet defined for your region.", + "Region A.", + "Region B." + ] + }, + "enforcementTime": { + "format": "google-datetime", + "description": "The date on which ad filtering begins.", + "type": "string" + }, + "filterStatus": { + "enum": [ + "UNKNOWN", + "ON", + "OFF", + "PAUSED", + "PENDING" + ], + "description": "The ad filtering status of the site.", + "type": "string", + "enumDescriptions": [ + "N/A.", + "Ad filtering is on.", + "Ad filtering is off.", + "Ad filtering is paused.", + "Ad filtering is pending." + ] + }, + "underReview": { + "description": "Whether the site is currently under review.", + "type": "boolean" + }, + "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" + }, + "betterAdsStatus": { + "enumDescriptions": [ + "Not reviewed.", + "Passing.", + "Warning.", + "Failing." + ], + "enum": [ + "UNKNOWN", + "PASSING", + "WARNING", + "FAILING" + ], + "description": "The status of the site reviewed for the Better Ads Standards.", + "type": "string" + }, + "abusiveStatus": { + "enumDescriptions": [ + "Not reviewed.", + "Passing.", + "Failing." + ], + "enum": [ + "UNKNOWN", + "PASSING", + "FAILING" + ], + "description": "The status of the site reviewed for abusive ads.", + "type": "string" + } + }, + "id": "PlatformSummary" + } + }, + "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/adexperiencereport/v1/adexperiencereport-gen.go b/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-gen.go index fd06037..ea2be9e 100644 --- a/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-gen.go +++ b/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-gen.go @@ -96,9 +96,17 @@ 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 { + // AbusiveStatus: The status of the site reviewed for abusive ads. + // + // Possible values: + // "UNKNOWN" - Not reviewed. + // "PASSING" - Passing. + // "FAILING" - Failing. + AbusiveStatus string `json:"abusiveStatus,omitempty"` + // BetterAdsStatus: The status of the site reviewed for the Better Ads // Standards. // @@ -109,14 +117,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"` @@ -147,7 +147,7 @@ type PlatformSummary struct { // UnderReview: Whether the site is currently under review. UnderReview bool `json:"underReview,omitempty"` - // ForceSendFields is a list of field names (e.g. "BetterAdsStatus") to + // ForceSendFields is a list of field names (e.g. "AbusiveStatus") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -155,13 +155,12 @@ type PlatformSummary struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BetterAdsStatus") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an 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. "AbusiveStatus") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } @@ -254,7 +253,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 +354,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 +363,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/directory/v1/admin-api.json b/vendor/google.golang.org/api/admin/directory/v1/admin-api.json index 2cf6805..5665c1e 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/O3yStPLO-_BtPqwnPm5OpyYaKQ4\"", "discoveryVersion": "v1", "id": "admin:directory_v1", "name": "admin", "canonicalName": "directory", "version": "directory_v1", - "revision": "20170530", + "revision": "20170723", "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", @@ -579,6 +579,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", @@ -1868,6 +1887,9 @@ "description": "Is mailbox setup (Read-only)", "readOnly": true }, + "keywords": { + "type": "any" + }, "kind": { "type": "string", "description": "Kind of resource this is.", @@ -2122,6 +2144,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", @@ -2816,6 +2857,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 19c8e79..943d38a 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 @@ -1019,6 +1019,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 { @@ -2652,6 +2681,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"` @@ -2962,6 +2993,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 @@ -4666,6 +4735,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 6d41b82..b37a057 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", @@ -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 47aaf38..fd98e00 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/analytics/v3/analytics-api.json b/vendor/google.golang.org/api/analytics/v3/analytics-api.json index 4bf0619..a5e3aec 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", @@ -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 fad26c5..9ff6690 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:"-"` 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 97e7e5c..f64aaa8 100644 --- a/vendor/google.golang.org/api/analyticsreporting/v4/analyticsreporting-api.json +++ b/vendor/google.golang.org/api/analyticsreporting/v4/analyticsreporting-api.json @@ -1,255 +1,10 @@ { - "revision": "20170531", - "documentationLink": "https://developers.google.com/analytics/devguides/reporting/core/v4/", "id": "analyticsreporting:v4", + "documentationLink": "https://developers.google.com/analytics/devguides/reporting/core/v4/", + "revision": "20170705", "discoveryVersion": "v1", "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", @@ -304,13 +59,22 @@ "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": { + "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", - "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." + "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.", @@ -325,23 +89,15 @@ "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." + "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" } }, - "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" + "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": { @@ -356,23 +112,22 @@ "type": "array" }, "dimensionValues": { + "description": "The values for the dimensions in the pivot.", "items": { "type": "string" }, - "type": "array", - "description": "The values for the dimensions in the pivot." + "type": "array" } }, - "id": "PivotHeaderEntry", - "description": "The headers for the each of the metric column corresponding to the metrics\nrequested in the pivots section of the response." + "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": { "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." + "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" }, "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 },", @@ -408,6 +163,7 @@ "type": "string" }, "type": { + "type": "string", "enumDescriptions": [ "Metric type is unspecified.", "Integer metric.", @@ -424,8 +180,7 @@ "PERCENT", "TIME" ], - "description": "The type of the metric, for example `INTEGER`.", - "type": "string" + "description": "The type of the metric, for example `INTEGER`." } }, "id": "MetricHeaderEntry" @@ -434,21 +189,6 @@ "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": { @@ -459,8 +199,8 @@ "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": "string", + "format": "int64" }, "type": "array" }, @@ -469,11 +209,11 @@ "type": "boolean" }, "rows": { + "description": "There's one ReportRow for every unique combination of dimensions.", "items": { "$ref": "ReportRow" }, - "type": "array", - "description": "There's one ReportRow for every unique combination of dimensions." + "type": "array" }, "rowCount": { "format": "int32", @@ -491,13 +231,26 @@ "$ref": "DateRangeValues" }, "type": "array" + }, + "samplingSpaceSizes": { + "items": { + "format": "int64", + "type": "string" + }, + "type": "array", + "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." + }, + "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" } }, "id": "ReportData" }, "DimensionFilter": { - "id": "DimensionFilter", - "description": "Dimension filter specifies the filtering options on a dimension.", "type": "object", "properties": { "operator": { @@ -529,8 +282,8 @@ "type": "string" }, "dimensionName": { - "description": "The dimension to filter on. A DimensionFilter must contain a dimension.", - "type": "string" + "type": "string", + "description": "The dimension to filter on. A DimensionFilter must contain a dimension." }, "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.", @@ -540,36 +293,40 @@ "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." + "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.", + "type": "boolean" }, "caseSensitive": { "description": "Should the match be case sensitive? Default is false.", "type": "boolean" } - } + }, + "id": "DimensionFilter", + "description": "Dimension filter specifies the filtering options on a dimension." }, "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." + "description": "Name of the dimension for which the filter is being applied.", + "type": "string" }, "operator": { + "enum": [ + "OPERATOR_UNSPECIFIED", + "REGEXP", + "BEGINS_WITH", + "ENDS_WITH", + "PARTIAL", + "EXACT", + "IN_LIST", + "NUMERIC_LESS_THAN", + "NUMERIC_GREATER_THAN", + "NUMERIC_BETWEEN" + ], "description": "The operator to use to match the dimension with the expressions.", "type": "string", "enumDescriptions": [ @@ -583,57 +340,33 @@ "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", - "description": "The list of expressions, only the first element is used for all operators" + "type": "array" + }, + "caseSensitive": { + "description": "Should the match be case sensitive, ignored for `IN_LIST` operator.", + "type": "boolean" + }, + "minComparisonValue": { + "description": "Minimum comparison values for `BETWEEN` match type.", + "type": "string" } }, - "id": "SegmentDimensionFilter" + "id": "SegmentDimensionFilter", + "description": "Dimension filter specifies the filtering options on a dimension.", + "type": "object" }, "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", @@ -643,31 +376,54 @@ "DIMENSION_AS_INTEGER" ], "description": "The order type. The default orderType is `VALUE`.", - "type": "string" + "type": "string", + "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." + ] }, "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" + }, + "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" + ] } }, "id": "OrderBy" }, "Segment": { + "id": "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" - }, - "dynamicSegment": { - "description": "A dynamic segment definition in the request.", - "$ref": "DynamicSegment" } - }, - "id": "Segment" + } }, "SegmentSequenceStep": { + "type": "object", "properties": { "orFiltersForSegment": { "description": "A sequence is specified with a list of Or grouped filters which are\ncombined with `AND` operator.", @@ -677,6 +433,7 @@ "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.", @@ -687,19 +444,19 @@ "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" + "description": "A segment sequence definition." }, "Metric": { + "id": "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": { + "type": "string", "enumDescriptions": [ "Metric type is unspecified.", "Integer metric.", @@ -716,8 +473,7 @@ "PERCENT", "TIME" ], - "description": "Specifies how the metric expression should be formatted, for example\n`INTEGER`.", - "type": "string" + "description": "Specifies how the metric expression should be formatted, for example\n`INTEGER`." }, "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.", @@ -727,10 +483,10 @@ "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": { + "description": "The metric values in the pivot region.", "type": "object", "properties": { "values": { @@ -741,17 +497,12 @@ "type": "array" } }, - "id": "PivotValueRegion", - "description": "The metric values in the pivot region." + "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" @@ -759,11 +510,16 @@ "data": { "description": "Response data.", "$ref": "ReportData" + }, + "columnHeader": { + "$ref": "ColumnHeader", + "description": "The column headers." } }, "id": "Report" }, "PivotHeader": { + "id": "PivotHeader", "description": "The headers for each of the pivot sections defined in the request.", "type": "object", "properties": { @@ -779,65 +535,48 @@ "description": "The total number of groups for this pivot.", "type": "integer" } - }, - "id": "PivotHeader" + } }, "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" - }, "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.", + }, + "endDate": { + "description": "The end date for the query in the format `YYYY-MM-DD`.", "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": { + "id": "ReportRequest", "description": "The main request class which specifies the Reporting API request.", "type": "object", "properties": { + "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" + }, "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).", "type": "string" @@ -922,32 +661,47 @@ "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": { + "id": "MetricFilter", + "description": "MetricFilter specifies the filter on a metric.", + "type": "object", + "properties": { + "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." + }, + "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" + } + } }, "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": { "histogramBuckets": { @@ -963,37 +717,38 @@ "type": "string" } }, - "id": "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." }, "DynamicSegment": { + "id": "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" }, "name": { - "type": "string", - "description": "The name of the dynamic segment." + "description": "The name of the dynamic segment.", + "type": "string" + }, + "userSegment": { + "$ref": "SegmentDefinition", + "description": "User Segment to select users to include in the segment." } - }, - "id": "DynamicSegment", - "description": "Dynamic segment definition for defining the segment within the request.\nA segment can select users, sessions or both.", - "type": "object" + } }, "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" @@ -1002,19 +757,264 @@ "description": "Column headers.", "type": "object", "properties": { - "metricHeader": { - "description": "Metric headers for the metrics in the response.", - "$ref": "MetricHeader" - }, "dimensions": { "description": "The dimension names in the response.", "items": { "type": "string" }, "type": "array" + }, + "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": { + "metricFilter": { + "$ref": "SegmentMetricFilter", + "description": "Metric Filter for the segment definition." + }, + "not": { + "type": "boolean", + "description": "Matches the complement (`!`) of the filter." + }, + "dimensionFilter": { + "$ref": "SegmentDimensionFilter", + "description": "Dimension Filter for the segment definition." + } + }, + "id": "SegmentFilterClause" + }, + "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": { + "enum": [ + "OPERATOR_UNSPECIFIED", + "OR", + "AND" + ], + "description": "The operator for combining multiple metric filters. If unspecified, it is\ntreated as an `OR`.", + "type": "string", + "enumDescriptions": [ + "Unspecified operator. It is treated as an `OR`.", + "The logical `OR` operator.", + "The logical `AND` operator." + ] + } + }, + "id": "MetricFilterClause" + }, + "Cohort": { + "id": "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": { + "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" + }, + "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" + } + } + }, + "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" + }, + "OrFiltersForSegment": { + "description": "A list of segment filters in the `OR` group are combined with the logical OR\noperator.", + "type": "object", + "properties": { + "segmentFilterClauses": { + "items": { + "$ref": "SegmentFilterClause" + }, + "type": "array", + "description": "List of segment filters to be combined with a `OR` operator." + } + }, + "id": "OrFiltersForSegment" + }, + "MetricHeader": { + "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.", + "type": "object" + }, + "DimensionFilterClause": { + "id": "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" + ] + } + } + }, + "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": { + "type": "object", + "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." + }, + "SegmentMetricFilter": { + "type": "object", + "properties": { + "metricName": { + "type": "string", + "description": "The metric that will be filtered on. A `metricFilter` must contain a\nmetric name." + }, + "scope": { + "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.", + "type": "string" + }, + "maxComparisonValue": { + "description": "Max comparison value is only used for `BETWEEN` operator.", + "type": "string" + }, + "comparisonValue": { + "description": "The value to compare against. If the operator is `BETWEEN`, this value is\ntreated as minimum comparison value.", + "type": "string" + }, + "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" + } + }, + "id": "SegmentMetricFilter", + "description": "Metric filter to be used in a segment filter clause." } }, "icons": { @@ -1045,53 +1045,37 @@ "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" + "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": { - "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": { + "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", @@ -1105,25 +1089,25 @@ "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\")." + "description": "OAuth 2.0 token for the current user." + }, + "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" + "type": "boolean", + "location": "query", + "description": "Returns response with indentations and line breaks." }, "uploadType": { "location": "query", @@ -1131,14 +1115,14 @@ "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": { - "location": "query", "description": "JSONP", - "type": "string" + "type": "string", + "location": "query" }, "$.xgafv": { "enumDescriptions": [ @@ -1152,12 +1136,28 @@ ], "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": "v4", "baseUrl": "https://analyticsreporting.googleapis.com/", "servicePath": "", - "kind": "discovery#restDescription", "description": "Accesses Analytics report data.", + "kind": "discovery#restDescription", "basePath": "" } 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 541af20..25e6ec2 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/NquYLxR1-tsUnZG1v-8eQMTpQks\"", "discoveryVersion": "v1", "id": "androidenterprise:v1", "name": "androidenterprise", "canonicalName": "Android Enterprise", "version": "v1", - "revision": "20170531", + "revision": "20170809", "title": "Google Play EMM API", "description": "Manages the deployment of apps to Android for Work users.", "ownerDomain": "google.com", @@ -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", @@ -1056,7 +1072,7 @@ }, "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." } } }, @@ -1722,6 +1738,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", @@ -1906,6 +1945,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 26f8758..40fe77e 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 { @@ -2168,7 +2208,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 @@ -4397,6 +4440,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 { @@ -5398,6 +5579,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/androidpublisher/v1.1/androidpublisher-api.json b/vendor/google.golang.org/api/androidpublisher/v1.1/androidpublisher-api.json index 7b7dde8..65e19ef 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/LIbYVZb_4AVNYXTI7gW6jjbQKZE\"", "discoveryVersion": "v1", "id": "androidpublisher:v1.1", "name": "androidpublisher", "canonicalName": "Android Publisher", "version": "v1.1", - "revision": "20170504", + "revision": "20170815", "title": "Google Play Developer API", "description": "Lets Android application developers access their Google Play accounts.", "ownerDomain": "google.com", @@ -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 c4d799f..b27c4d8 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/v2/androidpublisher-api.json b/vendor/google.golang.org/api/androidpublisher/v2/androidpublisher-api.json index deaed42..31abcf8 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/e4AtolObWHB9RMWbWiGGnmazpNA\"", "discoveryVersion": "v1", "id": "androidpublisher:v2", "name": "androidpublisher", "canonicalName": "Android Publisher", "version": "v2", - "revision": "20170504", + "revision": "20170815", "title": "Google Play Developer API", "description": "Lets Android application developers access their Google Play accounts.", "ownerDomain": "google.com", @@ -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", @@ -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 bd23a7c..7f8aa1b 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 @@ -2032,10 +2040,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. @@ -10901,7 +10914,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 +10939,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 +11056,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 +11078,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 2775342..40d1d3c 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 Provisioning 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", @@ -915,6 +929,21 @@ }, "preferred": true }, + { + "kind": "discovery#directoryItem", + "id": "container:v1alpha1", + "name": "container", + "version": "v1alpha1", + "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=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/container-engine/", + "preferred": false + }, { "kind": "discovery#directoryItem", "id": "container:v1", @@ -930,6 +959,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 +1037,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 +1054,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 +1082,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", @@ -1742,7 +1786,7 @@ "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 }, { @@ -1807,6 +1851,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 +2220,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", @@ -2476,7 +2536,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", @@ -2612,21 +2672,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 +2703,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": "", + "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://apps.google.com/products/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 a124b85..4d73558 100644 --- a/vendor/google.golang.org/api/appengine/v1/appengine-api.json +++ b/vendor/google.golang.org/api/appengine/v1/appengine-api.json @@ -1,21 +1,27 @@ { + "rootUrl": "https://appengine.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "appengine", + "batchPath": "batch", + "id": "appengine:v1", + "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", + "revision": "20170824", + "title": "Google App Engine Admin API", "discoveryVersion": "v1", "ownerName": "Google", - "version_module": "True", + "version_module": true, "resources": { "apps": { "methods": { "repair": { - "response": { - "$ref": "Operation" - }, + "httpMethod": "POST", "parameterOrder": [ "appsId" ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], + "response": { + "$ref": "Operation" + }, "parameters": { "appsId": { "location": "path", @@ -24,28 +30,32 @@ "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1/apps/{appsId}:repair", - "id": "appengine.apps.repair", "path": "v1/apps/{appsId}:repair", + "id": "appengine.apps.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" - }, - "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}", + "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.", - "httpMethod": "PATCH", - "parameterOrder": [ - "appsId" - ], "response": { "$ref": "Operation" }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "PATCH", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], @@ -62,16 +72,23 @@ "type": "string", "required": true } - }, - "flatPath": "v1/apps/{appsId}" + } }, "get": { + "description": "Gets information about an application.", + "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, - "location": "path" + "required": true } }, "scopes": [ @@ -81,15 +98,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" + "path": "v1/apps/{appsId}" }, "create": { "httpMethod": "POST", @@ -97,34 +106,76 @@ "response": { "$ref": "Operation" }, - "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], + "parameters": {}, "flatPath": "v1/apps", "path": "v1/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" - } + }, + "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/)." } }, "resources": { - "operations": { + "services": { "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": { "response": { "$ref": "Operation" }, "parameterOrder": [ "appsId", - "operationsId" + "servicesId" ], + "httpMethod": "PATCH", + "parameters": { + "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", + "required": true + }, + "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/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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/apps/{appsId}/services/{servicesId}", + "id": "appengine.apps.services.patch", + "path": "v1/apps/{appsId}/services/{servicesId}", + "description": "Updates the configuration of the specified service.", + "request": { + "$ref": "Service" + } + }, + "get": { + "response": { + "$ref": "Service" + }, + "parameterOrder": [ + "appsId", + "servicesId" + ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/appengine.admin", "https://www.googleapis.com/auth/cloud-platform", @@ -132,21 +183,555 @@ ], "parameters": { "appsId": { - "description": "Part of `name`. The name of the operation resource.", + "location": "path", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", + "type": "string", + "required": true + }, + "servicesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/apps/{appsId}/services/{servicesId}", + "id": "appengine.apps.services.get", + "path": "v1/apps/{appsId}/services/{servicesId}", + "description": "Gets the current configuration of the specified service." + }, + "list": { + "description": "Lists all the services in the application.", + "httpMethod": "GET", + "response": { + "$ref": "ListServicesResponse" + }, + "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}/services", + "path": "v1/apps/{appsId}/services", + "id": "appengine.apps.services.list" + }, + "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": { + "servicesId": { + "description": "Part of `name`. See documentation of `appsId`.", "type": "string", "required": true, "location": "path" }, - "operationsId": { + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", "type": "string", "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." + "location": "path" } }, - "flatPath": "v1/apps/{appsId}/operations/{operationsId}" + "flatPath": "v1/apps/{appsId}/services/{servicesId}", + "path": "v1/apps/{appsId}/services/{servicesId}", + "id": "appengine.apps.services.delete" + } + }, + "resources": { + "versions": { + "methods": { + "delete": { + "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "id": "appengine.apps.services.versions.delete", + "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "description": "Deletes an existing Version resource.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId" + ], + "httpMethod": "DELETE", + "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/versions/v1.", + "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" + ] + }, + "patch": { + "httpMethod": "PATCH", + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId" + ], + "response": { + "$ref": "Operation" + }, + "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" + }, + "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" + }, + "versionsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "id": "appengine.apps.services.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/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." + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId" + ], + "response": { + "$ref": "Version" + }, + "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" + }, + "view": { + "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 + } + }, + "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}", + "path": "v1/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." + }, + "list": { + "description": "Lists the versions of a service.", + "httpMethod": "GET", + "parameterOrder": [ + "appsId", + "servicesId" + ], + "response": { + "$ref": "ListVersionsResponse" + }, + "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 Service resource. Example: apps/myapp/services/default.", + "type": "string", + "required": true + }, + "pageSize": { + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer", + "location": "query" + }, + "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 + } + }, + "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" + }, + "create": { + "description": "Deploys code and resource files to a new version.", + "request": { + "$ref": "Version" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId" + ], + "httpMethod": "POST", + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default.", + "type": "string", + "required": true + }, + "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", + "id": "appengine.apps.services.versions.create", + "path": "v1/apps/{appsId}/services/{servicesId}/versions" + } + }, + "resources": { + "instances": { + "methods": { + "delete": { + "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}", + "description": "Stops a running instance.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId", + "instancesId" + ], + "httpMethod": "DELETE", + "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" + }, + "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 + } + } + }, + "get": { + "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "id": "appengine.apps.services.versions.instances.get", + "description": "Gets instance information.", + "httpMethod": "GET", + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId", + "instancesId" + ], + "response": { + "$ref": "Instance" + }, + "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": { + "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}/instances/{instancesId}" + }, + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListInstancesResponse" + }, + "parameterOrder": [ + "appsId", + "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" + ], + "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": { + "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" + } + }, + "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", + "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)." + }, + "debug": { + "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug", + "id": "appengine.apps.services.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.", + "httpMethod": "POST", + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId", + "instancesId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug" + } + } + } + } + } + } + }, + "operations": { + "methods": { + "get": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "operationsId" + ], + "httpMethod": "GET", + "parameters": { + "operationsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "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": "v1/apps/{appsId}/operations/{operationsId}", + "id": "appengine.apps.operations.get", + "path": "v1/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": { + "id": "appengine.apps.operations.list", + "path": "v1/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" @@ -156,27 +741,27 @@ ], "httpMethod": "GET", "parameters": { + "filter": { + "description": "The standard list filter.", + "type": "string", + "location": "query" + }, "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." + "description": "Part of `name`. The name of the operation's parent resource.", + "type": "string", + "required": true }, "pageSize": { - "type": "integer", - "location": "query", "format": "int32", - "description": "The standard list page size." - }, - "filter": { - "type": "string", - "location": "query", - "description": "The standard list filter." + "description": "The standard list page size.", + "type": "integer", + "location": "query" } }, "scopes": [ @@ -184,15 +769,14 @@ "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}/operations" } } }, "locations": { "methods": { "get": { + "description": "Get information about a location.", "response": { "$ref": "Location" }, @@ -222,22 +806,32 @@ }, "flatPath": "v1/apps/{appsId}/locations/{locationsId}", "id": "appengine.apps.locations.get", - "path": "v1/apps/{appsId}/locations/{locationsId}", - "description": "Get information about a location." + "path": "v1/apps/{appsId}/locations/{locationsId}" }, "list": { - "response": { - "$ref": "ListLocationsResponse" - }, + "description": "Lists information about the supported locations for this service.", + "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" + "type": "string", + "location": "query" }, "appsId": { "location": "path", @@ -250,596 +844,11 @@ "description": "The standard list page size.", "type": "integer", "location": "query" - }, - "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" - ], "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." - } - } - }, - "services": { - "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.", - "request": { - "$ref": "Service" - }, - "httpMethod": "PATCH", - "parameterOrder": [ - "appsId", - "servicesId" - ], - "response": { - "$ref": "Operation" - }, - "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", - "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/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" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "response": { - "$ref": "Service" - }, - "parameterOrder": [ - "appsId", - "servicesId" - ], - "httpMethod": "GET", - "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/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "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}", - "description": "Gets the current configuration of the specified service." - }, - "list": { - "description": "Lists all the services in the application.", - "response": { - "$ref": "ListServicesResponse" - }, - "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": { - "type": "string", - "location": "query", - "description": "Continuation token for fetching the next page of results." - }, - "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" - } - }, - "flatPath": "v1/apps/{appsId}/services", - "id": "appengine.apps.services.list", - "path": "v1/apps/{appsId}/services" - }, - "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": "v1/apps/{appsId}/services/{servicesId}", - "id": "appengine.apps.services.delete", - "path": "v1/apps/{appsId}/services/{servicesId}" - } - }, - "resources": { - "versions": { - "methods": { - "create": { - "httpMethod": "POST", - "parameterOrder": [ - "appsId", - "servicesId" - ], - "response": { - "$ref": "Operation" - }, - "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.", - "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}", - "description": "Deletes an existing Version resource.", - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId" - ], - "httpMethod": "DELETE", - "response": { - "$ref": "Operation" - } - }, - "patch": { - "httpMethod": "PATCH", - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId" - ], - "response": { - "$ref": "Operation" - }, - "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", - "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" - ], - "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" - } - }, - "get": { - "response": { - "$ref": "Version" - }, - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId" - ], - "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", - "required": true, - "location": "path" - }, - "view": { - "location": "query", - "enum": [ - "BASIC", - "FULL" - ], - "description": "Controls the set of fields returned in the Get response.", - "type": "string" - }, - "versionsId": { - "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": "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": { - "description": "Lists the versions of a service.", - "httpMethod": "GET", - "parameterOrder": [ - "appsId", - "servicesId" - ], - "response": { - "$ref": "ListVersionsResponse" - }, - "parameters": { - "servicesId": { - "description": "Part of `parent`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, - "pageToken": { - "type": "string", - "location": "query", - "description": "Continuation token for fetching the next page of results." - }, - "appsId": { - "location": "path", - "description": "Part of `parent`. Name of the parent Service resource. 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" - } - }, - "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" - } - }, - "resources": { - "instances": { - "methods": { - "delete": { - "description": "Stops a running instance.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId", - "instancesId" - ], - "httpMethod": "DELETE", - "parameters": { - "servicesId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - }, - "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": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "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" - ] - } - } - } - } + "id": "appengine.apps.locations.list" } } } @@ -847,47 +856,32 @@ } }, "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.", + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", "type": "string", "location": "query" }, - "oauth_token": { + "bearer_token": { "location": "query", - "description": "OAuth 2.0 token for the current user.", + "description": "OAuth bearer token.", "type": "string" }, "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string", - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")." + "location": "query" }, "prettyPrint": { + "location": "query", "description": "Returns response with indentations and line breaks.", "default": "true", - "type": "boolean", - "location": "query" + "type": "boolean" }, "uploadType": { "location": "query", @@ -895,29 +889,35 @@ "type": "string" }, "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "$.xgafv": { - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format." + "description": "Selector specifying which fields to include in a partial response.", + "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", @@ -925,30 +925,443 @@ ], "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": { + "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" } }, "schemas": { - "Library": { + "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": { + "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" + }, + "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": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + } + }, + "id": "OperationMetadataExperimental" + }, + "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": { + "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" + ], + "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" + }, + "OperationMetadataV1Beta": { + "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.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" + } + }, + "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" + }, + "Resources": { + "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", + "description": "Machine resources for a version.", + "type": "object" + }, + "Deployment": { + "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" + }, + "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": { + "sizeGb": { + "format": "double", + "description": "Volume size in gigabytes.", + "type": "number" + }, + "name": { + "description": "Unique name for the volume.", + "type": "string" + }, + "volumeType": { + "description": "Underlying volume type, e.g. 'tmpfs'.", + "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" + }, + "OperationMetadataV1Alpha": { + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object", + "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": { + "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": "OperationMetadataV1Alpha" + }, + "UrlDispatchRule": { + "description": "Rules to match an HTTP request and dispatch that request to a service.", + "type": "object", + "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" + }, + "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" + }, + "ApiEndpointHandler": { + "properties": { + "scriptPath": { + "description": "Path to the script from the application root directory.", + "type": "string" + } + }, + "id": "ApiEndpointHandler", + "description": "Uses Google Cloud Endpoints to handle requests.", + "type": "object" + }, + "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" + }, + "AutomaticScaling": { + "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", + "type": "object", + "properties": { + "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 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": { + "$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" + }, + "cpuUtilization": { + "description": "Target scaling by CPU usage.", + "$ref": "CpuUtilization" + } + }, + "id": "AutomaticScaling" + }, + "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" - }, - "name": { - "type": "string", - "description": "Name of the library. Example: \"django\"." } }, - "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.", @@ -980,58 +1393,26 @@ "type": "object" }, "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." - }, "targetConcurrentRequests": { "format": "int32", "description": "Target number of concurrent requests.", "type": "integer" + }, + "targetRequestCountPerSecond": { + "format": "int32", + "description": "Target requests per second.", + "type": "integer" } }, - "id": "RequestUtilization" + "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": { - "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" @@ -1057,12 +1438,12 @@ ] }, "apiEndpoint": { - "$ref": "ApiEndpointHandler", - "description": "Uses API Endpoints to handle requests." + "description": "Uses API Endpoints to handle requests.", + "$ref": "ApiEndpointHandler" }, "staticFiles": { - "$ref": "StaticFilesHandler", - "description": "Returns the contents of a file, such as an image, as the response." + "description": "Returns the contents of a file, such as an image, as the response.", + "$ref": "StaticFilesHandler" }, "redirectHttpResponseCode": { "enum": [ @@ -1081,6 +1462,38 @@ "303 See Other code.", "307 Temporary Redirect code." ] + }, + "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" } }, "id": "UrlMap" @@ -1090,8 +1503,8 @@ "type": "object", "properties": { "configId": { - "type": "string", - "description": "Endpoints service configuration id as specified by the Service Management API. For example \"2016-09-19r1\"" + "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\"", @@ -1100,44 +1513,7 @@ }, "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": [ @@ -1176,12 +1552,6 @@ "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", @@ -1189,22 +1559,60 @@ "LOGIN_REQUIRED" ], "description": "Level of login required to access this resource. Defaults to optional.", - "type": "string" + "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." + ] }, "url": { "description": "URL to serve the endpoint at.", "type": "string" } }, - "id": "ApiConfigHandler" + "id": "ApiConfigHandler", + "description": "Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers.", + "type": "object" }, - "StaticFilesHandler": { + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", "type": "object", "properties": { - "requireMatchingFile": { - "type": "boolean", - "description": "Whether this handler should match the request if the file referenced by the handler does not exist." + "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": { + "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" + }, + "StaticFilesHandler": { + "properties": { "expiration": { "format": "google-duration", "description": "Time a static file served by this handler should be cached by web proxies and browsers.", @@ -1232,19 +1640,24 @@ "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", - "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." + "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" }, "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." + "description": "Maximum number of instances to create for this version.", + "type": "integer" }, "idleTimeout": { "format": "google-duration", @@ -1285,15 +1698,15 @@ "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" @@ -1301,8 +1714,8 @@ "IdentityAwareProxy": { "properties": { "oauth2ClientSecretSha256": { - "type": "string", - "description": "Hex-encoded SHA-256 hash of the client secret.@OutputOnly" + "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.", @@ -1325,6 +1738,17 @@ "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": { + "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.", @@ -1333,55 +1757,39 @@ "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" } }, "id": "Status" }, "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": { - "type": "object", "properties": { - "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" @@ -1389,45 +1797,38 @@ "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": "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." + "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" }, "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" - }, "endTime": { "format": "google-datetime", "description": "Timestamp that this operation completed.@OutputOnly", @@ -1441,12 +1842,41 @@ "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" } }, "id": "OperationMetadata" }, - "OperationMetadataV1": { + "FeatureSettings": { + "description": "The feature specific settings to be used in the application. These define behaviors that are user configurable.", + "type": "object", "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" + }, + "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" @@ -1475,26 +1905,17 @@ "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" + "id": "OperationMetadataV1" }, "ErrorHandler": { - "type": "object", "properties": { "mimeType": { - "type": "string", - "description": "MIME type of file. Defaults to text/html." + "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.", @@ -1508,46 +1929,60 @@ "ERROR_CODE_OVER_QUOTA", "ERROR_CODE_DOS_API_DENIAL", "ERROR_CODE_TIMEOUT" - ] + ], + "description": "Error condition this handler applies to.", + "type": "string" }, "staticFile": { - "type": "string", - "description": "Static file content to be served for this error." + "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." + "description": "Custom static error page to be served when an error occurs.", + "type": "object" }, "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.", + "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 Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path.Defaults to default.", + "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" }, "Application": { + "description": "An Application resource contains the top-level configuration of an App Engine application. Next tag: 20", "type": "object", "properties": { + "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 +1990,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,8 +2027,8 @@ "type": "string" }, "name": { - "type": "string", - "description": "Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly" + "description": "Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly", + "type": "string" }, "defaultCookieExpiration": { "format": "google-duration", @@ -1605,19 +2038,25 @@ "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" } }, - "id": "Application", - "description": "An Application resource contains the top-level configuration of an App Engine application. Next tag: 19" + "id": "Application" }, "Instance": { - "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", - "type": "object", "properties": { + "vmDebugEnabled": { + "description": "Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "boolean" + }, + "requests": { + "format": "int32", + "description": "Number of requests since this instance was started.@OutputOnly", + "type": "integer" + }, + "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" @@ -1631,14 +2070,14 @@ "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", @@ -1657,16 +2096,9 @@ "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", - "type": "string" - }, - "errors": { - "format": "int32", - "description": "Number of errors since this instance was started.@OutputOnly", - "type": "integer" - }, "availability": { + "description": "Availability of the instance.@OutputOnly", + "type": "string", "enumDescriptions": [ "", "", @@ -1676,50 +2108,32 @@ "UNSPECIFIED", "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", "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", "type": "string" - }, - "vmDebugEnabled": { - "description": "Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "boolean" - }, - "requests": { - "format": "int32", - "description": "Number of requests since this instance was started.@OutputOnly", - "type": "integer" - }, - "appEngineRelease": { - "description": "App Engine release this instance is running on.@OutputOnly", - "type": "string" } }, - "id": "Instance" + "id": "Instance", + "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", + "type": "object" }, "LivenessCheck": { - "type": "object", "properties": { - "path": { - "description": "The request path.", - "type": "string" - }, - "successThreshold": { - "type": "integer", - "format": "uint32", - "description": "Number of consecutive successful checks required before considering the VM healthy." - }, - "host": { - "description": "Host header to send when performing a HTTP Liveness check. Example: \"myapp.appspot.com\"", - "type": "string" - }, - "checkInterval": { + "timeout": { "format": "google-duration", - "description": "Interval between health checks.", + "description": "Time before the check is considered failed.", "type": "string" }, "failureThreshold": { @@ -1727,32 +2141,38 @@ "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" + }, + "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" } }, "id": "LivenessCheck", - "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances." + "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances.", + "type": "object" }, "NetworkUtilization": { + "description": "Target scaling by network usage. Only applicable for VM runtimes.", + "type": "object", "properties": { - "targetReceivedBytesPerSecond": { - "type": "integer", - "format": "int32", - "description": "Target bytes received per second." - }, - "targetSentPacketsPerSecond": { - "format": "int32", - "description": "Target packets sent per second.", - "type": "integer" - }, "targetReceivedPacketsPerSecond": { "format": "int32", "description": "Target packets received per second.", @@ -1762,43 +2182,53 @@ "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" } }, - "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": { + "labels": { + "description": "Cross-service attributes for the location. For example\n{\"cloud.googleapis.com/region\": \"us-east1\"}\n", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "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": { - "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" }, - "description": "Cross-service attributes for the location. For example\n{\"cloud.googleapis.com/region\": \"us-east1\"}\n", + "description": "Service-specific metadata. For example the available capacity at the given location.", "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" }, "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": { "host": { "description": "Host header to send when performing an HTTP health check. Example: \"myapp.appspot.com\"", @@ -1815,9 +2245,9 @@ "type": "integer" }, "checkInterval": { - "type": "string", "format": "google-duration", - "description": "Interval between health checks." + "description": "Interval between health checks.", + "type": "string" }, "timeout": { "format": "google-duration", @@ -1825,38 +2255,21 @@ "type": "string" }, "unhealthyThreshold": { - "type": "integer", "format": "uint32", - "description": "Number of consecutive failed health checks required before removing traffic." + "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", - "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": { - "checkInterval": { - "format": "google-duration", - "description": "Interval between health checks.", - "type": "string" - }, - "failureThreshold": { - "format": "uint32", - "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" - }, "path": { "description": "The request path.", "type": "string" @@ -1869,6 +2282,26 @@ "format": "uint32", "description": "Number of consecutive successful checks required before receiving traffic.", "type": "integer" + }, + "checkInterval": { + "format": "google-duration", + "description": "Interval between health checks.", + "type": "string" + }, + "timeout": { + "format": "google-duration", + "description": "Time before the check is considered failed.", + "type": "string" + }, + "failureThreshold": { + "format": "uint32", + "description": "Number of consecutive failed checks required before removing traffic.", + "type": "integer" + }, + "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" } }, "id": "ReadinessCheck" @@ -1885,98 +2318,36 @@ "id": "DebugInstanceRequest" }, "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", "type": "string" }, "endTime": { - "type": "string", "format": "google-datetime", - "description": "Timestamp that this operation completed.@OutputOnly" + "description": "Timestamp that this operation completed.@OutputOnly", + "type": "string" }, "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", "type": "string" - }, - "method": { - "description": "API method name that initiated this operation. Example: google.appengine.v1beta5.Version.CreateVersion.@OutputOnly", - "type": "string" } }, - "id": "OperationMetadataV1Beta5", - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object" + "id": "OperationMetadataV1Beta5" }, "Version": { - "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" - }, - "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", - "additionalProperties": { - "type": "string" - } - }, - "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.", - "$ref": "Network" - }, - "betaSettings": { - "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.", "type": "string" @@ -1998,24 +2369,24 @@ "type": "string" }, "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." + "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": { - "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", "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." }, "manualScaling": { - "$ref": "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." + "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" + "description": "Full path to the Version resource in the API. Example: apps/myapp/services/default/versions/v1.@OutputOnly", + "type": "string" }, "apiConfig": { "$ref": "ApiConfigHandler", @@ -2064,22 +2435,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,455 +2451,119 @@ ], "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": { + "$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" + }, + "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": { + "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": { + "$ref": "Network", + "description": "Extra network settings. Only applicable for App Engine flexible environment versions." + }, + "betaSettings": { + "additionalProperties": { + "type": "string" + }, + "description": "Metadata settings that are supplied to this version to enable beta runtime features.", + "type": "object" } }, "id": "Version", - "description": "A Version resource is a specific set of source code and configuration files that are deployed into a service." + "description": "A Version resource is a specific set of source code and configuration files that are deployed into a service.", + "type": "object" }, "RepairApplicationRequest": { - "description": "Request message for 'Applications.RepairApplication'.", - "type": "object", "properties": {}, - "id": "RepairApplicationRequest" - }, - "ScriptHandler": { - "description": "Executes a script to handle the request that matches the URL pattern.", - "type": "object", - "properties": { - "scriptPath": { - "type": "string", - "description": "Path to the script from the application root directory." - } - }, - "id": "ScriptHandler" - }, - "FileInfo": { - "properties": { - "sha1Sum": { - "type": "string", - "description": "The SHA1 hash of the file, in hex." - }, - "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.", + "id": "RepairApplicationRequest", + "description": "Request message for 'Applications.RepairApplication'.", "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" - }, - "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" - }, - "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": { - "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": { - "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" - } - }, - "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": { - "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" - } - } - }, - "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": { - "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" - } - }, - "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" } }, - "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://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" } } } }, "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" + "kind": "discovery#restDescription" } 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 10f30e1..80fb860 100644 --- a/vendor/google.golang.org/api/appengine/v1/appengine-gen.go +++ b/vendor/google.golang.org/api/appengine/v1/appengine-gen.go @@ -260,7 +260,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 +291,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"` @@ -740,6 +744,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. @@ -1371,16 +1410,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 +1440,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 +1859,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 +1885,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 +1893,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:"-"` } @@ -2136,8 +2184,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 +2542,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 @@ -5296,6 +5345,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 +5470,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 92fa2d9..ecf1992 100644 --- a/vendor/google.golang.org/api/appengine/v1alpha/appengine-api.json +++ b/vendor/google.golang.org/api/appengine/v1alpha/appengine-api.json @@ -1,15 +1,12 @@ { - "ownerName": "Google", "discoveryVersion": "v1", + "ownerName": "Google", "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" @@ -19,17 +16,12 @@ "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, - "location": "path" + "required": true }, "operationsId": { "description": "Part of `name`. See documentation of `appsId`.", @@ -37,49 +29,57 @@ "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}", + "id": "appengine.apps.operations.get", + "path": "v1alpha/apps/{appsId}/operations/{operationsId}" }, "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.", + "httpMethod": "GET", "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." + "description": "The standard list page size.", + "type": "integer", + "location": "query" }, "filter": { "description": "The standard list filter.", "type": "string", "location": "query" + }, + "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 } }, "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", + "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." } } }, @@ -87,14 +87,14 @@ "methods": { "get": { "description": "Get information about a location.", - "httpMethod": "GET", + "response": { + "$ref": "Location" + }, "parameterOrder": [ "appsId", "locationsId" ], - "response": { - "$ref": "Location" - }, + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/appengine.admin", "https://www.googleapis.com/auth/cloud-platform", @@ -102,10 +102,10 @@ ], "parameters": { "locationsId": { + "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true, - "location": "path" + "required": true }, "appsId": { "location": "path", @@ -115,50 +115,50 @@ } }, "flatPath": "v1alpha/apps/{appsId}/locations/{locationsId}", - "path": "v1alpha/apps/{appsId}/locations/{locationsId}", - "id": "appengine.apps.locations.get" + "id": "appengine.apps.locations.get", + "path": "v1alpha/apps/{appsId}/locations/{locationsId}" }, "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" + "parameterOrder": [ + "appsId" ], + "httpMethod": "GET", "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 + "required": true, + "location": "path" }, "pageSize": { "format": "int32", "description": "The standard list page size.", "type": "integer", "location": "query" + }, + "filter": { + "location": "query", + "description": "The standard list filter.", + "type": "string" } }, - "flatPath": "v1alpha/apps/{appsId}/locations" + "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", + "id": "appengine.apps.locations.list", + "path": "v1alpha/apps/{appsId}/locations" } } }, @@ -174,11 +174,17 @@ "$ref": "Operation" }, "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, - "location": "path" + "required": true }, "domainMappingsId": { "location": "path", @@ -187,15 +193,9 @@ "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.", + "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", "location": "query" - }, - "updateMask": { - "location": "query", - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated.", - "type": "string" } }, "scopes": [ @@ -243,10 +243,6 @@ ] }, "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" }, @@ -254,22 +250,17 @@ "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", - "location": "query" + "type": "string" }, "appsId": { - "location": "path", - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", "type": "string", - "required": true + "required": true, + "location": "path", + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp." }, "pageSize": { "location": "query", @@ -277,16 +268,88 @@ "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": "v1alpha/apps/{appsId}/domainMappings", + "id": "appengine.apps.domainMappings.list", + "path": "v1alpha/apps/{appsId}/domainMappings", + "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" }, + "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.", + "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" + }, + "delete": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "domainMappingsId" + ], + "httpMethod": "DELETE", + "parameters": { + "domainMappingsId": { + "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/domainMappings/example.com.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", + "id": "appengine.apps.domainMappings.delete", + "path": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", + "description": "Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource." + } + } + }, + "authorizedCertificates": { + "methods": { + "create": { + "response": { + "$ref": "AuthorizedCertificate" + }, "parameterOrder": [ "appsId" ], @@ -297,59 +360,20 @@ "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" + "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates", + "id": "appengine.apps.authorizedCertificates.create", + "path": "v1alpha/apps/{appsId}/authorizedCertificates", + "description": "Uploads the specified SSL certificate.", + "request": { + "$ref": "AuthorizedCertificate" + } }, "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" @@ -359,6 +383,9 @@ "authorizedCertificatesId" ], "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "appsId": { "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", @@ -367,18 +394,17 @@ "location": "path" }, "authorizedCertificatesId": { + "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true, - "location": "path" + "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] + "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "id": "appengine.apps.authorizedCertificates.delete", + "path": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}" }, "patch": { - "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", "path": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", "id": "appengine.apps.authorizedCertificates.patch", "request": { @@ -397,12 +423,6 @@ "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`.", @@ -410,34 +430,30 @@ "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" + "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 } - } + }, + "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}" }, "get": { - "httpMethod": "GET", + "response": { + "$ref": "AuthorizedCertificate" + }, "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" - ], + "httpMethod": "GET", "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.", @@ -445,38 +461,58 @@ "required": true }, "view": { + "type": "string", + "location": "query", "enum": [ "BASIC_CERTIFICATE", "FULL_CERTIFICATE" ], - "description": "Controls the set of fields returned in the GET response.", + "description": "Controls the set of fields returned in the GET response." + }, + "authorizedCertificatesId": { + "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "location": "query" + "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}/authorizedCertificates/{authorizedCertificatesId}", - "path": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", "id": "appengine.apps.authorizedCertificates.get", + "path": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", "description": "Gets the specified SSL certificate." }, "list": { + "httpMethod": "GET", "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.", + "view": { + "description": "Controls the set of fields returned in the LIST response.", "type": "string", - "location": "query" + "location": "query", + "enum": [ + "BASIC_CERTIFICATE", + "FULL_CERTIFICATE" + ] + }, + "pageToken": { + "location": "query", + "description": "Continuation token for fetching the next page of results.", + "type": "string" }, "appsId": { "location": "path", @@ -485,57 +521,37 @@ "required": true }, "pageSize": { + "type": "integer", "location": "query", "format": "int32", - "description": "Maximum results to return per page.", - "type": "integer" + "description": "Maximum results to return per page." } }, "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates", + "path": "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": { + "path": "v1alpha/apps/{appsId}/authorizedDomains", + "id": "appengine.apps.authorizedDomains.list", "description": "Lists all domains the user is authorized to administer.", - "response": { - "$ref": "ListAuthorizedDomainsResponse" - }, + "httpMethod": "GET", "parameterOrder": [ "appsId" ], - "httpMethod": "GET", + "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" + ], "parameters": { "pageToken": { "description": "Continuation token for fetching the next page of results.", @@ -549,20 +565,13 @@ "location": "path" }, "pageSize": { - "location": "query", "format": "int32", "description": "Maximum results to return per page.", - "type": "integer" + "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": "v1alpha/apps/{appsId}/authorizedDomains", - "id": "appengine.apps.authorizedDomains.list", - "path": "v1alpha/apps/{appsId}/authorizedDomains" + "flatPath": "v1alpha/apps/{appsId}/authorizedDomains" } } } @@ -570,76 +579,6 @@ } }, "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", - "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", @@ -655,164 +594,79 @@ "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": { + "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" + }, + "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" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" } }, "schemas": { - "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" - }, - "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": [ - "", - "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 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." - ] - } - }, - "id": "ManagedCertificate" - }, - "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": { - "type": "string" - }, - "type": "array" - }, - "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/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" - }, - "SslSettings": { - "type": "object", - "properties": { - "isManagedCertificate": { - "description": "Whether the mapped certificate is an App Engine managed certificate. Managed certificates are created by default with a domain mapping. To opt out, specify no_managed_certificate on a CREATE or UPDATE request.@OutputOnly", - "type": "boolean" - }, - "certificateId": { - "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 no_managed_certificate 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" - } - }, - "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" - }, - "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" - }, - "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" - }, "ListDomainMappingsResponse": { "id": "ListDomainMappingsResponse", "description": "Response message for DomainMappings.ListDomainMappings.", @@ -835,23 +689,6 @@ "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" - }, "user": { "description": "User who requested this operation.@OutputOnly", "type": "string" @@ -861,12 +698,29 @@ "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", "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" } }, "id": "OperationMetadataV1Alpha" @@ -875,6 +729,14 @@ "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" @@ -888,45 +750,10 @@ "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", @@ -943,6 +770,7 @@ "id": "AuthorizedDomain" }, "ListAuthorizedDomainsResponse": { + "id": "ListAuthorizedDomainsResponse", "description": "Response message for AuthorizedDomains.ListAuthorizedDomains.", "type": "object", "properties": { @@ -957,12 +785,36 @@ }, "type": "array" } + } + }, + "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": "ListAuthorizedDomainsResponse" + "id": "Status" }, "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", @@ -973,17 +825,20 @@ "type": "boolean" } }, - "id": "LocationMetadata" + "id": "LocationMetadata", + "description": "Metadata for the given google.cloud.location.Location.", + "type": "object" }, "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", - "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.", @@ -998,19 +853,30 @@ "type": "string" } }, - "id": "DomainMapping", - "description": "A domain serving an App Engine application." + "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" + "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 {}." }, "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" @@ -1031,26 +897,22 @@ "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" }, "Location": { + "id": "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" @@ -1066,36 +928,23 @@ }, "description": "Service-specific metadata. For example the available capacity at the given location.", "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" - } } - }, - "id": "Location" + } }, "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" }, "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" - }, "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,29 +961,34 @@ }, "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": { - "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" + "type": "array", + "description": "Topmost applicable domains of this certificate. This certificate applies to these domains and their subdomains. Example: example.com.@OutputOnly" }, "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" } - } + }, + "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": "string", + "description": "Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'." }, "type": { "enumDescriptions": [ @@ -1176,18 +1030,7 @@ "id": "ListOperationsResponse" }, "OperationMetadata": { - "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" @@ -1198,33 +1041,44 @@ "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/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" } }, - "id": "OperationMetadata" + "id": "OperationMetadata", + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object" }, "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", - "description": "The SSL certificates the user is authorized to administer." + "type": "array" }, "nextPageToken": { "description": "Continuation token for fetching the next page of results.", "type": "string" } }, - "id": "ListAuthorizedCertificatesResponse", - "description": "Response message for AuthorizedCertificates.ListAuthorizedCertificates.", - "type": "object" + "id": "ListAuthorizedCertificatesResponse" }, "OperationMetadataV1Beta5": { "description": "Metadata for the given google.longrunning.Operation.", @@ -1254,6 +1108,161 @@ } }, "id": "OperationMetadataV1Beta5" + }, + "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" + }, + "ManagedCertificate": { + "description": "A certificate managed by App Engine.", + "type": "object", + "properties": { + "status": { + "description": "Status of certificate management. Refers to the most recent certificate acquisition or renewal attempt.@OutputOnly", + "type": "string", + "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 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" + }, + "OperationMetadataV1": { + "id": "OperationMetadataV1", + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object", + "properties": { + "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": { + "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" + } + } + }, + "SslSettings": { + "description": "SSL configuration for a DomainMapping resource.", + "type": "object", + "properties": { + "isManagedCertificate": { + "description": "Whether the mapped certificate is an App Engine managed certificate. Managed certificates are created by default with a domain mapping. To opt out, specify no_managed_certificate on a CREATE or UPDATE request.@OutputOnly", + "type": "boolean" + }, + "certificateId": { + "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 no_managed_certificate 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" + } + }, + "id": "SslSettings" + }, + "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" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "type": "object", + "properties": { + "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": { + "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 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." + }, + "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." + } + }, + "id": "Operation" } }, "protocol": "rest", @@ -1266,28 +1275,28 @@ "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" } } } }, - "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", "name": "appengine", "batchPath": "batch", "id": "appengine:v1alpha", - "revision": "20170626", "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", + "revision": "20170824", "title": "Google App Engine Admin API" } 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 9e75265..2d78981 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 709113c..07141ec 100644 --- a/vendor/google.golang.org/api/appengine/v1beta/appengine-api.json +++ b/vendor/google.golang.org/api/appengine/v1beta/appengine-api.json @@ -1,88 +1,52 @@ { - "name": "appengine", - "batchPath": "batch", - "id": "appengine:v1beta", - "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", - "revision": "20170626", "title": "Google App Engine Admin API", - "ownerName": "Google", "discoveryVersion": "v1", + "ownerName": "Google", "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" - }, + "httpMethod": "PATCH", "parameterOrder": [ "appsId" ], - "httpMethod": "PATCH", + "response": { + "$ref": "Operation" + }, "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" + }, "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}" + "path": "v1beta/apps/{appsId}", + "id": "appengine.apps.patch" }, "get": { - "httpMethod": "GET", - "parameterOrder": [ - "appsId" - ], + "description": "Gets information about an application.", "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" + "parameterOrder": [ + "appsId" ], + "httpMethod": "GET", "parameters": { "appsId": { "description": "Part of `name`. Name of the Application resource to get. Example: apps/myapp.", @@ -91,573 +55,126 @@ "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}", - "path": "v1beta/apps/{appsId}", "id": "appengine.apps.get", - "description": "Gets information about an application." + "path": "v1beta/apps/{appsId}" }, "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": {}, + "parameterOrder": [], + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], + "parameters": {}, "flatPath": "v1beta/apps", + "id": "appengine.apps.create", "path": "v1beta/apps", - "id": "appengine.apps.create" + "request": { + "$ref": "Application" + }, + "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/)." + }, + "repair": { + "flatPath": "v1beta/apps/{appsId}:repair", + "id": "appengine.apps.repair", + "path": "v1beta/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.", + "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 + } + } } }, "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" - ], - "response": { - "$ref": "Location" - }, - "parameters": { - "appsId": { - "description": "Part of `name`. Resource name for the location.", - "type": "string", - "required": true, - "location": "path" - }, - "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": "v1beta/apps/{appsId}/locations/{locationsId}", - "path": "v1beta/apps/{appsId}/locations/{locationsId}", - "id": "appengine.apps.locations.get" - }, - "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": { - "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" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "The standard list page size.", - "type": "integer" - }, - "filter": { - "description": "The standard list filter.", - "type": "string", - "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" - ], + "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. Updates are only supported on the certificate_raw_data and display_name fields.", - "type": "string", - "location": "query" + "type": "string" }, "appsId": { "location": "path", "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", "type": "string", "required": true + }, + "authorizedCertificatesId": { + "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}/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" - } + "path": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}" }, "get": { - "httpMethod": "GET", + "description": "Gets the specified SSL certificate.", + "response": { + "$ref": "AuthorizedCertificate" + }, "parameterOrder": [ "appsId", "authorizedCertificatesId" ], - "response": { - "$ref": "AuthorizedCertificate" - }, + "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 resource requested. Example: apps/myapp/authorizedCertificates/12345.", + "type": "string", + "required": true, + "location": "path" + }, "view": { "location": "query", "enum": [ @@ -668,66 +185,77 @@ "type": "string" }, "authorizedCertificatesId": { + "description": "Part of `name`. See documentation of `appsId`.", "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." + "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}/authorizedCertificates/{authorizedCertificatesId}", - "path": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", "id": "appengine.apps.authorizedCertificates.get", - "description": "Gets the specified SSL certificate." + "path": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}" }, "list": { + "flatPath": "v1beta/apps/{appsId}/authorizedCertificates", "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" - ], + "response": { + "$ref": "ListAuthorizedCertificatesResponse" + }, "parameters": { "pageToken": { + "location": "query", "description": "Continuation token for fetching the next page of results.", - "type": "string", - "location": "query" + "type": "string" }, "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": { "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" } }, - "flatPath": "v1beta/apps/{appsId}/authorizedCertificates" + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] }, "create": { + "request": { + "$ref": "AuthorizedCertificate" + }, + "description": "Uploads the specified SSL certificate.", + "httpMethod": "POST", + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "AuthorizedCertificate" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "appsId": { "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", @@ -736,59 +264,45 @@ "location": "path" } }, + "flatPath": "v1beta/apps/{appsId}/authorizedCertificates", + "path": "v1beta/apps/{appsId}/authorizedCertificates", + "id": "appengine.apps.authorizedCertificates.create" + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "appsId", + "authorizedCertificatesId" + ], + "httpMethod": "DELETE", "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" + "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 + } }, - "httpMethod": "POST", - "parameterOrder": [ - "appsId" - ], - "response": { - "$ref": "AuthorizedCertificate" - } + "flatPath": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "id": "appengine.apps.authorizedCertificates.delete", + "path": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "description": "Deletes the specified SSL certificate." } } }, "services": { "methods": { - "delete": { - "httpMethod": "DELETE", - "parameterOrder": [ - "appsId", - "servicesId" - ], - "response": { - "$ref": "Operation" - }, - "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." - }, "patch": { "request": { "$ref": "Service" @@ -806,6 +320,11 @@ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { + "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" + }, "updateMask": { "location": "query", "format": "google-fieldmask", @@ -819,15 +338,10 @@ "location": "path" }, "appsId": { + "location": "path", "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default.", "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" + "required": true } }, "flatPath": "v1beta/apps/{appsId}/services/{servicesId}", @@ -836,7 +350,6 @@ }, "get": { "description": "Gets the current configuration of the specified service.", - "httpMethod": "GET", "response": { "$ref": "Service" }, @@ -844,32 +357,31 @@ "appsId", "servicesId" ], - "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" ], + "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.", + "type": "string", + "required": true + } + }, "flatPath": "v1beta/apps/{appsId}/services/{servicesId}", - "path": "v1beta/apps/{appsId}/services/{servicesId}", - "id": "appengine.apps.services.get" + "id": "appengine.apps.services.get", + "path": "v1beta/apps/{appsId}/services/{servicesId}" }, "list": { - "id": "appengine.apps.services.list", - "path": "v1beta/apps/{appsId}/services", "description": "Lists all the services in the application.", "response": { "$ref": "ListServicesResponse" @@ -878,6 +390,11 @@ "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", @@ -891,226 +408,53 @@ "type": "string" }, "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" + } + }, + "flatPath": "v1beta/apps/{appsId}/services", + "id": "appengine.apps.services.list", + "path": "v1beta/apps/{appsId}/services" + }, + "delete": { + "description": "Deletes the specified service and all enclosed versions.", + "httpMethod": "DELETE", + "parameterOrder": [ + "appsId", + "servicesId" + ], + "response": { + "$ref": "Operation" + }, + "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" } }, "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" ], - "flatPath": "v1beta/apps/{appsId}/services" + "flatPath": "v1beta/apps/{appsId}/services/{servicesId}", + "path": "v1beta/apps/{appsId}/services/{servicesId}", + "id": "appengine.apps.services.delete" } }, "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" }, @@ -1119,7 +463,17 @@ "servicesId", "versionsId" ], + "httpMethod": "DELETE", + "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`.", @@ -1127,27 +481,24 @@ "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`.", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", "type": "string", "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] + "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "id": "appengine.apps.services.versions.delete", + "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}" }, "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.", + "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "id": "appengine.apps.services.versions.patch", + "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}", "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/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.", "response": { "$ref": "Operation" }, @@ -1157,12 +508,15 @@ "versionsId" ], "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" + "type": "string", + "location": "query" }, "servicesId": { "location": "path", @@ -1171,10 +525,10 @@ "required": true }, "appsId": { + "location": "path", "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", "type": "string", - "required": true, - "location": "path" + "required": true }, "versionsId": { "description": "Part of `name`. See documentation of `appsId`.", @@ -1182,13 +536,7 @@ "required": true, "location": "path" } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}", - "id": "appengine.apps.services.versions.patch", - "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}" + } }, "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.", @@ -1201,7 +549,27 @@ "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": { + "view": { + "description": "Controls the set of fields returned in the Get response.", + "type": "string", + "location": "query", + "enum": [ + "BASIC", + "FULL" + ] + }, + "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`.", @@ -1209,38 +577,17 @@ "required": true }, "appsId": { - "location": "path", "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/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" - }, - "versionsId": { - "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}/services/{servicesId}/versions/{versionsId}", "id": "appengine.apps.services.versions.get", "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}" }, "list": { - "description": "Lists the versions of a service.", "httpMethod": "GET", "parameterOrder": [ "appsId", @@ -1251,10 +598,10 @@ }, "parameters": { "pageSize": { - "type": "integer", "location": "query", "format": "int32", - "description": "Maximum results to return per page." + "description": "Maximum results to return per page.", + "type": "integer" }, "view": { "description": "Controls the set of fields returned in the List response.", @@ -1272,9 +619,9 @@ "location": "path" }, "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 Service resource. Example: apps/myapp/services/default.", @@ -1290,26 +637,34 @@ ], "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": { - "httpMethod": "POST", + "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions", + "id": "appengine.apps.services.versions.create", + "path": "v1beta/apps/{appsId}/services/{servicesId}/versions", + "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": { "servicesId": { + "description": "Part of `parent`. See documentation of `appsId`.", "type": "string", "required": true, - "location": "path", - "description": "Part of `parent`. See documentation of `appsId`." + "location": "path" }, "appsId": { "location": "path", @@ -1317,14 +672,204 @@ "type": "string", "required": true } - }, - "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." + } + } + }, + "resources": { + "instances": { + "methods": { + "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": { + "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" + }, + "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 + } + }, + "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": { + "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": { + "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" + } + }, + "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": { + "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" + }, + "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" + }, + "delete": { + "description": "Stops a running instance.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId", + "instancesId" + ], + "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 + }, + "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": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "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}" + } + } } } } @@ -1333,8 +878,6 @@ "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" @@ -1350,16 +893,16 @@ "type": "string" }, "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": { + "location": "query", "format": "int32", "description": "Maximum results to return per page.", - "type": "integer", - "location": "query" + "type": "integer" } }, "scopes": [ @@ -1367,21 +910,23 @@ "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" - }, + "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,10 +934,10 @@ ], "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", @@ -1402,14 +947,11 @@ } }, "flatPath": "v1beta/apps/{appsId}/operations/{operationsId}", - "id": "appengine.apps.operations.get", "path": "v1beta/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": { - "flatPath": "v1beta/apps/{appsId}/operations", - "path": "v1beta/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": [ @@ -1435,10 +977,10 @@ "type": "string" }, "appsId": { + "description": "Part of `name`. The name of the operation's parent resource.", "type": "string", "required": true, - "location": "path", - "description": "Part of `name`. The name of the operation's parent resource." + "location": "path" }, "pageSize": { "location": "query", @@ -1446,6 +988,468 @@ "description": "The standard list page size.", "type": "integer" } + }, + "flatPath": "v1beta/apps/{appsId}/operations", + "path": "v1beta/apps/{appsId}/operations", + "id": "appengine.apps.operations.list" + } + } + }, + "domainMappings": { + "methods": { + "patch": { + "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.", + "httpMethod": "PATCH", + "parameterOrder": [ + "appsId", + "domainMappingsId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "domainMappingsId": { + "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" + }, + "appsId": { + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", + "type": "string", + "required": true, + "location": "path" + } + } + }, + "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": { + "location": "path", + "description": "Part of `name`. Name of the resource requested. 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.get", + "description": "Gets the specified domain mapping." + }, + "list": { + "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": { + "pageSize": { + "location": "query", + "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 `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta/apps/{appsId}/domainMappings", + "path": "v1beta/apps/{appsId}/domainMappings", + "id": "appengine.apps.domainMappings.list", + "description": "Lists the domain mappings on an application." + }, + "create": { + "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", + "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" + } + }, + "delete": { + "description": "Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "domainMappingsId" + ], + "httpMethod": "DELETE", + "parameters": { + "domainMappingsId": { + "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/domainMappings/example.com.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}", + "id": "appengine.apps.domainMappings.delete", + "path": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}" + } + } + }, + "firewall": { + "resources": { + "ingressRules": { + "methods": { + "get": { + "description": "Gets the specified firewall rule.", + "httpMethod": "GET", + "parameterOrder": [ + "appsId", + "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" + ], + "parameters": { + "ingressRulesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the Firewall resource to retrieve. Example: apps/myapp/firewall/ingressRules/100.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + "path": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + "id": "appengine.apps.firewall.ingressRules.get" + }, + "patch": { + "request": { + "$ref": "FirewallRule" + }, + "description": "Updates the specified firewall rule.", + "httpMethod": "PATCH", + "parameterOrder": [ + "appsId", + "ingressRulesId" + ], + "response": { + "$ref": "FirewallRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "ingressRulesId": { + "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": { + "description": "Part of `name`. Name of the Firewall resource to update. Example: apps/myapp/firewall/ingressRules/100.", + "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.patch" + }, + "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" + }, + "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" + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "appsId", + "ingressRulesId" + ], + "httpMethod": "DELETE", + "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": { + "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}/firewall/ingressRules/{ingressRulesId}", + "id": "appengine.apps.firewall.ingressRules.delete", + "path": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + "description": "Deletes the specified firewall rule." + }, + "list": { + "description": "Lists the firewall rules of an application.", + "httpMethod": "GET", + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "ListIngressRulesResponse" + }, + "parameters": { + "pageSize": { + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer", + "location": "query" + }, + "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": { + "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 + } + }, + "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", + "path": "v1beta/apps/{appsId}/firewall/ingressRules", + "id": "appengine.apps.firewall.ingressRules.list" + }, + "create": { + "description": "Creates a firewall rule for the application.", + "request": { + "$ref": "FirewallRule" + }, + "response": { + "$ref": "FirewallRule" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "POST", + "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", + "id": "appengine.apps.firewall.ingressRules.create", + "path": "v1beta/apps/{appsId}/firewall/ingressRules" + } + } + } + } + }, + "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": { + "locationsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Resource name for the location.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta/apps/{appsId}/locations/{locationsId}", + "id": "appengine.apps.locations.get", + "path": "v1beta/apps/{appsId}/locations/{locationsId}", + "description": "Get information about a location." + }, + "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.", + "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" + } } } } @@ -1454,11 +1458,76 @@ } }, "parameters": { - "quotaUser": { + "upload_protocol": { "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": "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" + }, + "$.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" + ] + }, + "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", @@ -1474,484 +1543,9 @@ "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.", - "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" - }, - "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\"" - } - }, - "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" - } - }, - "id": "EndpointsApiService" - }, - "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": { - "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": { - "$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": [ - "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." - ] - }, - "apiEndpoint": { - "description": "Uses API Endpoints to handle requests.", - "$ref": "ApiEndpointHandler" - }, - "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" - } - }, - "id": "UrlMap" - }, - "ApiConfigHandler": { - "type": "object", - "properties": { - "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": { - "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.", - "type": "string" - } - }, - "id": "ApiConfigHandler", - "description": "Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers." - }, - "Operation": { - "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": { - "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." - }, - "StaticFilesHandler": { - "properties": { - "httpHeaders": { - "description": "HTTP headers to use for all responses from these URLs.", - "type": "object", - "additionalProperties": { - "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" - }, - "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 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.", - "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": { - "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" - }, - "DiskUtilization": { - "type": "object", - "properties": { - "targetReadOpsPerSecond": { - "format": "int32", - "description": "Target ops read per seconds.", - "type": "integer" - }, - "targetReadBytesPerSecond": { - "format": "int32", - "description": "Target bytes read per second.", - "type": "integer" - }, - "targetWriteOpsPerSecond": { - "format": "int32", - "description": "Target ops written per second.", - "type": "integer" - }, - "targetWriteBytesPerSecond": { - "format": "int32", - "description": "Target bytes written per second.", - "type": "integer" - } - }, - "id": "DiskUtilization", - "description": "Target scaling by disk usage. Only applicable for VM runtimes." - }, - "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." - }, - "targetUtilization": { - "format": "double", - "description": "Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.", - "type": "number" - } - } - }, - "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 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" - } - }, - "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" - }, - "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", - "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", @@ -1961,18 +1555,16 @@ "type": "boolean" }, "standardEnvironmentAvailable": { - "type": "boolean", - "description": "App Engine Standard Environment is available in the given location.@OutputOnly" + "description": "App Engine Standard Environment is available in the given location.@OutputOnly", + "type": "boolean" } }, "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": { - "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." @@ -1980,11 +1572,13 @@ "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.", @@ -2005,10 +1599,13 @@ "id": "ListOperationsResponse" }, "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": { + "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.", @@ -2031,12 +1628,9 @@ "description": { "description": "An optional string description of this rule. This field has a maximum length of 100 characters.", "type": "string" - }, - "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" } - } + }, + "id": "FirewallRule" }, "OperationMetadata": { "description": "Metadata for the given google.longrunning.Operation.", @@ -2052,8 +1646,8 @@ "type": "string" }, "operationType": { - "type": "string", - "description": "Type of this operation. Deprecated, use method field instead. Example: \"create_version\".@OutputOnly" + "description": "Type of this operation. Deprecated, use method field instead. Example: \"create_version\".@OutputOnly", + "type": "string" }, "insertTime": { "format": "google-datetime", @@ -2090,15 +1684,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,13 +1703,6 @@ "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": [ @@ -2124,6 +1711,13 @@ "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": { @@ -2134,23 +1728,20 @@ "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", - "description": "SSL configuration for a DomainMapping resource.", - "type": "object" + "id": "SslSettings" }, "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,6 +1749,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" @@ -2180,25 +1776,12 @@ "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", + "description": "An Application resource contains the top-level configuration of an App Engine application. Next tag: 20", "type": "object", "properties": { - "defaultBucket": { - "description": "Google Cloud Storage bucket that can be used by this 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. Up to 20 dispatch rules can be supported.@OutputOnly", - "items": { - "$ref": "UrlDispatchRule" - }, - "type": "array" - }, "gcrDomain": { "description": "The Google Container Registry domain used for storing managed build docker images for this application.", "type": "string" @@ -2207,22 +1790,20 @@ "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" }, + "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": { - "description": "Serving status of this application.", - "type": "string", "enumDescriptions": [ "Serving status is unspecified.", "Application is serving.", @@ -2234,52 +1815,65 @@ "SERVING", "USER_DISABLED", "SYSTEM_DISABLED" - ] + ], + "description": "Serving status of this application.", + "type": "string" }, "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" + "$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" }, - "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" + }, + "defaultBucket": { + "description": "Google Cloud Storage bucket that can be used by this 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. Up to 20 dispatch rules can be supported.@OutputOnly", + "items": { + "$ref": "UrlDispatchRule" + }, + "type": "array" } }, "id": "Application" }, "Network": { - "description": "Extra network settings. Only applicable for VM runtimes.", + "description": "Extra network settings. Only applicable for App Engine flexible environment versions", "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" @@ -2288,6 +1882,19 @@ "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", "type": "object", "properties": { + "vmDebugEnabled": { + "description": "Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "boolean" + }, + "requests": { + "format": "int32", + "description": "Number of requests since this instance was started.@OutputOnly", + "type": "integer" + }, + "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 +1905,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,17 +1921,17 @@ "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": { - "type": "string", "format": "int64", - "description": "Total memory in use (bytes).@OutputOnly" + "description": "Total memory in use (bytes).@OutputOnly", + "type": "string" }, - "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" }, "errors": { @@ -2333,7 +1940,6 @@ "type": "integer" }, "availability": { - "type": "string", "enumDescriptions": [ "", "", @@ -2344,7 +1950,8 @@ "RESIDENT", "DYNAMIC" ], - "description": "Availability of the instance.@OutputOnly" + "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", @@ -2354,19 +1961,6 @@ "format": "google-datetime", "description": "Time that this instance was started.@OutputOnly", "type": "string" - }, - "vmDebugEnabled": { - "description": "Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "boolean" - }, - "requests": { - "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" @@ -2375,14 +1969,29 @@ "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances.", "type": "object", "properties": { + "timeout": { + "format": "google-duration", + "description": "Time before the check is considered failed.", + "type": "string" + }, + "failureThreshold": { + "format": "uint32", + "description": "Number of consecutive failed checks required before considering the VM unhealthy.", + "type": "integer" + }, + "initialDelay": { + "format": "google-duration", + "description": "The initial delay before starting to execute the checks.", + "type": "string" + }, "path": { - "type": "string", - "description": "The request 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\"", @@ -2392,21 +2001,6 @@ "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" } }, "id": "LivenessCheck" @@ -2426,14 +2020,18 @@ "id": "BatchUpdateIngressRulesRequest" }, "NetworkUtilization": { - "id": "NetworkUtilization", "description": "Target scaling by network usage. Only applicable for VM runtimes.", "type": "object", "properties": { - "targetSentBytesPerSecond": { - "type": "integer", + "targetReceivedPacketsPerSecond": { "format": "int32", - "description": "Target bytes sent per second." + "description": "Target packets received per second.", + "type": "integer" + }, + "targetSentBytesPerSecond": { + "format": "int32", + "description": "Target bytes sent per second.", + "type": "integer" }, "targetReceivedBytesPerSecond": { "format": "int32", @@ -2444,19 +2042,21 @@ "format": "int32", "description": "Target packets sent per second.", "type": "integer" - }, - "targetReceivedPacketsPerSecond": { - "format": "int32", - "description": "Target packets received per second.", - "type": "integer" } - } + }, + "id": "NetworkUtilization" }, "Location": { - "id": "Location", "description": "A resource that represents Google Cloud Platform location.", "type": "object", "properties": { + "labels": { + "description": "Cross-service attributes for the location. For example\n{\"cloud.googleapis.com/region\": \"us-east1\"}\n", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, "name": { "description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"", "type": "string" @@ -2472,34 +2072,14 @@ }, "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" } - } + }, + "id": "Location" }, "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": { - "timeout": { - "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" - }, "host": { "description": "Host header to send when performing an HTTP health check. Example: \"myapp.appspot.com\"", "type": "string" @@ -2518,18 +2098,31 @@ "format": "google-duration", "description": "Interval between health checks.", "type": "string" + }, + "timeout": { + "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" }, "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 +2130,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.", @@ -2547,23 +2145,37 @@ "type": "string" }, "host": { - "type": "string", - "description": "Host header to send when performing a HTTP Readiness check. Example: \"myapp.appspot.com\"" + "description": "Host header to send when performing a HTTP Readiness check. Example: \"myapp.appspot.com\"", + "type": "string" }, "successThreshold": { - "type": "integer", "format": "uint32", - "description": "Number of consecutive successful checks required before receiving traffic." - }, - "checkInterval": { - "format": "google-duration", - "description": "Interval between health checks.", + "description": "Number of consecutive successful checks required before receiving traffic.", + "type": "integer" + } + }, + "id": "ReadinessCheck" + }, + "DebugInstanceRequest": { + "description": "Request message for Instances.DebugInstance.", + "type": "object", + "properties": { + "sshKey": { + "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" }, "StandardSchedulerSettings": { + "description": "Scheduler settings for standard environment.", + "type": "object", "properties": { + "targetCpuUtilization": { + "format": "double", + "description": "Target CPU utilization ratio to maintain when scaling.", + "type": "number" + }, "targetThroughputUtilization": { "format": "double", "description": "Target throughput utilization ratio to maintain when scaling", @@ -2578,33 +2190,17 @@ "format": "int32", "description": "Minimum number of instances for an app version. Set to a non-positive value (0 by convention) to disable min_instances configuration.", "type": "integer" - }, - "targetCpuUtilization": { - "format": "double", - "description": "Target CPU utilization ratio to maintain when scaling.", - "type": "number" } }, - "id": "StandardSchedulerSettings", - "description": "Scheduler settings for standard environment.", - "type": "object" - }, - "DebugInstanceRequest": { - "type": "object", - "properties": { - "sshKey": { - "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", - "description": "Request message for Instances.DebugInstance." + "id": "StandardSchedulerSettings" }, "OperationMetadataV1Beta5": { + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object", "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", @@ -2625,45 +2221,15 @@ "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": { - "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." - }, - "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" - }, - "vm": { - "description": "Whether to deploy this version in a container on a virtual machine.", - "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.", @@ -2684,8 +2250,8 @@ "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" + "$ref": "Deployment", + "description": "Code and application artifacts that make up this version.Only returned in GET requests if view=FULL is set." }, "createTime": { "format": "google-datetime", @@ -2706,6 +2272,7 @@ ], "description": "Before an application can receive email or XMPP messages, the application must be configured to enable the service.", "items": { + "type": "string", "enum": [ "INBOUND_SERVICE_UNSPECIFIED", "INBOUND_SERVICE_MAIL", @@ -2716,8 +2283,7 @@ "INBOUND_SERVICE_XMPP_PRESENCE", "INBOUND_SERVICE_CHANNEL_PRESENCE", "INBOUND_SERVICE_WARMUP" - ], - "type": "string" + ] }, "type": "array" }, @@ -2756,14 +2322,14 @@ "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 +2342,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.", @@ -2813,6 +2379,34 @@ "threadsafe": { "description": "Whether multiple requests can be dispatched to this version at once.", "type": "boolean" + }, + "readinessCheck": { + "$ref": "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." + }, + "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." + }, + "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" + }, + "versionUrl": { + "description": "Serving URL for this version. Example: \"https://myversion-dot-myservice-dot-myapp.appspot.com\"@OutputOnly", + "type": "string" } }, "id": "Version" @@ -2823,13 +2417,24 @@ "properties": {}, "id": "RepairApplicationRequest" }, + "BuildInfo": { + "description": "Google Cloud Container Builder build information.", + "type": "object", + "properties": { + "cloudBuildId": { + "description": "The Google Cloud Container Builder build id. Example: \"f966068f-08b2-42c8-bdfe-74137dff2bf9\"", + "type": "string" + } + }, + "id": "BuildInfo" + }, "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", @@ -2838,29 +2443,9 @@ }, "id": "CertificateRawData" }, - "BuildInfo": { - "id": "BuildInfo", - "description": "Google Cloud Container Builder build information.", - "type": "object", - "properties": { - "cloudBuildId": { - "description": "The Google Cloud Container Builder build id. Example: \"f966068f-08b2-42c8-bdfe-74137dff2bf9\"", - "type": "string" - } - } - }, - "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.", @@ -2875,9 +2460,18 @@ "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" + }, + "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": { "description": "Metadata for the given google.longrunning.Operation.", @@ -2912,13 +2506,13 @@ "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": { + "description": "Fully qualified domain name of the domain authorized for use. Example: example.com.", + "type": "string" } }, "id": "AuthorizedDomain" @@ -2928,14 +2522,20 @@ "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." + "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": { + "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", @@ -2943,42 +2543,15 @@ "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." - ] + "type": "string" } }, "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" @@ -2991,19 +2564,58 @@ "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": "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" }, "ListIngressRulesResponse": { "description": "Response message for Firewall.ListIngressRules.", "type": "object", "properties": { "ingressRules": { + "description": "The ingress FirewallRules for this application.", "items": { "$ref": "FirewallRule" }, - "type": "array", - "description": "The ingress FirewallRules for this application." + "type": "array" }, "nextPageToken": { "description": "Continuation token for fetching the next page of results.", @@ -3012,50 +2624,6 @@ }, "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", @@ -3085,19 +2653,31 @@ }, "id": "Resources" }, - "BatchUpdateIngressRulesResponse": { + "Deployment": { + "description": "Code and application artifacts used to deploy a version to App Engine.", "type": "object", "properties": { - "ingressRules": { - "description": "The full list of ingress FirewallRules for this application.", - "items": { - "$ref": "FirewallRule" - }, - "type": "array" + "zip": { + "description": "The zip file for this deployment, if this is a zip deployment.", + "$ref": "ZipInfo" + }, + "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": { + "$ref": "BuildInfo", + "description": "Google Cloud Container Builder build information." + }, + "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" + } } }, - "id": "BatchUpdateIngressRulesResponse", - "description": "Response message for Firewall.UpdateAllIngressRules." + "id": "Deployment" }, "Volume": { "description": "Volumes mounted within the app container. Only applicable for VM runtimes.", @@ -3119,6 +2699,20 @@ }, "id": "Volume" }, + "BatchUpdateIngressRulesResponse": { + "description": "Response message for Firewall.UpdateAllIngressRules.", + "type": "object", + "properties": { + "ingressRules": { + "description": "The full list of ingress FirewallRules for this application.", + "items": { + "$ref": "FirewallRule" + }, + "type": "array" + } + }, + "id": "BatchUpdateIngressRulesResponse" + }, "ListInstancesResponse": { "description": "Response message for Instances.ListInstances.", "type": "object", @@ -3141,42 +2735,36 @@ "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" - }, - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string" } }, "id": "ListDomainMappingsResponse" }, "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": { - "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": { - "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": { - "type": "string", "format": "google-datetime", - "description": "Time that this operation completed.@OutputOnly" + "description": "Time that this operation completed.@OutputOnly", + "type": "string" }, "warning": { "description": "Durable messages that persist on every operation poll. @OutputOnly", @@ -3189,11 +2777,17 @@ "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", - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object" + "id": "OperationMetadataV1Alpha" }, "UrlDispatchRule": { "description": "Rules to match an HTTP request and dispatch that request to a service.", @@ -3215,7 +2809,6 @@ "id": "UrlDispatchRule" }, "ListVersionsResponse": { - "id": "ListVersionsResponse", "description": "Response message for Versions.ListVersions.", "type": "object", "properties": { @@ -3230,7 +2823,8 @@ "description": "Continuation token for fetching the next page of results.", "type": "string" } - } + }, + "id": "ListVersionsResponse" }, "ListAuthorizedDomainsResponse": { "description": "Response message for AuthorizedDomains.ListAuthorizedDomains.", @@ -3250,6 +2844,23 @@ }, "id": "ListAuthorizedDomainsResponse" }, + "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" + }, + "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" + }, "DomainMapping": { "description": "A domain serving an App Engine application.", "type": "object", @@ -3276,40 +2887,29 @@ }, "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": { + "ZipInfo": { + "description": "The zip file information for a zip deployment.", "type": "object", "properties": { - "scriptPath": { - "description": "Path to the script from the application root directory.", + "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": "ApiEndpointHandler", - "description": "Uses Google Cloud Endpoints to handle requests." + "id": "ZipInfo" }, "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." + "description": "Target scaling by network usage.", + "$ref": "NetworkUtilization" }, "maxConcurrentRequests": { "format": "int32", @@ -3327,21 +2927,21 @@ "type": "string" }, "cpuUtilization": { - "$ref": "CpuUtilization", - "description": "Target scaling by CPU usage." + "description": "Target scaling by CPU usage.", + "$ref": "CpuUtilization" }, "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." + "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.", + "type": "string" }, "standardSchedulerSettings": { - "$ref": "StandardSchedulerSettings", - "description": "Scheduler settings for standard environment." + "description": "Scheduler settings for standard environment.", + "$ref": "StandardSchedulerSettings" }, "maxIdleInstances": { "format": "int32", @@ -3356,41 +2956,50 @@ "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" } }, "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": { + "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": { - "description": "The SSL certificate serving the AuthorizedCertificate resource. This must be obtained independently from a certificate authority.", - "$ref": "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 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" }, @@ -3404,31 +3013,14 @@ "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" } - } + }, + "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": { "description": "Resource record type. Example: AAAA.", "type": "string", @@ -3446,26 +3038,438 @@ "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" } }, - "id": "ResourceRecord", - "description": "A DNS resource record.", - "type": "object" + "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" + }, + "name": { + "description": "Name of the library. Example: \"django\".", + "type": "string" } }, "id": "Library" + }, + "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" + }, + "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" + }, + "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" + }, + "targetRequestCountPerSecond": { + "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": { + "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": { + "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": "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": { + "description": "Uses API Endpoints to handle requests.", + "$ref": "ApiEndpointHandler" + }, + "staticFiles": { + "description": "Returns the contents of a file, such as an image, as the response.", + "$ref": "StaticFilesHandler" + }, + "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" + ] + } + }, + "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": { + "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": { + "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": { + "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" + }, + "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" + }, + "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 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": { + "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" + }, + "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" + }, + "DiskUtilization": { + "description": "Target scaling by disk usage. Only applicable for VM runtimes.", + "type": "object", + "properties": { + "targetWriteOpsPerSecond": { + "format": "int32", + "description": "Target ops written per second.", + "type": "integer" + }, + "targetWriteBytesPerSecond": { + "format": "int32", + "description": "Target bytes written per second.", + "type": "integer" + }, + "targetReadOpsPerSecond": { + "format": "int32", + "description": "Target ops read per seconds.", + "type": "integer" + }, + "targetReadBytesPerSecond": { + "format": "int32", + "description": "Target bytes 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" + }, + "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": { + "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" + }, + "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": { + "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" } }, "protocol": "rest", @@ -3490,10 +3494,15 @@ } } }, - "servicePath": "", - "description": "The App Engine Admin API enables developers to provision and manage their App Engine applications.", "kind": "discovery#restDescription", + "description": "The App Engine Admin API enables developers to provision and manage their App Engine applications.", + "servicePath": "", "rootUrl": "https://appengine.googleapis.com/", "basePath": "", - "ownerDomain": "google.com" + "ownerDomain": "google.com", + "name": "appengine", + "batchPath": "batch", + "id": "appengine:v1beta", + "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", + "revision": "20170824" } 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 eec6b80..1fc8c0c 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 @@ -459,8 +459,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 @@ -1995,16 +1995,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 +2025,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 @@ -2898,8 +2901,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 +3260,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 +4452,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 +4582,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 +8741,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 +8866,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 21606f0..28cebbb 100644 --- a/vendor/google.golang.org/api/appengine/v1beta4/appengine-api.json +++ b/vendor/google.golang.org/api/appengine/v1beta4/appengine-api.json @@ -1,244 +1,210 @@ { - "discoveryVersion": "v1", - "ownerName": "Google", "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" - ], - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the Application resource to update. Example: apps/myapp.", - "type": "string", - "required": true - }, - "mask": { - "location": "query", - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated.", - "type": "string" - } - }, - "flatPath": "v1beta4/apps/{appsId}", - "path": "v1beta4/apps/{appsId}", - "id": "appengine.apps.patch" - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "appsId" - ], - "response": { - "$ref": "Application" - }, - "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.", - "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": "v1beta4/apps/{appsId}", - "path": "v1beta4/apps/{appsId}", - "id": "appengine.apps.get", - "description": "Gets information about an application." - }, - "create": { - "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" - } - } - }, "resources": { "modules": { - "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" - ], - "response": { - "$ref": "Operation" - }, - "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/cloud-platform" - ] - }, - "patch": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId", - "modulesId" - ], - "httpMethod": "PATCH", - "parameters": { - "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/modules/default.", - "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", - "location": "query" - }, - "mask": { - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated.", - "type": "string", - "location": "query" - }, - "modulesId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "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.", - "request": { - "$ref": "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" - ], - "parameters": { - "pageToken": { - "type": "string", - "location": "query", - "description": "Continuation token for fetching the next page of results." - }, - "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" - } - }, - "flatPath": "v1beta4/apps/{appsId}/modules", - "path": "v1beta4/apps/{appsId}/modules", - "id": "appengine.apps.modules.list" - }, - "get": { - "parameterOrder": [ - "appsId", - "modulesId" - ], - "response": { - "$ref": "Module" - }, - "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/modules/default.", - "type": "string", - "required": true - }, - "modulesId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - } - }, - "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." - } - }, "resources": { "versions": { + "resources": { + "instances": { + "methods": { + "delete": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "modulesId", + "versionsId", + "instancesId" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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/modules/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 + }, + "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}", + "description": "Stops a running instance." + }, + "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", + "modulesId", + "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 `name`. Name of the resource requested. Example: apps/myapp/modules/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 `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "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", + "id": "appengine.apps.modules.versions.instances.list", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances" + }, + "get": { + "response": { + "$ref": "Instance" + }, + "parameterOrder": [ + "appsId", + "modulesId", + "versionsId", + "instancesId" + ], + "httpMethod": "GET", + "parameters": { + "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/modules/default/versions/v1/instances/instance-1.", + "type": "string", + "required": true + }, + "versionsId": { + "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}", + "id": "appengine.apps.modules.versions.instances.get", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/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", + "modulesId", + "versionsId", + "instancesId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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/modules/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" + }, + "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}:debug", + "id": "appengine.apps.modules.versions.instances.debug", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}:debug" + } + } + } + }, "methods": { "delete": { + "description": "Deletes an existing version.", "response": { "$ref": "Operation" }, @@ -256,16 +222,16 @@ "required": true }, "versionsId": { - "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" + }, + "modulesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true } }, "scopes": [ @@ -273,10 +239,13 @@ ], "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." + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}" }, "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.", "httpMethod": "PATCH", "parameterOrder": [ "appsId", @@ -303,64 +272,10 @@ "type": "string" }, "versionsId": { + "description": "Part of `name`. See documentation of `appsId`.", "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`." - } - }, - "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." - }, - "list": { - "id": "appengine.apps.modules.versions.list", - "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions", - "description": "Lists the versions of a module.", - "response": { - "$ref": "ListVersionsResponse" - }, - "parameterOrder": [ - "appsId", - "modulesId" - ], - "httpMethod": "GET", - "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", - "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" + "location": "path" }, "modulesId": { "location": "path", @@ -369,26 +284,73 @@ "required": true } }, + "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}", + "id": "appengine.apps.modules.versions.patch" + }, + "list": { + "description": "Lists the versions of a module.", + "httpMethod": "GET", + "parameterOrder": [ + "appsId", + "modulesId" + ], + "response": { + "$ref": "ListVersionsResponse" + }, + "parameters": { + "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/modules/default.", + "type": "string", + "required": true + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer" + }, + "view": { + "description": "Controls the set of fields returned in the List response.", + "type": "string", + "location": "query", + "enum": [ + "BASIC", + "FULL" + ] + }, + "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" + "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions", + "id": "appengine.apps.modules.versions.list" }, "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" - }, "parameters": { "appsId": { "location": "path", @@ -406,10 +368,10 @@ "location": "query" }, "versionsId": { - "type": "string", - "required": true, "location": "path", - "description": "Part of `name`. See documentation of `appsId`." + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true }, "modulesId": { "location": "path", @@ -423,256 +385,100 @@ "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}", + "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." }, "create": { - "description": "Deploys code and resource files to a new version.", + "id": "appengine.apps.modules.versions.create", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions", "request": { "$ref": "Version" }, - "httpMethod": "POST", + "description": "Deploys code and resource files to a new version.", + "response": { + "$ref": "Operation" + }, "parameterOrder": [ "appsId", "modulesId" ], - "response": { - "$ref": "Operation" - }, + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { - "modulesId": { - "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/modules/default.", "type": "string", "required": true, "location": "path" + }, + "modulesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions", - "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions", - "id": "appengine.apps.modules.versions.create" - } - }, - "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" - }, - "parameterOrder": [ - "appsId", - "modulesId", - "versionsId" - ], - "httpMethod": "GET", - "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", - "description": "Maximum results to return per page.", - "type": "integer" - }, - "versionsId": { - "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" - ] - }, - "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.", - "response": { - "$ref": "Instance" - }, - "parameterOrder": [ - "appsId", - "modulesId", - "versionsId", - "instancesId" - ], - "httpMethod": "GET", - "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/modules/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 - }, - "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" - ] - }, - "debug": { - "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", - "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", - "modulesId", - "versionsId", - "instancesId" - ], - "httpMethod": "POST", - "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", - "required": true, - "location": "path" - }, - "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" - } - } - } - } + "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions" } } } - } - }, - "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.", + "patch": { + "id": "appengine.apps.modules.patch", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}", + "description": "Updates the configuration of the specified module.", + "request": { + "$ref": "Module" + }, "response": { "$ref": "Operation" }, "parameterOrder": [ "appsId", - "operationsId" + "modulesId" + ], + "httpMethod": "PATCH", + "parameters": { + "appsId": { + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/modules/default.", + "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/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.", + "type": "string", + "location": "query" + }, + "modulesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}" + }, + "list": { + "response": { + "$ref": "ListModulesResponse" + }, + "parameterOrder": [ + "appsId" ], "httpMethod": "GET", "scopes": [ @@ -681,27 +487,145 @@ "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 `name`. The name of the operation resource.", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp.", "type": "string", "required": true }, - "operationsId": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer" + } + }, + "flatPath": "v1beta4/apps/{appsId}/modules", + "id": "appengine.apps.modules.list", + "path": "v1beta4/apps/{appsId}/modules", + "description": "Lists all the modules in the application." + }, + "get": { + "id": "appengine.apps.modules.get", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}", + "description": "Gets the current configuration of the specified module.", + "response": { + "$ref": "Module" + }, + "parameterOrder": [ + "appsId", + "modulesId" + ], + "httpMethod": "GET", + "parameters": { + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default.", + "type": "string", + "required": true, + "location": "path" + }, + "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}" + }, + "delete": { + "description": "Deletes the specified module and all enclosed versions.", + "httpMethod": "DELETE", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "modulesId" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "modulesId": { + "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/modules/default.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}", + "id": "appengine.apps.modules.delete" + } + } + }, + "operations": { + "methods": { + "get": { + "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": { + "operationsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "description": "Part of `name`. The name of the operation resource.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta4/apps/{appsId}/operations/{operationsId}", + "path": "v1beta4/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": { + "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" + ], "parameters": { - "filter": { - "location": "query", - "description": "The standard list filter.", - "type": "string" - }, "pageToken": { "description": "The standard list page token.", "type": "string", @@ -718,63 +642,58 @@ "format": "int32", "description": "The standard list page size.", "type": "integer" + }, + "filter": { + "location": "query", + "description": "The standard list filter.", + "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": "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" - } + "id": "appengine.apps.operations.list" } } }, "locations": { "methods": { "get": { - "response": { - "$ref": "Location" - }, + "flatPath": "v1beta4/apps/{appsId}/locations/{locationsId}", + "path": "v1beta4/apps/{appsId}/locations/{locationsId}", + "id": "appengine.apps.locations.get", + "description": "Get information about a location.", + "httpMethod": "GET", "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" - ], + "response": { + "$ref": "Location" + }, "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 + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Resource name for the location.", + "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." + "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": "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" @@ -783,12 +702,13 @@ "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": { + "format": "int32", + "description": "The standard list page size.", + "type": "integer", + "location": "query" + }, "filter": { "location": "query", "description": "The standard list filter.", @@ -800,59 +720,116 @@ "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" + "required": true, + "location": "path" } }, - "flatPath": "v1beta4/apps/{appsId}/locations", - "id": "appengine.apps.locations.list", - "path": "v1beta4/apps/{appsId}/locations" + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] } } } + }, + "methods": { + "create": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "flatPath": "v1beta4/apps", + "id": "appengine.apps.create", + "path": "v1beta4/apps", + "request": { + "$ref": "Application" + }, + "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/)." + }, + "patch": { + "flatPath": "v1beta4/apps/{appsId}", + "id": "appengine.apps.patch", + "path": "v1beta4/apps/{appsId}", + "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)", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "mask": { + "location": "query", + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string" + }, + "appsId": { + "description": "Part of `name`. Name of the Application resource to update. Example: apps/myapp.", + "type": "string", + "required": true, + "location": "path" + } + } + }, + "get": { + "description": "Gets information about an application.", + "httpMethod": "GET", + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "Application" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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.", + "type": "boolean" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the application to get. Example: apps/myapp.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta4/apps/{appsId}", + "path": "v1beta4/apps/{appsId}", + "id": "appengine.apps.get" + } } } }, "parameters": { - "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" - }, - "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": { "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", - "description": "Returns response with indentations and line breaks." + "location": "query" }, "uploadType": { "location": "query", @@ -870,20 +847,19 @@ "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", @@ -896,32 +872,59 @@ "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" + "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": { + "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" } }, "schemas": { "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": { + "apiEndpoint": { + "description": "Uses API Endpoints to handle requests.", + "$ref": "ApiEndpointHandler" + }, + "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": { + "description": "Returns the contents of a file, such as an image, as the response.", + "$ref": "StaticFilesHandler" + }, "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", @@ -929,9 +932,19 @@ "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." + "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." + ] }, "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.", @@ -945,9 +958,7 @@ "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS" - ], - "description": "Security (HTTPS) enforcement for this URL.", - "type": "string" + ] }, "authFailAction": { "enumDescriptions": [ @@ -964,16 +975,14 @@ "type": "string" }, "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": "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.", @@ -985,63 +994,17 @@ "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." + ], + "description": "Level of login required to access this resource.", + "type": "string" } }, - "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." + "id": "UrlMap" }, "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": { - "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" @@ -1061,19 +1024,50 @@ ], "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": { + "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" + ] } }, - "id": "ApiConfigHandler", - "description": "Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers." + "id": "ApiConfigHandler" }, "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.", @@ -1087,16 +1081,20 @@ "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.", + "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 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" } }, "id": "Operation" @@ -1105,6 +1103,10 @@ "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": { + "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" @@ -1112,24 +1114,12 @@ "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" @@ -1144,15 +1134,23 @@ "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.", "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" } }, "id": "StaticFilesHandler", @@ -1160,15 +1158,15 @@ "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", - "description": "Executes a script to handle the request that matches the URL pattern.", - "type": "object" + "id": "ScriptHandler" }, "DiskUtilization": { "description": "Target scaling by disk usage. Only applicable for VM runtimes.", @@ -1201,15 +1199,15 @@ "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": { + "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" - }, - "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" @@ -1218,6 +1216,16 @@ "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" + }, + "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" @@ -1229,16 +1237,6 @@ "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" @@ -1260,34 +1258,8 @@ }, "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": { + "description": "Identity-Aware Proxy", "type": "object", "properties": { "enabled": { @@ -1299,16 +1271,71 @@ "type": "string" }, "oauth2ClientId": { - "type": "string", - "description": "OAuth2 client ID to use for the authentication flow." + "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" + "id": "IdentityAwareProxy" + }, + "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 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" + } + }, + "id": "Status" + }, + "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": { + "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" }, "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.", @@ -1322,46 +1349,17 @@ }, "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" + }, + "standardEnvironmentAvailable": { + "description": "App Engine Standard Environment is available in the given location.@OutputOnly", + "type": "boolean" } }, "id": "LocationMetadata" @@ -1370,15 +1368,6 @@ "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": { @@ -1402,6 +1391,15 @@ "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" @@ -1428,6 +1426,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 +1441,23 @@ "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,21 +1472,18 @@ "format": "double", "description": "Number of CPU cores needed.", "type": "number" - }, - "volumes": { - "description": "User specified volumes.", - "items": { - "$ref": "Volume" - }, - "type": "array" } - } + }, + "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.", @@ -1491,47 +1492,32 @@ "name": { "description": "Unique name for the volume.", "type": "string" - }, - "volumeType": { - "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" - }, - "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" @@ -1544,68 +1530,40 @@ "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" + }, + "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" } }, - "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.", - "type": "string" - }, "instances": { "description": "The instances belonging to the requested version.", "items": { "$ref": "Instance" }, "type": "array" - } - } - }, - "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": { - "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", + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", "type": "string" } - } + }, + "id": "ListInstancesResponse" }, "ErrorHandler": { "description": "Custom static error page to be served when an error occurs.", @@ -1640,8 +1598,47 @@ }, "id": "ErrorHandler" }, + "OperationMetadataV1": { + "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.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": { + "type": "string" + }, + "type": "array" + }, + "insertTime": { + "format": "google-datetime", + "description": "Time that this operation was created.@OutputOnly", + "type": "string" + } + }, + "id": "OperationMetadataV1", + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object" + }, "OperationMetadataV1Alpha": { - "id": "OperationMetadataV1Alpha", "description": "Metadata for the given google.longrunning.Operation.", "type": "object", "properties": { @@ -1657,17 +1654,17 @@ }, "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" }, + "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" + "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,15 +1675,16 @@ "description": "Time that this operation completed.@OutputOnly", "type": "string" } - } + }, + "id": "OperationMetadataV1Alpha" }, "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." + "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.", @@ -1703,10 +1701,35 @@ "id": "Network" }, "Application": { - "id": "Application", "description": "An Application resource contains the top-level configuration of an App Engine application.", "type": "object", "properties": { + "defaultBucket": { + "description": "Google Cloud Storage bucket that can be used by this application to store content.@OutputOnly", + "type": "string" + }, + "dispatchRules": { + "description": "HTTP path dispatch rules for requests to the application that do not explicitly target a module 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" + }, + "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" + }, "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" @@ -1723,34 +1746,9 @@ "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": "Google Cloud Storage bucket that can be used by this application to store content.@OutputOnly", - "type": "string" - }, - "dispatchRules": { - "description": "HTTP path dispatch rules for requests to the application that do not explicitly target a module or version. Rules are order-dependent.@OutputOnly", - "items": { - "$ref": "UrlDispatchRule" - }, - "type": "array" - }, - "defaultHostname": { - "type": "string", - "description": "Hostname used to reach the application, as resolved by App Engine.@OutputOnly" - }, - "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" } - } + }, + "id": "Application" }, "UrlDispatchRule": { "description": "Rules to match an HTTP request and dispatch that request to a module.", @@ -1761,8 +1759,8 @@ "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." + "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: \"*\".", @@ -1773,29 +1771,6 @@ }, "Instance": { "properties": { - "errors": { - "type": "integer", - "format": "uint32", - "description": "Number of errors since this instance was started.@OutputOnly" - }, - "availability": { - "description": "Availability of the instance.@OutputOnly", - "type": "string", - "enumDescriptions": [ - "", - "", - "" - ], - "enum": [ - "UNSPECIFIED", - "RESIDENT", - "DYNAMIC" - ] - }, - "vmStatus": { - "description": "Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "string" - }, "requests": { "format": "int32", "description": "Number of requests since this instance was started.@OutputOnly", @@ -1814,34 +1789,34 @@ "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", + "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", + "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" }, + "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" }, - "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": { @@ -1849,15 +1824,57 @@ "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" + "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", + "type": "string" + }, + "availability": { + "enumDescriptions": [ + "", + "", + "" + ], + "enum": [ + "UNSPECIFIED", + "RESIDENT", + "DYNAMIC" + ], + "description": "Availability of the instance.@OutputOnly", + "type": "string" + }, + "errors": { + "format": "uint32", + "description": "Number of errors since this instance was started.@OutputOnly", + "type": "integer" } }, "id": "Instance", "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", "type": "object" }, + "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.", + "type": "object", + "properties": { + "name": { + "description": "Full path to the Module resource in the API. Example: apps/myapp/modules/default.@OutputOnly", + "type": "string" + }, + "split": { + "$ref": "TrafficSplit", + "description": "Mapping that defines fractional HTTP traffic diversion to different versions within the module." + }, + "id": { + "description": "Relative name of the module within the application. Example: default.@OutputOnly", + "type": "string" + } + }, + "id": "Module" + }, "ListVersionsResponse": { "description": "Response message for Versions.ListVersions.", "type": "object", @@ -1876,25 +1893,6 @@ }, "id": "ListVersionsResponse" }, - "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.", - "type": "object", - "properties": { - "split": { - "description": "Mapping that defines fractional HTTP traffic diversion to different versions within the module.", - "$ref": "TrafficSplit" - }, - "id": { - "description": "Relative name of the module within the application. Example: default.@OutputOnly", - "type": "string" - }, - "name": { - "description": "Full path to the Module resource in the API. Example: apps/myapp/modules/default.@OutputOnly", - "type": "string" - } - }, - "id": "Module" - }, "ApiEndpointHandler": { "description": "Uses Google Cloud Endpoints to handle requests.", "type": "object", @@ -1910,11 +1908,6 @@ "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", "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 directory 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" @@ -1935,8 +1928,13 @@ "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" + }, + "expiration": { + "format": "google-duration", + "description": "Time a static file served by this handler should be cached.", + "type": "string" } }, "id": "StaticDirectoryHandler" @@ -1945,34 +1943,6 @@ "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." @@ -1982,15 +1952,15 @@ "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.", "type": "string" }, + "requestUtilization": { + "description": "Target scaling by request utilization.", + "$ref": "RequestUtilization" + }, "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.", @@ -2000,18 +1970,72 @@ "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" + }, + "cpuUtilization": { + "description": "Target scaling by CPU usage.", + "$ref": "CpuUtilization" } }, "id": "AutomaticScaling" }, - "NetworkUtilization": { + "Location": { + "description": "A resource that represents Google Cloud Platform location.", "type": "object", "properties": { - "targetReceivedBytesPerSec": { - "format": "int32", - "description": "Target bytes received per second.", - "type": "integer" + "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" + }, + "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" + }, + "NetworkUtilization": { + "description": "Target scaling by network usage. Only applicable for VM runtimes.", + "type": "object", + "properties": { "targetSentPacketsPerSec": { "format": "int32", "description": "Target packets sent per second.", @@ -2026,45 +2050,39 @@ "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." - }, - "Location": { - "type": "object", - "properties": { - "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" - }, - "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": "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.", "type": "object", "properties": { + "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" + }, + "timeout": { + "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.", @@ -2077,26 +2095,6 @@ "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.", - "type": "string" } }, "id": "HealthCheck" @@ -2106,8 +2104,8 @@ "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" @@ -2116,13 +2114,13 @@ "description": "Reference to a particular snapshot of the source tree used to build and deploy the application.", "type": "object", "properties": { - "revisionId": { - "description": "The canonical, persistent identifier of the deployed revision. Aliases that include tags or branch names are not allowed. Example (git): \"2198322f89e0bb2e25021667c2ed489d1fd34e6b\"", - "type": "string" - }, "repository": { "description": "URI string identifying the repository. Example: \"https://source.developers.google.com/p/app-123/r/default\"", "type": "string" + }, + "revisionId": { + "description": "The canonical, persistent identifier of the deployed revision. Aliases that include tags or branch names are not allowed. Example (git): \"2198322f89e0bb2e25021667c2ed489d1fd34e6b\"", + "type": "string" } }, "id": "SourceReference" @@ -2131,6 +2129,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 +2150,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" @@ -2160,13 +2158,13 @@ "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": { "description": "Name of the library. Example: \"django\".", "type": "string" + }, + "version": { + "description": "Version of the library to select, or \"latest\".", + "type": "string" } }, "id": "Library" @@ -2175,32 +2173,86 @@ "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" }, - "Version": { - "id": "Version", - "description": "A Version resource is a specific set of source code and configuration files that are deployed into a module.", + "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": { + "properties": { + "network": { + "$ref": "Network", + "description": "Extra network settings. Only applicable for VM runtimes." + }, + "betaSettings": { + "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 to use for this version.Defaults to 1.", + "type": "string" + }, + "handlers": { + "description": "An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set.", + "items": { + "$ref": "UrlMap" + }, + "type": "array" + }, + "deployer": { + "description": "Email address of the user who created this version.@OutputOnly", + "type": "string" + }, + "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." + "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" }, "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.", @@ -2220,21 +2272,17 @@ "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" - }, "deployment": { - "$ref": "Deployment", - "description": "Code and application artifacts that make up this version.Only returned in GET requests if view=FULL is set." + "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." + "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": [ "INBOUND_SERVICE_UNSPECIFIED", "INBOUND_SERVICE_MAIL", @@ -2245,7 +2293,8 @@ "INBOUND_SERVICE_XMPP_PRESENCE", "INBOUND_SERVICE_CHANNEL_PRESENCE", "INBOUND_SERVICE_WARMUP" - ] + ], + "type": "string" }, "type": "array", "enumDescriptions": [ @@ -2258,15 +2307,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": { + "$ref": "Resources", + "description": "Machine resources for this version. Only applicable for VM runtimes." }, "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,22 +2332,22 @@ }, "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-\".", @@ -2307,65 +2359,11 @@ "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" - }, - "handlers": { - "description": "An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set.", - "items": { - "$ref": "UrlMap" - }, - "type": "array" - }, - "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", + "description": "A Version resource is a specific set of source code and configuration files that are deployed into a module.", + "type": "object" }, "RequestUtilization": { "description": "Target scaling by request utilization. Only applicable for VM runtimes.", @@ -2377,19 +2375,19 @@ "type": "integer" }, "targetRequestCountPerSec": { - "type": "integer", "format": "int32", - "description": "Target requests per second." + "description": "Target requests per second.", + "type": "integer" } }, "id": "RequestUtilization" } }, + "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": "v1beta4", "baseUrl": "https://appengine.googleapis.com/", "auth": { @@ -2415,8 +2413,10 @@ "ownerDomain": "google.com", "name": "appengine", "batchPath": "batch", - "id": "appengine:v1beta4", - "revision": "20170626", + "revision": "20170824", "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", - "title": "Google App Engine Admin API" + "id": "appengine:v1beta4", + "title": "Google App Engine Admin API", + "discoveryVersion": "v1", + "ownerName": "Google" } 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 5a7ed26..0781f5e 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 8ee616a..804ade1 100644 --- a/vendor/google.golang.org/api/appengine/v1beta5/appengine-api.json +++ b/vendor/google.golang.org/api/appengine/v1beta5/appengine-api.json @@ -1,98 +1,9 @@ { - "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" - } - } - } - }, - "kind": "discovery#restDescription", - "description": "The App Engine Admin API enables developers to provision and manage their App Engine applications.", - "servicePath": "", - "rootUrl": "https://appengine.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com", - "name": "appengine", - "batchPath": "batch", - "id": "appengine:v1beta5", - "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", - "revision": "20170626", - "title": "Google App Engine Admin API", - "discoveryVersion": "v1", "ownerName": "Google", + "discoveryVersion": "v1", "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)", - "request": { - "$ref": "Application" - }, - "httpMethod": "PATCH", - "parameterOrder": [ - "appsId" - ], - "response": { - "$ref": "Operation" - }, - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the Application resource to update. Example: apps/myapp.", - "type": "string", - "required": true - }, - "mask": { - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated.", - "type": "string", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "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": [], @@ -110,9 +21,645 @@ "request": { "$ref": "Application" } + }, + "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/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)", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the Application resource to update. Example: apps/myapp.", + "type": "string", + "required": true + }, + "mask": { + "location": "query", + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string" + } + }, + "flatPath": "v1beta5/apps/{appsId}", + "id": "appengine.apps.patch", + "path": "v1beta5/apps/{appsId}" + }, + "get": { + "description": "Gets information about an application.", + "response": { + "$ref": "Application" + }, + "httpMethod": "GET", + "parameterOrder": [ + "appsId" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "ensureResourcesExist": { + "type": "boolean", + "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." + }, + "appsId": { + "type": "string", + "required": true, + "location": "path", + "description": "Part of `name`. Name of the application to get. Example: apps/myapp." + } + }, + "flatPath": "v1beta5/apps/{appsId}", + "id": "appengine.apps.get", + "path": "v1beta5/apps/{appsId}" } }, "resources": { + "services": { + "methods": { + "delete": { + "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/cloud-platform" + ], + "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}", + "path": "v1beta5/apps/{appsId}/services/{servicesId}", + "id": "appengine.apps.services.delete", + "description": "Deletes the specified service and all enclosed versions.", + "httpMethod": "DELETE", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId" + ] + }, + "patch": { + "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}", + "id": "appengine.apps.services.patch", + "path": "v1beta5/apps/{appsId}/services/{servicesId}", + "request": { + "$ref": "Service" + }, + "description": "Updates the configuration of the specified service.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "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": { + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default.", + "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/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" + }, + "mask": { + "location": "query", + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string" + } + } + }, + "list": { + "path": "v1beta5/apps/{appsId}/services", + "id": "appengine.apps.services.list", + "description": "Lists all the services in the application.", + "httpMethod": "GET", + "parameterOrder": [ + "appsId" + ], + "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": { + "location": "path", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta5/apps/{appsId}/services" + }, + "get": { + "path": "v1beta5/apps/{appsId}/services/{servicesId}", + "id": "appengine.apps.services.get", + "description": "Gets the current configuration of the specified service.", + "httpMethod": "GET", + "parameterOrder": [ + "appsId", + "servicesId" + ], + "response": { + "$ref": "Service" + }, + "parameters": { + "servicesId": { + "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." + } + }, + "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}" + } + }, + "resources": { + "versions": { + "methods": { + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "appsId", + "servicesId" + ], + "response": { + "$ref": "Operation" + }, + "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": { + "location": "path", + "description": "Part of `name`. Name of the resource to update. For example: \"apps/myapp/services/default\".", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions", + "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." + }, + "delete": { + "description": "Deletes an existing version.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId" + ], + "httpMethod": "DELETE", + "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": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "id": "appengine.apps.services.versions.delete", + "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}" + }, + "patch": { + "id": "appengine.apps.services.versions.patch", + "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "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/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.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "appsId": { + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", + "type": "string", + "required": true, + "location": "path" + }, + "mask": { + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string", + "location": "query" + }, + "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}" + }, + "list": { + "description": "Lists the versions of a service.", + "response": { + "$ref": "ListVersionsResponse" + }, + "parameterOrder": [ + "appsId", + "servicesId" + ], + "httpMethod": "GET", + "parameters": { + "servicesId": { + "type": "string", + "required": true, + "location": "path", + "description": "Part of `name`. See documentation of `appsId`." + }, + "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" + }, + "pageSize": { + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer", + "location": "query" + }, + "view": { + "enum": [ + "BASIC", + "FULL" + ], + "description": "Controls the set of fields returned in the List response.", + "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" + ], + "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions", + "id": "appengine.apps.services.versions.list", + "path": "v1beta5/apps/{appsId}/services/{servicesId}/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", + "servicesId", + "versionsId" + ], + "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/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" + }, + "versionsId": { + "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}", + "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "id": "appengine.apps.services.versions.get" + } + }, + "resources": { + "instances": { + "methods": { + "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": { + "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 + }, + "versionsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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" + }, + "delete": { + "id": "appengine.apps.services.versions.instances.delete", + "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "description": "Stops a running instance.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId", + "instancesId" + ], + "httpMethod": "DELETE", + "parameters": { + "servicesId": { + "type": "string", + "required": true, + "location": "path", + "description": "Part of `name`. See documentation of `appsId`." + }, + "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. For example: \"apps/myapp/services/default/versions/v1/instances/instance-1\".", + "type": "string", + "required": true + }, + "versionsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}" + }, + "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", + "response": { + "$ref": "ListInstancesResponse" + }, + "parameterOrder": [ + "appsId", + "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" + ], + "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 + }, + "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/services/default/versions/v1." + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer" + } + }, + "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances", + "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances", + "id": "appengine.apps.services.versions.instances.list" + }, + "get": { + "description": "Gets instance information.", + "response": { + "$ref": "Instance" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId", + "instancesId" + ], + "httpMethod": "GET", + "parameters": { + "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 + }, + "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" + } + }, + "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/{instancesId}", + "id": "appengine.apps.services.versions.instances.get", + "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}" + } + } + } + } + } + } + }, "operations": { "methods": { "get": { @@ -124,33 +671,31 @@ "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" ], + "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": "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": { @@ -159,45 +704,46 @@ "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" + "parameters": { + "filter": { + "description": "The standard list filter.", + "type": "string", + "location": "query" + }, + "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": "v1beta5/apps/{appsId}/operations", + "path": "v1beta5/apps/{appsId}/operations", + "id": "appengine.apps.operations.list" } } }, "locations": { "methods": { "get": { - "id": "appengine.apps.locations.get", - "path": "v1beta5/apps/{appsId}/locations/{locationsId}", "description": "Get information about a location.", + "httpMethod": "GET", "response": { "$ref": "Location" }, @@ -205,7 +751,6 @@ "appsId", "locationsId" ], - "httpMethod": "GET", "parameters": { "appsId": { "location": "path", @@ -225,12 +770,11 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], - "flatPath": "v1beta5/apps/{appsId}/locations/{locationsId}" + "flatPath": "v1beta5/apps/{appsId}/locations/{locationsId}", + "path": "v1beta5/apps/{appsId}/locations/{locationsId}", + "id": "appengine.apps.locations.get" }, "list": { - "id": "appengine.apps.locations.list", - "path": "v1beta5/apps/{appsId}/locations", - "description": "Lists information about the supported locations for this service.", "response": { "$ref": "ListLocationsResponse" }, @@ -244,604 +788,33 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ], "parameters": { - "pageSize": { - "location": "query", - "format": "int32", - "description": "The standard list page size.", - "type": "integer" - }, "filter": { + "description": "The standard list filter.", "type": "string", - "location": "query", - "description": "The standard list filter." + "location": "query" }, "pageToken": { - "location": "query", "description": "The standard list page token.", - "type": "string" + "type": "string", + "location": "query" }, "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" - }, - "parameterOrder": [ - "appsId", - "servicesId" - ], - "httpMethod": "PATCH", - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default.", - "type": "string", - "required": true - }, - "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/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" - }, - "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" - } - }, - "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}" - }, - "list": { - "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": { - "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.", + "description": "The standard list page size.", "type": "integer" } }, - "flatPath": "v1beta5/apps/{appsId}/services", - "id": "appengine.apps.services.list", - "path": "v1beta5/apps/{appsId}/services", - "description": "Lists all the services in the application." - }, - "get": { - "description": "Gets the current configuration of the specified service.", - "httpMethod": "GET", - "parameterOrder": [ - "appsId", - "servicesId" - ], - "response": { - "$ref": "Service" - }, - "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" - }, - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}", - "path": "v1beta5/apps/{appsId}/services/{servicesId}", - "id": "appengine.apps.services.get" - } - }, - "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" - }, - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId" - ], - "parameters": { - "servicesId": { - "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." - }, - "versionsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "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", - "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", - "servicesId", - "versionsId" - ], - "response": { - "$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", - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1." - } - }, - "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.patch" - }, - "list": { - "response": { - "$ref": "ListVersionsResponse" - }, - "parameterOrder": [ - "appsId", - "servicesId" - ], - "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": { - "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" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Maximum results to return per page.", - "type": "integer" - } - }, - "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." - }, - "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" - }, - "parameterOrder": [ - "appsId", - "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" - ], - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", - "type": "string", - "required": true - }, - "view": { - "description": "Controls the set of fields returned in the Get response.", - "type": "string", - "location": "query", - "enum": [ - "BASIC", - "FULL" - ] - }, - "versionsId": { - "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`." - } - } - } - }, - "resources": { - "instances": { - "methods": { - "delete": { - "description": "Stops a running instance.", - "httpMethod": "DELETE", - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId", - "instancesId" - ], - "response": { - "$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`.", - "type": "string", - "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 - }, - "versionsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", - "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", - "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" - }, - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId" - ], - "httpMethod": "GET", - "parameters": { - "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/services/default/versions/v1.", - "type": "string", - "required": true - }, - "pageSize": { - "format": "int32", - "description": "Maximum results to return per page.", - "type": "integer", - "location": "query" - }, - "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" - }, - "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" - }, - "parameterOrder": [ - "appsId", - "servicesId", - "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" - ], - "response": { - "$ref": "Operation" - }, - "parameters": { - "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 - }, - "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" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug" - } - } - } - } + "flatPath": "v1beta5/apps/{appsId}/locations", + "id": "appengine.apps.locations.list", + "path": "v1beta5/apps/{appsId}/locations", + "description": "Lists information about the supported locations for this service." } } } @@ -849,27 +822,42 @@ } }, "parameters": { - "upload_protocol": { + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", "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": { + "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": "Selector specifying which fields to include in a partial response.", - "type": "string" + "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": { + "location": "query", + "description": "JSONP", + "type": "string" + }, "$.xgafv": { "enumDescriptions": [ "v1 error format", @@ -883,13 +871,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", @@ -902,12 +884,13 @@ "json", "media", "proto" - ] + ], + "type": "string" }, "access_token": { + "type": "string", "location": "query", - "description": "OAuth access token.", - "type": "string" + "description": "OAuth access token." }, "key": { "location": "query", @@ -915,1218 +898,19 @@ "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." - }, - "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": "Pretty-print response.", + "default": "true", + "type": "boolean" } }, "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", - "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" - }, - "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": { - "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": { - "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.v1.Versions.CreateVersion.@OutputOnly", - "type": "string" - } - }, - "id": "OperationMetadataV1" - }, - "ErrorHandler": { - "type": "object", - "properties": { - "mimeType": { - "description": "MIME type of file. Defaults to text/html.", - "type": "string" - }, - "errorCode": { - "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" - ], - "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." - }, - "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" - }, - "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" - }, - "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" - } - }, - "id": "OperationMetadataV1Alpha" - }, - "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": { - "type": "string", - "description": "Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path.Defaults to default." - } - }, - "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": { - "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", - "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" - }, - "vmStatus": { - "description": "Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "string" - }, - "errors": { - "format": "uint32", - "description": "Number of errors since this instance was started.@OutputOnly", - "type": "integer" - }, - "availability": { - "enumDescriptions": [ - "", - "", - "" - ], - "enum": [ - "UNSPECIFIED", - "RESIDENT", - "DYNAMIC" - ], - "description": "Availability of the instance.@OutputOnly", - "type": "string" - }, - "requests": { - "format": "int32", - "description": "Number of requests since this instance was started.@OutputOnly", - "type": "integer" - }, - "appEngineRelease": { - "description": "App Engine release this instance is running on.@OutputOnly", - "type": "string" - }, - "startTimestamp": { - "format": "google-datetime", - "description": "Time that this instance was started.@OutputOnly", - "type": "string" - } - }, - "id": "Instance", - "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", - "type": "object" - }, - "ListVersionsResponse": { - "type": "object", - "properties": { - "versions": { - "items": { - "$ref": "Version" - }, - "type": "array", - "description": "The versions belonging to the requested service." - }, - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string" - } - }, - "id": "ListVersionsResponse", - "description": "Response message for Versions.ListVersions." - }, - "ApiEndpointHandler": { - "properties": { - "scriptPath": { - "description": "Path to the script from the application root directory.", - "type": "string" - } - }, - "id": "ApiEndpointHandler", - "description": "Uses Google Cloud Endpoints to handle requests.", - "type": "object" - }, - "AutomaticScaling": { - "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." - }, - "diskUtilization": { - "description": "Target scaling by disk usage.", - "$ref": "DiskUtilization" - } - }, - "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": { - "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" - }, - "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", - "description": "A resource that represents Google Cloud Platform location." - }, - "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" - }, - "checkInterval": { - "format": "google-duration", - "description": "Interval between health checks.", - "type": "string" - }, - "timeout": { - "format": "google-duration", - "description": "Time before the health check is considered failed.", - "type": "string" - } - } - }, "SourceReference": { - "description": "Reference to a particular snapshot of the source tree used to build and deploy the application.", "type": "object", "properties": { "repository": { @@ -2138,9 +922,11 @@ "type": "string" } }, - "id": "SourceReference" + "id": "SourceReference", + "description": "Reference to a particular snapshot of the source tree used to build and deploy the application." }, "DebugInstanceRequest": { + "id": "DebugInstanceRequest", "description": "Request message for Instances.DebugInstance.", "type": "object", "properties": { @@ -2148,23 +934,7 @@ "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" - }, - "Library": { - "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", - "description": "Third-party Python runtime library that is required by the application." + } }, "OperationMetadataV1Beta5": { "description": "Metadata for the given google.longrunning.Operation.", @@ -2195,8 +965,22 @@ }, "id": "OperationMetadataV1Beta5" }, + "Library": { + "description": "Third-party Python runtime library that is required by the application.", + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the library to select, or \"latest\"." + }, + "name": { + "description": "Name of the library. Example: \"django\".", + "type": "string" + } + }, + "id": "Library" + }, "ListLocationsResponse": { - "id": "ListLocationsResponse", "description": "The response message for Locations.ListLocations.", "type": "object", "properties": { @@ -2208,77 +992,30 @@ "type": "array" }, "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" + "type": "string", + "description": "The standard List next-page token." } - } + }, + "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" - }, + } + }, + "id": "ContainerInfo" + }, + "Version": { + "properties": { "resources": { - "$ref": "Resources", - "description": "Machine resources for this version. Only applicable for VM runtimes." + "description": "Machine resources for this version. Only applicable for VM runtimes.", + "$ref": "Resources" }, "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": [ @@ -2294,7 +1031,18 @@ ], "type": "string" }, - "type": "array" + "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." + ] }, "errorHandlers": { "description": "Custom static error pages. Limited to 10KB per page.Only returned in GET requests if view=FULL is set.", @@ -2304,9 +1052,9 @@ "type": "array" }, "defaultExpiration": { + "type": "string", "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" + "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." }, "libraries": { "description": "Configuration for third-party Python runtime libraries required by the application.Only returned in GET requests if view=FULL is set.", @@ -2329,30 +1077,30 @@ "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" + "type": "string", + "description": "Desired runtime. Example: python27." }, "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": { - "type": "object", "additionalProperties": { "type": "string" }, - "description": "Environment variables made available to the application.Only returned in GET requests if view=FULL is set." + "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" + "$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 +1118,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", @@ -2379,33 +1127,1285 @@ "type": "string" }, "healthCheck": { - "$ref": "HealthCheck", - "description": "Configures health checking for VM instances. Unhealthy instances are be stopped and replaced with new instances. Only applicable for VM runtimes.Only returned in GET requests if view=FULL is set." + "description": "Configures health checking for VM instances. Unhealthy instances are be 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": { + "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": { + "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.", + "type": "string" + }, + "servingStatus": { + "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" + ], + "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" + }, + "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" } }, - "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": { + "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.", + "type": "string" + }, + "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": { + "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": { + "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" + ], + "description": "Action to take when users access resources that require authentication. Defaults to redirect." + }, + "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" + } + }, + "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." + }, + "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" + }, + "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": { + "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" + }, + "ApiConfigHandler": { + "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 action given in 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": { + "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": { + "description": "Path to the script from the application root directory.", + "type": "string" + } + }, + "id": "ApiConfigHandler", + "description": "Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers." + }, + "ScriptHandler": { + "type": "object", + "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." + }, + "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": { + "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": { + "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.", + "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" + } + }, + "id": "StaticFilesHandler" + }, + "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" + }, + "DiskUtilization": { + "description": "Target scaling by disk usage. Only applicable for VM runtimes.", + "type": "object", + "properties": { + "targetReadOpsPerSec": { + "type": "integer", + "format": "int32", + "description": "Target ops read per second." + }, + "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" + } + }, + "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": { + "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", + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object" + }, + "CpuUtilization": { + "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" + } + }, + "id": "CpuUtilization" + }, + "IdentityAwareProxy": { + "id": "IdentityAwareProxy", + "description": "Identity-Aware Proxy", + "type": "object", + "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" + } + } + }, + "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 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" + } + }, + "id": "Status" + }, + "TrafficSplit": { + "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": { + "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", + "description": "Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions." + }, + "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": { + "type": "boolean", + "description": "App Engine Flexible Environment is available in the given location.@OutputOnly" + }, + "standardEnvironmentAvailable": { + "description": "App Engine Standard Environment is available in the given location.@OutputOnly", + "type": "boolean" + } + }, + "id": "LocationMetadata" + }, + "OperationMetadataV1Beta": { + "id": "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" } } + }, + "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": { + "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." + }, + "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": { + "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": { + "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": "Volumes mounted within the app container.", + "items": { + "$ref": "Volume" + }, + "type": "array" + }, + "diskGb": { + "format": "double", + "description": "Disk size (GB) needed.", + "type": "number" + } + }, + "id": "Resources", + "description": "Machine resources for a version." + }, + "Service": { + "type": "object", + "properties": { + "id": { + "description": "Relative name of the service within the application. Example: default.@OutputOnly", + "type": "string" + }, + "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." + } + }, + "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." + }, + "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" + }, + "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": { + "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" + }, + "insertTime": { + "format": "google-datetime", + "description": "Timestamp that this operation was created.@OutputOnly", + "type": "string" + } + }, + "id": "OperationMetadata" + }, + "ListInstancesResponse": { + "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", + "description": "Response message for Instances.ListInstances." + }, + "ErrorHandler": { + "properties": { + "staticFile": { + "description": "Static file content to be served for this error.", + "type": "string" + }, + "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.", + "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" + ] + } + }, + "id": "ErrorHandler", + "description": "Custom static error page to be served when an error occurs.", + "type": "object" + }, + "OperationMetadataV1": { + "id": "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" + }, + "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.v1.Versions.CreateVersion.@OutputOnly", + "type": "string" + } + } + }, + "OperationMetadataV1Alpha": { + "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.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" + } + }, + "id": "OperationMetadataV1Alpha" + }, + "Application": { + "description": "An Application resource contains the top-level configuration of an App Engine application.", + "type": "object", + "properties": { + "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" + }, + "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" + }, + "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": "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" + } + }, + "id": "Application" + }, + "Network": { + "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": { + "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", + "description": "Extra network settings. Only applicable for VM runtimes." + }, + "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" + }, + "Instance": { + "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", + "type": "object", + "properties": { + "startTimestamp": { + "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" + }, + "qps": { + "format": "float", + "description": "Average queries per second (QPS) over the last minute.@OutputOnly", + "type": "number" + }, + "vmId": { + "type": "string", + "description": "Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly" + }, + "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" + }, + "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": { + "format": "uint32", + "description": "Number of errors since this instance was started.@OutputOnly", + "type": "integer" + }, + "availability": { + "enumDescriptions": [ + "", + "", + "" + ], + "enum": [ + "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", + "type": "string" + }, + "requests": { + "format": "int32", + "description": "Number of requests since this instance was started.@OutputOnly", + "type": "integer" + }, + "appEngineRelease": { + "description": "App Engine release this instance is running on.@OutputOnly", + "type": "string" + } + }, + "id": "Instance" + }, + "ListVersionsResponse": { + "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", + "description": "Response message for Versions.ListVersions.", + "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": { + "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." + }, + "requestUtilization": { + "description": "Target scaling by request utilization.", + "$ref": "RequestUtilization" + }, + "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" + }, + "cpuUtilization": { + "description": "Target scaling by CPU usage.", + "$ref": "CpuUtilization" + } + }, + "id": "AutomaticScaling" + }, + "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": { + "type": "integer", + "format": "int32", + "description": "Target packets sent per second." + } + }, + "id": "NetworkUtilization" + }, + "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" + }, + "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" + }, + "labels": { + "description": "Cross-service attributes for the location. For example\n{\"cloud.googleapis.com/region\": \"us-east1\"}\n", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "id": "Location" + }, + "HealthCheck": { + "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" + }, + "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.", + "type": "string" + } + }, + "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" } }, - "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": "v1beta5", - "baseUrl": "https://appengine.googleapis.com/" + "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" + } + } + } + }, + "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", + "id": "appengine:v1beta5", + "revision": "20170824", + "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", + "title": "Google App Engine Admin API" } 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 2f98a1f..f76f152 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/bigquery/v2/bigquery-api.json b/vendor/google.golang.org/api/bigquery/v2/bigquery-api.json index 6eeaeff..e42a82a 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/VAUadisxTuoVlTKS7RQzsJKN_oI\"", "discoveryVersion": "v1", "id": "bigquery:v2", "name": "bigquery", "version": "v2", - "revision": "20170622", + "revision": "20170812", "title": "BigQuery API", "description": "A data platform for customers to create, manage, share and query data.", "ownerDomain": "google.com", @@ -403,6 +403,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 +432,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 +462,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 +483,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 +503,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 +585,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" } @@ -818,7 +868,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 +884,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." @@ -919,9 +973,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 +995,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." } } }, @@ -1160,6 +1218,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 +1487,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": { 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 da7f72b..a597395 100644 --- a/vendor/google.golang.org/api/bigquery/v2/bigquery-gen.go +++ b/vendor/google.golang.org/api/bigquery/v2/bigquery-gen.go @@ -698,6 +698,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 +720,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 +740,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 +754,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 +770,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 +784,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 +792,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 +928,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 @@ -1350,15 +1384,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 +1409,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 @@ -1503,13 +1548,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 +1576,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") @@ -1859,6 +1907,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 +1930,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 +1938,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 +2323,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"` 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 56466d7..9b228b1 100644 --- a/vendor/google.golang.org/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json +++ b/vendor/google.golang.org/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json @@ -1,4 +1,632 @@ { + "servicePath": "", + "kind": "discovery#restDescription", + "description": "Transfers data from partner SaaS applications to Google BigQuery on a scheduled, managed basis.", + "basePath": "", + "revision": "20170825", + "documentationLink": "https://cloud.google.com/bigquery/", + "id": "bigquerydatatransfer:v1", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { + "ScheduleTransferRunsResponse": { + "properties": { + "createdRuns": { + "description": "The transfer runs that were created.", + "items": { + "$ref": "TransferRun" + }, + "type": "array" + } + }, + "id": "ScheduleTransferRunsResponse", + "description": "A response to schedule transfer runs for a time range.", + "type": "object" + }, + "TransferMessage": { + "properties": { + "messageText": { + "description": "Message text.", + "type": "string" + }, + "severity": { + "enum": [ + "MESSAGE_SEVERITY_UNSPECIFIED", + "INFO", + "WARNING", + "ERROR" + ], + "description": "Message severity.", + "type": "string", + "enumDescriptions": [ + "No severity specified.", + "Informational message.", + "Warning message.", + "Error message." + ] + }, + "messageTime": { + "format": "google-datetime", + "description": "Time when message was logged.", + "type": "string" + } + }, + "id": "TransferMessage", + "description": "Represents a user facing message for a particular data transfer run.", + "type": "object" + }, + "ListTransferLogsResponse": { + "description": "The returned list transfer run messages.", + "type": "object", + "properties": { + "transferMessages": { + "description": "The stored pipeline transfer messages.\n@OutputOnly", + "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", + "type": "string" + } + }, + "id": "ListTransferLogsResponse" + }, + "ListDataSourcesResponse": { + "description": "Returns list of supported data sources and their metadata.", + "type": "object", + "properties": { + "nextPageToken": { + "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", + "type": "string" + }, + "dataSources": { + "description": "List of supported data sources and their transfer settings.", + "items": { + "$ref": "DataSource" + }, + "type": "array" + } + }, + "id": "ListDataSourcesResponse" + }, + "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": { + "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": { + "description": "Cannot be changed after initial creation.", + "type": "boolean" + }, + "fields": { + "description": "When parameter is a record, describes child fields.", + "items": { + "$ref": "DataSourceParameter" + }, + "type": "array" + }, + "maxValue": { + "format": "double", + "description": "For integer and double values specifies maxminum allowed value.", + "type": "number" + }, + "type": { + "enum": [ + "TYPE_UNSPECIFIED", + "STRING", + "INTEGER", + "DOUBLE", + "BOOLEAN", + "RECORD", + "PLUS_PAGE" + ], + "description": "Parameter type.", + "type": "string", + "enumDescriptions": [ + "Type unspecified.", + "String parameter.", + "Integer parameter (64-bits).\nWill be serialized to json as string.", + "Double precision floating point parameter.", + "Boolean parameter.", + "Record parameter.", + "Page ID for a Google+ Page." + ] + }, + "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.", + "type": "boolean" + }, + "description": { + "description": "Parameter description.", + "type": "string" + }, + "allowedValues": { + "description": "All possible values for the parameter.", + "items": { + "type": "string" + }, + "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" + }, + "validationRegex": { + "description": "Regular expression which can be used for parameter validation.", + "type": "string" + }, + "paramId": { + "description": "Parameter identifier.", + "type": "string" + }, + "required": { + "description": "Is parameter required.", + "type": "boolean" + }, + "repeated": { + "description": "Can parameter have multiple values.", + "type": "boolean" + }, + "displayName": { + "description": "Parameter display name in the user interface.", + "type": "string" + } + }, + "id": "DataSourceParameter" + }, + "ListTransferRunsResponse": { + "description": "The returned list of pipelines in the project.", + "type": "object", + "properties": { + "transferRuns": { + "description": "The stored pipeline transfer runs.\n@OutputOnly", + "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", + "type": "string" + } + }, + "id": "ListTransferRunsResponse" + }, + "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" + }, + "IsEnabledRequest": { + "description": "A request to determine whether data transfer is enabled for the project.", + "type": "object", + "properties": {}, + "id": "IsEnabledRequest" + }, + "ListTransferConfigsResponse": { + "description": "The returned list of pipelines in the project.", + "type": "object", + "properties": { + "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" + }, + "transferConfigs": { + "description": "The stored pipeline transfer configurations.\n@OutputOnly", + "items": { + "$ref": "TransferConfig" + }, + "type": "array" + } + }, + "id": "ListTransferConfigsResponse" + }, + "SetEnabledRequest": { + "properties": { + "enabled": { + "description": "Whether data transfer should be enabled or disabled for the project.", + "type": "boolean" + } + }, + "id": "SetEnabledRequest", + "description": "A request to set whether data transfer is enabled or disabled for a project.", + "type": "object" + }, + "IsEnabledResponse": { + "properties": { + "enabled": { + "description": "Indicates whether the project is enabled.", + "type": "boolean" + } + }, + "id": "IsEnabledResponse", + "description": "A response to indicate whether data transfer is enabled for the project.", + "type": "object" + }, + "DataSource": { + "properties": { + "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" + }, + "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": { + "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" + }, + "name": { + "description": "Data source resource name.", + "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" + }, + "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": { + "enum": [ + "AUTHORIZATION_TYPE_UNSPECIFIED", + "AUTHORIZATION_CODE", + "GOOGLE_PLUS_AUTHORIZATION_CODE" + ], + "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." + ] + }, + "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": { + "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", + "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." + ] + } + }, + "id": "DataSource", + "description": "Represents data source metadata. Metadata is sufficient to\nrender UI and request proper OAuth tokens.", + "type": "object" + }, + "ScheduleTransferRunsRequest": { + "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", + "description": "A request to schedule transfer runs for a time range.", + "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" + }, + "Location": { + "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": { + "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" + } + }, + "id": "Location", + "description": "A resource that represents Google Cloud Platform location.", + "type": "object" + }, + "TransferConfig": { + "properties": { + "dataSourceId": { + "description": "Data source id. Cannot be changed once data transfer is created.", + "type": "string" + }, + "status": { + "enum": [ + "TRANSFER_STATUS_UNSPECIFIED", + "INACTIVE", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED", + "CANCELLED" + ], + "description": "Status of the most recently updated transfer run.\n@OutputOnly", + "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." + ] + }, + "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" + }, + "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" + }, + "destinationDatasetId": { + "description": "The BigQuery target dataset id.", + "type": "string" + }, + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Data transfer specific parameters.", + "type": "object" + }, + "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" + }, + "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. Output only. Applicable\nonly for batch data transfers.\n@OutputOnly", + "type": "string" + }, + "updateTime": { + "format": "google-datetime", + "description": "Data transfer modification time. Ignored by server on input.\n@OutputOnly", + "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" + }, + "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" + } + }, + "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" + }, + "TransferRun": { + "description": "Represents a data transfer run.", + "type": "object", + "properties": { + "datasetRegion": { + "description": "Region in which BigQuery dataset is located. Currently possible values are:\n\"US\" and \"EU\".\n@OutputOnly", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "Time when transfer run was started. Parameter ignored by server for input\nrequests.\n@OutputOnly", + "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 status was updated.\n@OutputOnly", + "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.\n@OutputOnly", + "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.\n@OutputOnly", + "type": "string" + }, + "status": { + "enum": [ + "TRANSFER_STATUS_UNSPECIFIED", + "INACTIVE", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED", + "CANCELLED" + ], + "description": "Data transfer run status. Ignored for input requests.\n@OutputOnly", + "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." + ] + }, + "userId": { + "format": "int64", + "description": "The user id for this transfer run.\n@OutputOnly", + "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" + }, + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Data transfer specific parameters.", + "type": "object" + }, + "endTime": { + "format": "google-datetime", + "description": "Time when transfer run ended. Parameter ignored by server for input\nrequests.\n@OutputOnly", + "type": "string" + } + }, + "id": "TransferRun" + }, + "CheckValidCredsRequest": { + "properties": {}, + "id": "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.", + "type": "object" + }, + "CheckValidCredsResponse": { + "properties": { + "hasValidCreds": { + "description": "If set to `true`, the credentials exist and are valid.", + "type": "boolean" + } + }, + "id": "CheckValidCredsResponse", + "description": "A response indicating whether the credentials exist and are valid.", + "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" + }, "canonicalName": "BigQuery Data Transfer", "auth": { "oauth2": { @@ -23,168 +651,106 @@ "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": { - "methods": { - "isEnabled": { - "path": "v1/{+name}:isEnabled", - "id": "bigquerydatatransfer.projects.locations.isEnabled", - "request": { - "$ref": "IsEnabledRequest" - }, - "description": "Returns true if data transfer is enabled for a project.", - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "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" - ], - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+$", - "location": "path", - "description": "The name of the project resource in the form:\n`projects/{project_id}`" - } - }, - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:isEnabled" - }, - "setEnabled": { - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Empty" - }, - "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/[^/]+/locations/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:setEnabled", - "path": "v1/{+name}:setEnabled", - "id": "bigquerydatatransfer.projects.locations.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." - } - }, "resources": { "transferConfigs": { "resources": { "runs": { + "resources": { + "transferLogs": { + "methods": { + "list": { + "path": "v1/{+parent}/transferLogs", + "id": "bigquerydatatransfer.projects.locations.transferConfigs.runs.transferLogs.list", + "description": "Returns user facing log messages for the data transfer run.", + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "ListTransferLogsResponse" + }, + "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": { + "location": "query", + "format": "int32", + "description": "Page size. The default page size is the maximum value of 1000 results.", + "type": "integer" + }, + "messageTypes": { + "repeated": true, + "location": "query", + "enum": [ + "MESSAGE_SEVERITY_UNSPECIFIED", + "INFO", + "WARNING", + "ERROR" + ], + "description": "Message types to return. If not populated - INFO, WARNING and ERROR\nmessages are returned.", + "type": "string" + }, + "parent": { + "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" + } + }, + "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/{locationsId}/transferConfigs/{transferConfigsId}/runs/{runsId}/transferLogs" + } + } + } + }, "methods": { "delete": { - "httpMethod": "DELETE", + "description": "Deletes the specified transfer run.", "response": { "$ref": "Empty" }, "parameterOrder": [ "name" ], + "httpMethod": "DELETE", + "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 + } + }, "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." + "path": "v1/{+name}" }, "list": { + "path": "v1/{+parent}/runs", + "id": "bigquerydatatransfer.projects.locations.transferConfigs.runs.list", "description": "Returns information about running and completed jobs.", + "httpMethod": "GET", "response": { "$ref": "ListTransferRunsResponse" }, "parameterOrder": [ "parent" ], - "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform", @@ -203,8 +769,6 @@ "type": "integer" }, "statuses": { - "repeated": true, - "location": "query", "enum": [ "TRANSFER_STATUS_UNSPECIFIED", "INACTIVE", @@ -215,124 +779,128 @@ "CANCELLED" ], "description": "When specified, only transfer runs with requested statuses are returned.", - "type": "string" + "type": "string", + "repeated": true, + "location": "query" }, "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" }, "parent": { + "pattern": "^projects/[^/]+/locations/[^/]+/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, - "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+$", - "location": "path" + "required": true } }, - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}/runs", - "id": "bigquerydatatransfer.projects.locations.transferConfigs.runs.list", - "path": "v1/{+parent}/runs" + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}/runs" }, "get": { + "httpMethod": "GET", "response": { "$ref": "TransferRun" }, - "httpMethod": "GET", "parameterOrder": [ "name" ], + "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/[^/]+/locations/[^/]+/transferConfigs/[^/]+/runs/[^/]+$", + "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" ], - "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}", - "id": "bigquerydatatransfer.projects.locations.transferConfigs.runs.get", "path": "v1/{+name}", + "id": "bigquerydatatransfer.projects.locations.transferConfigs.runs.get", "description": "Returns information about the particular transfer run." } - }, - "resources": { - "transferLogs": { - "methods": { - "list": { - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ListTransferLogsResponse" - }, - "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": { - "location": "query", - "enum": [ - "MESSAGE_SEVERITY_UNSPECIFIED", - "INFO", - "WARNING", - "ERROR" - ], - "description": "Message types to return. If not populated - INFO, WARNING and ERROR\nmessages are returned.", - "type": "string", - "repeated": true - }, - "parent": { - "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" - } - }, - "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/{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." - } - } - } } } }, "methods": { - "patch": { - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}", - "id": "bigquerydatatransfer.projects.locations.transferConfigs.patch", - "path": "v1/{+name}", + "create": { + "response": { + "$ref": "TransferConfig" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "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/[^/]+/locations/[^/]+$", + "location": "path" + }, + "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" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs", + "id": "bigquerydatatransfer.projects.locations.transferConfigs.create", + "path": "v1/{+parent}/transferConfigs", "request": { "$ref": "TransferConfig" }, + "description": "Creates a new data transfer configuration." + }, + "scheduleRuns": { + "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/[^/]+/locations/[^/]+/transferConfigs/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}:scheduleRuns", + "id": "bigquerydatatransfer.projects.locations.transferConfigs.scheduleRuns", + "path": "v1/{+parent}: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." + }, + "patch": { "description": "Updates a data transfer configuration.\nAll fields must be set, even if they are not updated.", + "request": { + "$ref": "TransferConfig" + }, "response": { "$ref": "TransferConfig" }, @@ -340,17 +908,7 @@ "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", @@ -362,8 +920,21 @@ "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" + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Required list of fields to be updated in this request.", + "type": "string" } - } + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}", + "id": "bigquerydatatransfer.projects.locations.transferConfigs.patch", + "path": "v1/{+name}" }, "get": { "description": "Returns information about a data transfer config.", @@ -393,44 +964,53 @@ "id": "bigquerydatatransfer.projects.locations.transferConfigs.get" }, "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" - }, + "httpMethod": "DELETE", "parameterOrder": [ "name" ], - "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "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/[^/]+/locations/[^/]+/transferConfigs/[^/]+$", + "location": "path" + } + }, "scopes": [ "https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform" ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/locations/[^/]+/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}/locations/{locationsId}/transferConfigs/{transferConfigsId}", + "path": "v1/{+name}", + "id": "bigquerydatatransfer.projects.locations.transferConfigs.delete" }, "list": { - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs", - "path": "v1/{+parent}/transferConfigs", - "id": "bigquerydatatransfer.projects.locations.transferConfigs.list", - "description": "Returns information about all data transfers in the project.", - "httpMethod": "GET", "response": { "$ref": "ListTransferConfigsResponse" }, "parameterOrder": [ "parent" ], + "httpMethod": "GET", "parameters": { + "dataSourceIds": { + "description": "When specified, only configurations of requested data sources are returned.", + "type": "string", + "repeated": true, + "location": "query" + }, + "parent": { + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "description": "The BigQuery project id for which data sources\nshould be returned: `projects/{project_id}`.", + "type": "string", + "required": true + }, "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.", @@ -441,108 +1021,39 @@ "description": "Page size. The default page size is the maximum value of 1000 results.", "type": "integer", "location": "query" - }, - "dataSourceIds": { - "type": "string", - "repeated": true, - "location": "query", - "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/[^/]+$" } }, "scopes": [ "https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" - ] - }, - "create": { - "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" - ], - "parameters": { - "authorizationCode": { - "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." - }, - "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/[^/]+/locations/[^/]+$", - "location": "path" - } - }, "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs", + "id": "bigquerydatatransfer.projects.locations.transferConfigs.list", "path": "v1/{+parent}/transferConfigs", - "id": "bigquerydatatransfer.projects.locations.transferConfigs.create" - }, - "scheduleRuns": { - "httpMethod": "POST", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ScheduleTransferRunsResponse" - }, - "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 - } - }, - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" - ], - "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" - } + "description": "Returns information about all data transfers in the project." } } }, "dataSources": { "methods": { "list": { - "parameterOrder": [ - "parent" - ], + "description": "Lists supported data sources and returns their settings,\nwhich can be used for UI rendering.", "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" + "parameterOrder": [ + "parent" ], + "httpMethod": "GET", "parameters": { + "parent": { + "description": "The BigQuery project id for which data sources should be returned.\nMust be in the form: `projects/{project_id}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" + }, "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", @@ -553,29 +1064,25 @@ "format": "int32", "description": "Page size. The default page size is the maximum value of 1000 results.", "type": "integer" - }, - "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 } }, + "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/{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." + "path": "v1/{+parent}/dataSources" }, "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 +1090,19 @@ ], "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}", + "id": "bigquerydatatransfer.projects.locations.dataSources.get", "path": "v1/{+name}", - "id": "bigquerydatatransfer.projects.locations.dataSources.get" + "description": "Retrieves a supported data source and returns its settings,\nwhich can be used for UI rendering." }, "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" }, @@ -615,176 +1117,131 @@ ], "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/[^/]+/locations/[^/]+/dataSources/[^/]+$" + "pattern": "^projects/[^/]+/locations/[^/]+/dataSources/[^/]+$", + "location": "path" } }, - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataSources/{dataSourcesId}:checkValidCreds" + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataSources/{dataSourcesId}: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." } } } - } - }, - "transferConfigs": { + }, "methods": { - "list": { - "httpMethod": "GET", + "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": "ListTransferConfigsResponse" + "$ref": "Empty" }, "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" + "name" ], "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "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.", + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "description": "The name of the project resource in the form:\n`projects/{project_id}`", "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.", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:setEnabled", + "id": "bigquerydatatransfer.projects.locations.setEnabled", + "path": "v1/{+name}:setEnabled" + }, + "get": { + "response": { + "$ref": "Location" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Resource name for the location.", "type": "string", "required": true, - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "location": "path" } }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ], - "flatPath": "v1/projects/{projectsId}/transferConfigs", - "id": "bigquerydatatransfer.projects.transferConfigs.create", - "path": "v1/{+parent}/transferConfigs", - "description": "Creates a new data transfer configuration.", - "request": { - "$ref": "TransferConfig" - } + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "id": "bigquerydatatransfer.projects.locations.get", + "path": "v1/{+name}", + "description": "Get information about a location." }, - "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" - }, + "list": { "response": { - "$ref": "ScheduleTransferRunsResponse" + "$ref": "ListLocationsResponse" }, "parameterOrder": [ - "parent" + "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": { + "filter": { + "location": "query", + "description": "The standard list filter.", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, + "name": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "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": "v1/projects/{projectsId}/locations", + "id": "bigquerydatatransfer.projects.locations.list", + "path": "v1/{+name}/locations", + "description": "Lists information about the supported locations for this service." + }, + "isEnabled": { + "response": { + "$ref": "IsEnabledResponse" + }, + "parameterOrder": [ + "name" ], "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", @@ -792,61 +1249,91 @@ ], "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}`", + "description": "The name of the project resource in the form:\n`projects/{project_id}`", "type": "string", - "required": true + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" } }, - "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" + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:isEnabled", + "id": "bigquerydatatransfer.projects.locations.isEnabled", + "path": "v1/{+name}:isEnabled", + "request": { + "$ref": "IsEnabledRequest" }, - "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" + "description": "Returns true if data transfer is enabled for a project." } - }, + } + }, + "transferConfigs": { "resources": { "runs": { + "resources": { + "transferLogs": { + "methods": { + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListTransferLogsResponse" + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Transfer run name in the form:\n`projects/{project_id}/transferConfigs/{config_Id}/runs/{run_id}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/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" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Page size. The default page size is the maximum value of 1000 results.", + "type": "integer" + }, + "messageTypes": { + "enum": [ + "MESSAGE_SEVERITY_UNSPECIFIED", + "INFO", + "WARNING", + "ERROR" + ], + "description": "Message types to return. If not populated - INFO, WARNING and ERROR\nmessages are returned.", + "type": "string", + "repeated": true, + "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", + "path": "v1/{+parent}/transferLogs", + "id": "bigquerydatatransfer.projects.transferConfigs.runs.transferLogs.list", + "description": "Returns user facing log messages for the data transfer run." + } + } + } + }, "methods": { "delete": { - "description": "Deletes the specified transfer run.", + "httpMethod": "DELETE", "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/[^/]+$", @@ -856,48 +1343,37 @@ "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}/runs/{runsId}", + "path": "v1/{+name}", "id": "bigquerydatatransfer.projects.transferConfigs.runs.delete", - "path": "v1/{+name}" + "description": "Deletes the specified transfer run." }, "list": { - "description": "Returns information about running and completed jobs.", - "parameterOrder": [ - "parent" - ], "response": { "$ref": "ListTransferRunsResponse" }, + "parameterOrder": [ + "parent" + ], "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" + "type": "integer", + "location": "query" }, "statuses": { + "repeated": true, "location": "query", "enum": [ "TRANSFER_STATUS_UNSPECIFIED", @@ -909,8 +1385,23 @@ "CANCELLED" ], "description": "When specified, only transfer runs with requested statuses are returned.", + "type": "string" + }, + "runAttempt": { + "enum": [ + "RUN_ATTEMPT_UNSPECIFIED", + "LATEST" + ], + "description": "Indicates how run attempts are to be pulled.", "type": "string", - "repeated": true + "location": "query" + }, + "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 } }, "scopes": [ @@ -920,16 +1411,18 @@ ], "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}/runs", "id": "bigquerydatatransfer.projects.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.", "httpMethod": "GET", - "response": { - "$ref": "TransferRun" - }, "parameterOrder": [ "name" ], + "response": { + "$ref": "TransferRun" + }, "scopes": [ "https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform", @@ -946,87 +1439,63 @@ }, "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." - } - } + "id": "bigquerydatatransfer.projects.transferConfigs.runs.get" } } } - } - }, - "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", + "delete": { + "description": "Deletes a data transfer configuration,\nincluding any associated transfer runs and logs.", "response": { - "$ref": "ListDataSourcesResponse" + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], + "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" + } + }, + "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}", + "id": "bigquerydatatransfer.projects.transferConfigs.delete", + "path": "v1/{+name}" + }, + "list": { + "response": { + "$ref": "ListTransferConfigsResponse" }, "parameterOrder": [ "parent" ], + "httpMethod": "GET", "parameters": { + "dataSourceIds": { + "repeated": true, + "location": "query", + "description": "When specified, only configurations of requested data sources are returned.", + "type": "string" + }, + "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": { "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.", + "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": { @@ -1034,20 +1503,189 @@ "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" - ] + ], + "flatPath": "v1/projects/{projectsId}/transferConfigs", + "id": "bigquerydatatransfer.projects.transferConfigs.list", + "path": "v1/{+parent}/transferConfigs", + "description": "Returns information about all data transfers in the project." + }, + "create": { + "response": { + "$ref": "TransferConfig" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], + "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 + } + }, + "flatPath": "v1/projects/{projectsId}/transferConfigs", + "id": "bigquerydatatransfer.projects.transferConfigs.create", + "path": "v1/{+parent}/transferConfigs", + "request": { + "$ref": "TransferConfig" + }, + "description": "Creates a new data transfer configuration." + }, + "scheduleRuns": { + "response": { + "$ref": "ScheduleTransferRunsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "parent": { + "pattern": "^projects/[^/]+/transferConfigs/[^/]+$", + "location": "path", + "description": "Transfer configuration name in the form:\n`projects/{project_id}/transferConfigs/{config_id}`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}:scheduleRuns", + "id": "bigquerydatatransfer.projects.transferConfigs.scheduleRuns", + "path": "v1/{+parent}: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." + }, + "patch": { + "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 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/[^/]+$", + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}" + }, + "get": { + "response": { + "$ref": "TransferConfig" + }, + "httpMethod": "GET", + "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": { + "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}", + "id": "bigquerydatatransfer.projects.transferConfigs.get", + "path": "v1/{+name}", + "description": "Returns information about a data transfer config." + } + } + }, + "dataSources": { + "methods": { + "list": { + "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.", + "response": { + "$ref": "ListDataSourcesResponse" + }, + "httpMethod": "GET", + "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": { + "parent": { + "description": "The BigQuery project id for which data sources should be returned.\nMust be in the form: `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 `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" + }, + "pageSize": { + "format": "int32", + "description": "Page size. The default page size is the maximum value of 1000 results.", + "type": "integer", + "location": "query" + } + }, + "flatPath": "v1/projects/{projectsId}/dataSources" }, "get": { "httpMethod": "GET", @@ -1077,9 +1715,6 @@ "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" @@ -1093,30 +1728,148 @@ "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/[^/]+$" + "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}:checkValidCreds", + "id": "bigquerydatatransfer.projects.dataSources.checkValidCreds", + "path": "v1/{+name}:checkValidCreds" } } } + }, + "methods": { + "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": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The name of the project resource in the form:\n`projects/{project_id}`", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}:setEnabled", + "id": "bigquerydatatransfer.projects.setEnabled", + "path": "v1/{+name}:setEnabled" + }, + "isEnabled": { + "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", + "path": "v1/{+name}:isEnabled", + "id": "bigquerydatatransfer.projects.isEnabled", + "description": "Returns true if data transfer is enabled for a project.", + "request": { + "$ref": "IsEnabledRequest" + } + } } } }, "parameters": { - "access_token": { + "upload_protocol": { "location": "query", - "description": "OAuth access token.", + "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": { + "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": { + "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.", @@ -1133,652 +1886,17 @@ "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", - "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" }, - "$.xgafv": { - "description": "V1 error format.", + "bearer_token": { + "description": "OAuth bearer token.", "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", - "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://bigquerydatatransfer.googleapis.com/", - "servicePath": "", - "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", - "id": "bigquerydatatransfer:v1", - "discoveryVersion": "v1", - "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": { - "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.", - "type": "any" - }, - "description": "Data transfer specific parameters.", - "type": "object" - }, - "endTime": { - "type": "string", - "format": "google-datetime", - "description": "Time when transfer run ended. Parameter ignored by server for input\nrequests.\n@OutputOnly" - }, - "datasetRegion": { - "description": "Region in which BigQuery dataset is located. Currently possible values are:\n\"US\" and \"EU\".\n@OutputOnly", - "type": "string" - }, - "startTime": { - "format": "google-datetime", - "description": "Time when transfer run was started. Parameter ignored by server for input\nrequests.\n@OutputOnly", - "type": "string" - }, - "scheduleTime": { - "format": "google-datetime", - "description": "Minimum time after which a transfer run can be started.", - "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.", - "type": "object", - "properties": {}, - "id": "CheckValidCredsRequest" - }, - "CheckValidCredsResponse": { - "description": "A response indicating whether the credentials exist and are valid.", - "type": "object", - "properties": { - "hasValidCreds": { - "type": "boolean", - "description": "If set to `true`, the credentials exist and are valid." - } - }, - "id": "CheckValidCredsResponse" - }, - "ScheduleTransferRunsResponse": { - "description": "A response to schedule transfer runs for a time range.", - "type": "object", - "properties": { - "createdRuns": { - "description": "The transfer runs that were created.", - "items": { - "$ref": "TransferRun" - }, - "type": "array" - } - }, - "id": "ScheduleTransferRunsResponse" - }, - "ListTransferLogsResponse": { - "description": "The returned list transfer run messages.", - "type": "object", - "properties": { - "transferMessages": { - "description": "The stored pipeline transfer messages.\n@OutputOnly", - "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", - "type": "string" - } - }, - "id": "ListTransferLogsResponse" - }, - "TransferMessage": { - "description": "Represents a user facing message for a particular data transfer run.", - "type": "object", - "properties": { - "messageText": { - "description": "Message text.", - "type": "string" - }, - "severity": { - "enumDescriptions": [ - "No severity specified.", - "Informational message.", - "Warning message.", - "Error message." - ], - "enum": [ - "MESSAGE_SEVERITY_UNSPECIFIED", - "INFO", - "WARNING", - "ERROR" - ], - "description": "Message severity.", - "type": "string" - }, - "messageTime": { - "format": "google-datetime", - "description": "Time when message was logged.", - "type": "string" - } - }, - "id": "TransferMessage" - }, - "ListDataSourcesResponse": { - "properties": { - "dataSources": { - "description": "List of supported data sources and their transfer settings.", - "items": { - "$ref": "DataSource" - }, - "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" - } - }, - "id": "ListDataSourcesResponse", - "description": "Returns list of supported data sources and their metadata.", - "type": "object" - }, - "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": { - "$ref": "DataSourceParameter" - }, - "type": "array" - }, - "maxValue": { - "format": "double", - "description": "For integer and double values specifies maxminum allowed value.", - "type": "number" - }, - "type": { - "description": "Parameter type.", - "type": "string", - "enumDescriptions": [ - "Type unspecified.", - "String parameter.", - "Integer parameter (64-bits).\nWill be serialized to json as string.", - "Double precision floating point parameter.", - "Boolean parameter.", - "Record parameter.", - "Page ID for a Google+ Page." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "STRING", - "INTEGER", - "DOUBLE", - "BOOLEAN", - "RECORD", - "PLUS_PAGE" - ] - }, - "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.", - "type": "boolean" - }, - "description": { - "description": "Parameter description.", - "type": "string" - }, - "allowedValues": { - "description": "All possible values for the parameter.", - "items": { - "type": "string" - }, - "type": "array" - }, - "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" - }, - "paramId": { - "description": "Parameter identifier.", - "type": "string" - }, - "required": { - "description": "Is parameter required.", - "type": "boolean" - }, - "repeated": { - "description": "Can parameter have multiple values.", - "type": "boolean" - } - } - }, - "ListTransferRunsResponse": { - "description": "The returned list of pipelines in the project.", - "type": "object", - "properties": { - "transferRuns": { - "description": "The stored pipeline transfer runs.\n@OutputOnly", - "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", - "type": "string" - } - }, - "id": "ListTransferRunsResponse" - } - }, - "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" + "baseUrl": "https://bigquerydatatransfer.googleapis.com/" } 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 3a65a0b..1d7daa4 100644 --- a/vendor/google.golang.org/api/bigquerydatatransfer/v1/bigquerydatatransfer-gen.go +++ b/vendor/google.golang.org/api/bigquerydatatransfer/v1/bigquerydatatransfer-gen.go @@ -600,6 +600,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 { @@ -728,6 +765,54 @@ func (s *ListTransferRunsResponse) MarshalJSON() ([]byte, error) { 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) +} + // ScheduleTransferRunsRequest: A request to schedule transfer runs for // a time range. type ScheduleTransferRunsRequest struct { @@ -885,17 +970,22 @@ type TransferConfig struct { // 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. @@ -1857,6 +1947,147 @@ func (c *ProjectsDataSourcesListCall) Pages(ctx context.Context, f func(*ListDat } } +// method id "bigquerydatatransfer.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, "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 "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 { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + 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": "v1/projects/{projectsId}/locations/{locationsId}", + // "httpMethod": "GET", + // "id": "bigquerydatatransfer.projects.locations.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Resource name for the location.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Location" + // }, + // "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.locations.isEnabled": type ProjectsLocationsIsEnabledCall struct { @@ -1994,6 +2225,206 @@ func (c *ProjectsLocationsIsEnabledCall) Do(opts ...googleapi.CallOption) (*IsEn } +// method id "bigquerydatatransfer.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 "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 { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + 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": "bigquerydatatransfer.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/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.setEnabled": type ProjectsLocationsSetEnabledCall struct { 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 1e04302..1e26675 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 f6b097c..e9c4a9f 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/h_kaqUFBJHsu0TsHlTyJklsHyzA\"", "discoveryVersion": "v1", "id": "calendar:v3", "name": "calendar", "version": "v3", - "revision": "20170528", + "revision": "20170723", "title": "Calendar API", "description": "Manipulates events and other calendar data.", "ownerDomain": "google.com", @@ -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 552a798..b77935f 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/classroom/v1/classroom-api.json b/vendor/google.golang.org/api/classroom/v1/classroom-api.json index 2455b1f..b0ce24e 100644 --- a/vendor/google.golang.org/api/classroom/v1/classroom-api.json +++ b/vendor/google.golang.org/api/classroom/v1/classroom-api.json @@ -1,14 +1,74 @@ { - "revision": "20170627", - "documentationLink": "https://developers.google.com/classroom/", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/classroom.coursework.me": { + "description": "Manage your course work and view your grades in Google Classroom" + }, + "https://www.googleapis.com/auth/classroom.rosters": { + "description": "Manage your Google Classroom class rosters" + }, + "https://www.googleapis.com/auth/classroom.student-submissions.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.students.readonly": { + "description": "View guardians for students in your Google Classroom classes" + }, + "https://www.googleapis.com/auth/classroom.courses": { + "description": "Manage your Google Classroom classes" + }, + "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.rosters.readonly": { + "description": "View your Google Classroom class rosters" + }, + "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.coursework.me.readonly": { + "description": "View your course work and grades in Google Classroom" + }, + "https://www.googleapis.com/auth/classroom.profile.emails": { + "description": "View the email addresses of people in your classes" + } + } + } + }, + "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", "id": "classroom:v1", + "documentationLink": "https://developers.google.com/classroom/", + "revision": "20170825", "title": "Google Classroom API", - "discoveryVersion": "v1", "ownerName": "Google", + "discoveryVersion": "v1", "resources": { "invitations": { "methods": { "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" @@ -16,32 +76,42 @@ "response": { "$ref": "Empty" }, + "parameters": { + "id": { + "location": "path", + "description": "Identifier of the invitation to delete.", + "type": "string", + "required": true + } + }, "scopes": [ "https://www.googleapis.com/auth/classroom.rosters" ], - "parameters": { - "id": { - "description": "Identifier of the invitation to delete.", - "type": "string", - "required": true, - "location": "path" - } - }, "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." + "id": "classroom.invitations.delete" }, "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.", + "httpMethod": "GET", + "parameterOrder": [], "response": { "$ref": "ListInvitationsResponse" }, - "parameterOrder": [], - "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ], "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": { + "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" + }, "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.", @@ -52,25 +122,15 @@ "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", + "path": "v1/invitations", + "id": "classroom.invitations.list", + "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" }, @@ -78,50 +138,54 @@ "id" ], "httpMethod": "GET", - "parameters": { - "id": { - "location": "path", - "description": "Identifier of the invitation to return.", - "type": "string", - "required": true - } - }, "scopes": [ "https://www.googleapis.com/auth/classroom.rosters", "https://www.googleapis.com/auth/classroom.rosters.readonly" ], + "parameters": { + "id": { + "description": "Identifier of the invitation to return.", + "type": "string", + "required": true, + "location": "path" + } + }, "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": { + "flatPath": "v1/invitations", "id": "classroom.invitations.create", "path": "v1/invitations", + "description": "Creates an invitation. Only one invitation for a user and course may exist\nat a time. Delete and re-create an invitation to make changes.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to create\ninvitations for this course or for access errors.\n* `NOT_FOUND` if the course or the user does not exist.\n* `FAILED_PRECONDITION` if the requested user's account is disabled or if\nthe user already has this role or a role with greater permissions.\n* `ALREADY_EXISTS` if an invitation for the specified user and course\nalready exists.", "request": { "$ref": "Invitation" }, - "description": "Creates an invitation. Only one invitation for a user and course may exist\nat a time. Delete and re-create an invitation to make changes.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to create\ninvitations for this course or for access errors.\n* `NOT_FOUND` if the course or the user does not exist.\n* `FAILED_PRECONDITION` if the requested user's account is disabled or if\nthe user already has this role or a role with greater permissions.\n* `ALREADY_EXISTS` if an invitation for the specified user and course\nalready exists.", "response": { "$ref": "Invitation" }, "parameterOrder": [], "httpMethod": "POST", + "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/classroom.rosters" - ], - "parameters": {}, - "flatPath": "v1/invitations" + ] }, "accept": { + "path": "v1/invitations/{id}:accept", + "id": "classroom.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" - }, + "httpMethod": "POST", "parameterOrder": [ "id" ], - "httpMethod": "POST", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters" + ], "parameters": { "id": { "location": "path", @@ -130,18 +194,17 @@ "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.rosters" - ], - "flatPath": "v1/invitations/{id}:accept", - "id": "classroom.invitations.accept", - "path": "v1/invitations/{id}:accept" + "flatPath": "v1/invitations/{id}:accept" } } }, "userProfiles": { "methods": { "get": { + "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.", "response": { "$ref": "UserProfile" }, @@ -149,148 +212,41 @@ "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" ], - "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." + "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" + } + } } }, "resources": { - "guardians": { - "methods": { - "get": { - "httpMethod": "GET", - "response": { - "$ref": "Guardian" - }, - "parameterOrder": [ - "studentId", - "guardianId" - ], - "scopes": [ - "https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly", - "https://www.googleapis.com/auth/classroom.guardianlinks.students", - "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly" - ], - "parameters": { - "studentId": { - "location": "path", - "description": "The student whose guardian is being requested. 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 - }, - "guardianId": { - "description": "The `id` field from a `Guardian`.", - "type": "string", - "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" - ], - "scopes": [ - "https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly", - "https://www.googleapis.com/auth/classroom.guardianlinks.students", - "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly" - ], - "parameters": { - "studentId": { - "location": "path", - "description": "Filter results by the student who the guardian is linked to.\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 has access to view.", - "type": "string", - "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", - "location": "query" - }, - "invitedEmailAddress": { - "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 - }, - "guardianId": { - "location": "path", - "description": "The `id` field from a `Guardian`.", - "type": "string", - "required": true - } - }, - "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}" - } - } - }, "guardianInvitations": { "methods": { "patch": { - "response": { + "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" ], - "httpMethod": "PATCH", + "response": { + "$ref": "GuardianInvitation" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.guardianlinks.students" + ], "parameters": { "updateMask": { "location": "query", @@ -299,10 +255,10 @@ "type": "string" }, "invitationId": { - "location": "path", - "description": "The `id` field of the `GuardianInvitation` to be modified.", "type": "string", - "required": true + "required": true, + "location": "path", + "description": "The `id` field of the `GuardianInvitation` to be modified." }, "studentId": { "location": "path", @@ -311,20 +267,11 @@ "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" - } + "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" @@ -334,10 +281,6 @@ "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", @@ -346,65 +289,71 @@ "required": true }, "studentId": { + "description": "The ID of the student whose guardian invitation is being requested.", "type": "string", "required": true, - "location": "path", - "description": "The ID of the student whose guardian invitation is being requested." + "location": "path" } }, - "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" ], + "flatPath": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}", + "id": "classroom.userProfiles.guardianInvitations.get", + "path": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}" + }, + "list": { + "path": "v1/userProfiles/{studentId}/guardianInvitations", + "id": "classroom.userProfiles.guardianInvitations.list", + "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.", + "httpMethod": "GET", + "parameterOrder": [ + "studentId" + ], + "response": { + "$ref": "ListGuardianInvitationsResponse" + }, "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": { + "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", - "location": "query" + "type": "integer" }, "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" + "type": "string", + "repeated": true, + "location": "query" }, "invitedEmailAddress": { - "location": "query", "description": "If specified, only results with the specified `invited_email_address`\nwill be returned.", - "type": "string" + "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 } }, - "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." + "scopes": [ + "https://www.googleapis.com/auth/classroom.guardianlinks.students", + "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly" + ], + "flatPath": "v1/userProfiles/{studentId}/guardianInvitations" }, "create": { "request": { @@ -434,92 +383,133 @@ "path": "v1/userProfiles/{studentId}/guardianInvitations" } } + }, + "guardians": { + "methods": { + "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`.", + "httpMethod": "DELETE", + "parameterOrder": [ + "studentId", + "guardianId" + ], + "response": { + "$ref": "Empty" + }, + "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 + }, + "guardianId": { + "location": "path", + "description": "The `id` field from a `Guardian`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.guardianlinks.students" + ], + "flatPath": "v1/userProfiles/{studentId}/guardians/{guardianId}", + "path": "v1/userProfiles/{studentId}/guardians/{guardianId}", + "id": "classroom.userProfiles.guardians.delete" + }, + "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`.", + "response": { + "$ref": "Guardian" + }, + "parameterOrder": [ + "studentId", + "guardianId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly", + "https://www.googleapis.com/auth/classroom.guardianlinks.students", + "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly" + ], + "parameters": { + "studentId": { + "description": "The student whose guardian is being requested. 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, + "location": "path" + }, + "guardianId": { + "description": "The `id` field from a `Guardian`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/userProfiles/{studentId}/guardians/{guardianId}", + "id": "classroom.userProfiles.guardians.get", + "path": "v1/userProfiles/{studentId}/guardians/{guardianId}" + }, + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListGuardiansResponse" + }, + "parameterOrder": [ + "studentId" + ], + "parameters": { + "studentId": { + "type": "string", + "required": true, + "location": "path", + "description": "Filter results by the student who the guardian is linked to.\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 has access to view." + }, + "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": { + "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." + }, + "invitedEmailAddress": { + "type": "string", + "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." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly", + "https://www.googleapis.com/auth/classroom.guardianlinks.students", + "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly" + ], + "flatPath": "v1/userProfiles/{studentId}/guardians", + "path": "v1/userProfiles/{studentId}/guardians", + "id": "classroom.userProfiles.guardians.list", + "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." + } + } } } }, "courses": { "methods": { - "list": { - "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" - }, - "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 must be\notherwise identical to the one that resulted in this token.", - "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." - }, - "courseStates": { - "repeated": true, - "location": "query", - "enum": [ - "COURSE_STATE_UNSPECIFIED", - "ACTIVE", - "ARCHIVED", - "PROVISIONED", - "DECLINED", - "SUSPENDED" - ], - "description": "Restricts returned courses to those in one of the specified states\nThe default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED.", - "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" - } - }, - "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" - } - }, - "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" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/classroom.courses" - ], - "parameters": {}, - "flatPath": "v1/courses" - }, "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.", + "httpMethod": "GET", "response": { "$ref": "Course" }, "parameterOrder": [ "id" ], - "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses", + "https://www.googleapis.com/auth/classroom.courses.readonly" + ], "parameters": { "id": { "description": "Identifier of the course to return.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", @@ -528,46 +518,52 @@ "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.courses", - "https://www.googleapis.com/auth/classroom.courses.readonly" - ], - "flatPath": "v1/courses/{id}" + "flatPath": "v1/courses/{id}", + "path": "v1/courses/{id}", + "id": "classroom.courses.get", + "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." }, "patch": { - "response": { - "$ref": "Course" - }, + "httpMethod": "PATCH", "parameterOrder": [ "id" ], - "httpMethod": "PATCH", - "scopes": [ - "https://www.googleapis.com/auth/classroom.courses" - ], + "response": { + "$ref": "Course" + }, "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.", "type": "string", "required": true, "location": "path" + }, + "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* `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,...`", + "type": "string", + "location": "query" } }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses" + ], "flatPath": "v1/courses/{id}", + "path": "v1/courses/{id}", "id": "classroom.courses.patch", + "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", + "request": { + "$ref": "Course" + } + }, + "update": { + "flatPath": "v1/courses/{id}", + "id": "classroom.courses.update", "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" - }, - "update": { + "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", "response": { "$ref": "Course" }, @@ -575,23 +571,16 @@ "id" ], "httpMethod": "PUT", - "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 - } - }, "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", - "request": { - "$ref": "Course" + "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": { @@ -603,26 +592,301 @@ "id" ], "httpMethod": "DELETE", + "parameters": { + "id": { + "type": "string", + "required": true, + "location": "path", + "description": "Identifier of the course to delete.\nThis identifier can be either the Classroom-assigned identifier or an\nalias." + } + }, "scopes": [ "https://www.googleapis.com/auth/classroom.courses" ], - "parameters": { - "id": { - "location": "path", - "description": "Identifier of the course to delete.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true - } - }, "flatPath": "v1/courses/{id}", "id": "classroom.courses.delete", "path": "v1/courses/{id}" + }, + "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.", + "response": { + "$ref": "ListCoursesResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "parameters": { + "studentId": { + "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", + "type": "string" + }, + "pageToken": { + "description": "nextPageToken\nvalue returned from a previous\nlist call,\nindicating that 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" + }, + "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" + }, + "courseStates": { + "description": "Restricts returned courses to those in one of the specified states\nThe default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED.", + "type": "string", + "repeated": true, + "location": "query", + "enum": [ + "COURSE_STATE_UNSPECIFIED", + "ACTIVE", + "ARCHIVED", + "PROVISIONED", + "DECLINED", + "SUSPENDED" + ] + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses", + "https://www.googleapis.com/auth/classroom.courses.readonly" + ], + "flatPath": "v1/courses", + "id": "classroom.courses.list", + "path": "v1/courses" + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Course" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses" + ], + "parameters": {}, + "flatPath": "v1/courses", + "path": "v1/courses", + "id": "classroom.courses.create", + "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." } }, "resources": { + "aliases": { + "methods": { + "list": { + "flatPath": "v1/courses/{courseId}/aliases", + "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.", + "parameterOrder": [ + "courseId" + ], + "response": { + "$ref": "ListCourseAliasesResponse" + }, + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses", + "https://www.googleapis.com/auth/classroom.courses.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" + }, + "courseId": { + "location": "path", + "description": "The identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "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" + } + } + }, + "create": { + "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 + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses" + ], + "flatPath": "v1/courses/{courseId}/aliases", + "path": "v1/courses/{courseId}/aliases", + "id": "classroom.courses.aliases.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" + } + }, + "delete": { + "httpMethod": "DELETE", + "parameterOrder": [ + "courseId", + "alias" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses" + ], + "parameters": { + "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 + }, + "alias": { + "location": "path", + "description": "Alias to delete.\nThis may not be the Classroom-assigned identifier.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/courses/{courseId}/aliases/{alias}", + "path": "v1/courses/{courseId}/aliases/{alias}", + "id": "classroom.courses.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)." + } + } + }, "students": { "methods": { + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListStudentsResponse" + }, + "parameterOrder": [ + "courseId" + ], + "parameters": { + "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": { + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true + }, + "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" + } + }, + "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": { + "response": { + "$ref": "Student" + }, + "parameterOrder": [ + "courseId", + "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": { + "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 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 + } + }, + "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." + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "courseId" + ], + "response": { + "$ref": "Student" + }, + "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": { + "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", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.profile.emails", + "https://www.googleapis.com/auth/classroom.profile.photos", + "https://www.googleapis.com/auth/classroom.rosters" + ], + "flatPath": "v1/courses/{courseId}/students", + "path": "v1/courses/{courseId}/students", + "id": "classroom.courses.students.create", + "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.", + "request": { + "$ref": "Student" + } + }, "delete": { + "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" }, @@ -642,155 +906,22 @@ "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 + "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." - }, - "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." + "path": "v1/courses/{courseId}/students/{userId}" } } }, "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": { + "httpMethod": "DELETE", "response": { "$ref": "Empty" }, @@ -798,10 +929,36 @@ "courseId", "id" ], - "httpMethod": "DELETE", + "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 to delete.\nThis identifier is a Classroom-assigned identifier.", + "type": "string", + "required": true, + "location": "path" + } + }, "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.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." + }, + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListCourseWorkResponse" + }, + "parameterOrder": [ + "courseId" + ], "parameters": { "courseId": { "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", @@ -809,36 +966,15 @@ "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 - } - }, - "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." - }, - "list": { - "response": { - "$ref": "ListCourseWorkResponse" - }, - "parameterOrder": [ - "courseId" - ], - "httpMethod": "GET", - "parameters": { "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" }, "orderBy": { + "location": "query", "description": "Optional sort ordering for results. A comma-separated list of fields with\nan optional sort direction keyword. Supported fields are `updateTime`\nand `dueDate`. Supported direction keywords are `asc` and `desc`.\nIf not specified, `updateTime desc` is the default behavior.\nExamples: `dueDate asc,updateTime desc`, `updateTime,dueDate desc`", - "type": "string", - "location": "query" + "type": "string" }, "pageSize": { "format": "int32", @@ -857,12 +993,6 @@ "DRAFT", "DELETED" ] - }, - "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": [ @@ -872,11 +1002,14 @@ "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." }, "get": { + "flatPath": "v1/courses/{courseId}/courseWork/{id}", + "id": "classroom.courses.courseWork.get", + "path": "v1/courses/{courseId}/courseWork/{id}", "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": { "$ref": "CourseWork" @@ -893,28 +1026,21 @@ "https://www.googleapis.com/auth/classroom.coursework.students.readonly" ], "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 - }, - "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.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", @@ -923,12 +1049,15 @@ "response": { "$ref": "CourseWork" }, + "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, - "location": "path" + "required": true }, "id": { "location": "path", @@ -943,22 +1072,219 @@ "type": "string" } }, + "flatPath": "v1/courses/{courseId}/courseWork/{id}", + "path": "v1/courses/{courseId}/courseWork/{id}", + "id": "classroom.courses.courseWork.patch", + "request": { + "$ref": "CourseWork" + }, + "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." + }, + "create": { + "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" + }, + "httpMethod": "POST", + "parameterOrder": [ + "courseId" + ], + "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" + } + }, "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" + "flatPath": "v1/courses/{courseId}/courseWork", + "path": "v1/courses/{courseId}/courseWork", + "id": "classroom.courses.courseWork.create" } }, "resources": { "studentSubmissions": { "methods": { - "turnIn": { - "request": { - "$ref": "TurnInStudentSubmissionRequest" + "patch": { + "response": { + "$ref": "StudentSubmission" }, - "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.", + "parameterOrder": [ + "courseId", + "courseWorkId", + "id" + ], + "httpMethod": "PATCH", + "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": { + "type": "string", + "required": true, + "location": "path", + "description": "Identifier of the student submission." + }, + "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* `draft_grade`\n* `assigned_grade`", + "type": "string" + }, + "courseWorkId": { + "description": "Identifier of the course work.", + "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" + } + }, + "get": { + "response": { + "$ref": "StudentSubmission" + }, + "parameterOrder": [ + "courseId", + "courseWorkId", + "id" + ], + "httpMethod": "GET", + "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" + ], + "parameters": { + "courseWorkId": { + "type": "string", + "required": true, + "location": "path", + "description": "Identifier of the course work." + }, + "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}", + "id": "classroom.courses.courseWork.studentSubmissions.get", + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}", + "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." + }, + "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" + }, + "httpMethod": "POST", + "parameterOrder": [ + "courseId", + "courseWorkId", + "id" + ], + "response": { + "$ref": "Empty" + }, + "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 + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.students" + ], + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return", + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return", + "id": "classroom.courses.courseWork.studentSubmissions.return" + }, + "reclaim": { + "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": { + "type": "string", + "required": true, + "location": "path", + "description": "Identifier of the student submission." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.me" + ], + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim", + "id": "classroom.courses.courseWork.studentSubmissions.reclaim", + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}: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" + }, + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "courseId", + "courseWorkId", + "id" + ], + "httpMethod": "POST" + }, + "turnIn": { "response": { "$ref": "Empty" }, @@ -979,10 +1305,10 @@ "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, - "location": "path" + "required": true }, "id": { "location": "path", @@ -993,17 +1319,22 @@ }, "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn", "id": "classroom.courses.courseWork.studentSubmissions.turnIn", - "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}: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." }, "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.", "response": { "$ref": "ListStudentSubmissionsResponse" }, + "httpMethod": "GET", "parameterOrder": [ "courseId", "courseWorkId" ], - "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/classroom.coursework.me", "https://www.googleapis.com/auth/classroom.coursework.me.readonly", @@ -1013,16 +1344,36 @@ "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly" ], "parameters": { + "states": { + "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, + "location": "query" + }, + "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" + }, "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 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 + "required": true, + "location": "path" }, "courseId": { "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", @@ -1044,247 +1395,53 @@ "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." + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions" }, "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", + "id": "classroom.courses.courseWork.studentSubmissions.modifyAttachments", + "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.", "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" - }, + "httpMethod": "POST", "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" + "location": "path", + "description": "Identifier of the course work." }, "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 }, "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, - "location": "path", - "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 + "required": true, + "location": "path" } }, "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." - }, - "return": { - "httpMethod": "POST", - "parameterOrder": [ - "courseId", - "courseWorkId", - "id" - ], - "response": { - "$ref": "Empty" - }, - "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." - } - }, - "scopes": [ "https://www.googleapis.com/auth/classroom.coursework.students" ], - "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": { - "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.", - "response": { - "$ref": "Empty" - }, - "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": { - "type": "string", - "required": true, - "location": "path", - "description": "Identifier of the student submission." - } - }, - "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}:modifyAttachments" } } } @@ -1292,55 +1449,31 @@ }, "teachers": { "methods": { - "delete": { + "list": { + "httpMethod": "GET", "response": { - "$ref": "Empty" + "$ref": "ListTeachersResponse" }, "parameterOrder": [ - "courseId", - "userId" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/classroom.rosters" + "courseId" ], "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" - } - }, - "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." - }, - "list": { - "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", - "location": "query" + "type": "string" }, "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" - }, - "courseId": { - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true, - "location": "path" + "type": "integer" } }, "scopes": [ @@ -1350,16 +1483,9 @@ "https://www.googleapis.com/auth/classroom.rosters.readonly" ], "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" + "id": "classroom.courses.teachers.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." }, "get": { "response": { @@ -1377,17 +1503,17 @@ "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": { + "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 + }, + "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 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" + "location": "path" } }, "flatPath": "v1/courses/{courseId}/teachers/{userId}", @@ -1400,13 +1526,13 @@ "request": { "$ref": "Teacher" }, - "response": { - "$ref": "Teacher" - }, + "httpMethod": "POST", "parameterOrder": [ "courseId" ], - "httpMethod": "POST", + "response": { + "$ref": "Teacher" + }, "parameters": { "courseId": { "location": "path", @@ -1421,106 +1547,39 @@ "https://www.googleapis.com/auth/classroom.rosters" ], "flatPath": "v1/courses/{courseId}/teachers", - "id": "classroom.courses.teachers.create", - "path": "v1/courses/{courseId}/teachers" - } - } - }, - "aliases": { - "methods": { + "path": "v1/courses/{courseId}/teachers", + "id": "classroom.courses.teachers.create" + }, "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).", + "path": "v1/courses/{courseId}/teachers/{userId}", + "id": "classroom.courses.teachers.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.", + "httpMethod": "DELETE", "response": { "$ref": "Empty" }, "parameterOrder": [ "courseId", - "alias" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/classroom.courses" + "userId" ], "parameters": { - "alias": { - "description": "Alias to delete.\nThis may not be the Classroom-assigned identifier.", + "userId": { "type": "string", "required": true, - "location": "path" - }, - "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" - } - }, - "flatPath": "v1/courses/{courseId}/aliases/{alias}", - "id": "classroom.courses.aliases.delete", - "path": "v1/courses/{courseId}/aliases/{alias}" - }, - "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.", - "response": { - "$ref": "ListCourseAliasesResponse" - }, - "parameterOrder": [ - "courseId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/classroom.courses", - "https://www.googleapis.com/auth/classroom.courses.readonly" - ], - "parameters": { - "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" + "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" }, "courseId": { "type": "string", "required": true, "location": "path", - "description": "The identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias." - } - }, - "flatPath": "v1/courses/{courseId}/aliases" - }, - "create": { - "flatPath": "v1/courses/{courseId}/aliases", - "path": "v1/courses/{courseId}/aliases", - "id": "classroom.courses.aliases.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" - }, - "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 + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias." } }, "scopes": [ - "https://www.googleapis.com/auth/classroom.courses" - ] + "https://www.googleapis.com/auth/classroom.rosters" + ], + "flatPath": "v1/courses/{courseId}/teachers/{userId}" } } } @@ -1528,9 +1587,20 @@ } }, "parameters": { - "access_token": { - "description": "OAuth access token.", + "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": { @@ -1538,25 +1608,30 @@ "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" }, + "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", + "description": "Pretty-print response." + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", "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.", + "description": "OAuth bearer token.", "type": "string" }, "upload_protocol": { @@ -1565,24 +1640,27 @@ "location": "query" }, "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", "default": "true", - "type": "boolean" - }, - "fields": { + "type": "boolean", "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" + "description": "Returns response with indentations and line breaks." }, "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": { - "description": "V1 error format.", - "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -1591,32 +1669,14 @@ "enum": [ "1", "2" - ] - }, - "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" ], + "description": "V1 error format.", "type": "string" } }, "schemas": { "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": { @@ -1635,19 +1695,37 @@ "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", + "description": "Student's select choice." + } + }, + "id": "MultipleChoiceSubmission" + }, + "Name": { + "description": "Details of the user's name.", + "type": "object", + "properties": { + "familyName": { + "description": "The user's last name.\n\nRead-only.", + "type": "string" + }, + "givenName": { + "description": "The user's first name.\n\nRead-only.", + "type": "string" + }, + "fullName": { + "description": "The user's full name formed by concatenating the first and last name\nvalues.\n\nRead-only.", "type": "string" } - } + }, + "id": "Name" }, "CourseMaterial": { "description": "A material attached to a course as part of a material set.", @@ -1672,55 +1750,36 @@ }, "id": "CourseMaterial" }, - "Name": { - "type": "object", - "properties": { - "familyName": { - "description": "The user's last name.\n\nRead-only.", - "type": "string" - }, - "givenName": { - "description": "The user's first name.\n\nRead-only.", - "type": "string" - }, - "fullName": { - "description": "The user's full name formed by concatenating the first and last name\nvalues.\n\nRead-only.", - "type": "string" - } - }, - "id": "Name", - "description": "Details of the user's 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.", + "$ref": "DriveFolder" } }, - "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.", - "Students can edit the shared file.", - "Students have a personal copy of the shared file." - ], "enum": [ "UNKNOWN_SHARE_MODE", "VIEW", "EDIT", "STUDENT_COPY" ], - "description": "Mechanism by which students access the Drive item." + "description": "Mechanism by which students access the Drive item.", + "type": "string", + "enumDescriptions": [ + "No sharing mode specified. This should never be returned.", + "Students can view the shared file.", + "Students can edit the shared file.", + "Students have a personal copy of the shared file." + ] }, "driveFile": { "$ref": "DriveFile", @@ -1754,35 +1813,8 @@ "description": "A Course in Classroom.", "type": "object", "properties": { - "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." - }, - "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.", - "type": "string" - }, - "courseGroupEmail": { - "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" - }, - "courseMaterialSets": { - "description": "Sets of materials that appear on the \"about\" page of this course.\n\nRead-only.", - "items": { - "$ref": "CourseMaterialSet" - }, - "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.", + "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" }, "updateTime": { @@ -1790,10 +1822,6 @@ "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" }, - "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." @@ -1803,18 +1831,10 @@ "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.", + "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.", "type": "string" }, "courseState": { - "enum": [ - "COURSE_STATE_UNSPECIFIED", - "ACTIVE", - "ARCHIVED", - "PROVISIONED", - "DECLINED", - "SUSPENDED" - ], "description": "State of the course.\nIf unspecified, the default state is `PROVISIONED`.", "type": "string", "enumDescriptions": [ @@ -1824,6 +1844,14 @@ "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", + "ARCHIVED", + "PROVISIONED", + "DECLINED", + "SUSPENDED" ] }, "description": { @@ -1846,31 +1874,62 @@ "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": { + "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.", + "type": "string" + }, + "courseGroupEmail": { + "type": "string", + "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." + }, + "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": { + "$ref": "CourseMaterialSet" + }, + "type": "array" + }, + "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" } } }, "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." + "id": "DriveFile" }, "GlobalPermission": { "description": "Global user permission description.", @@ -1898,29 +1957,71 @@ "id": "ReturnStudentSubmissionRequest" }, "Teacher": { + "id": "Teacher", + "description": "Teacher of a course.", "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." + "description": "Identifier of the course.\n\nRead-only.", + "type": "string" + }, + "profile": { + "description": "Global user information for the teacher.\n\nRead-only.", + "$ref": "UserProfile" } - }, - "id": "Teacher", - "description": "Teacher of a course." + } }, "ReclaimStudentSubmissionRequest": { - "id": "ReclaimStudentSubmissionRequest", "description": "Request to reclaim a student submission.", "type": "object", - "properties": {} + "properties": {}, + "id": "ReclaimStudentSubmissionRequest" + }, + "GradeHistory": { + "properties": { + "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" + }, + "actorUserId": { + "type": "string", + "description": "The teacher who made the grade change." + }, + "gradeChangeType": { + "description": "The type of grade change at this time in the submission grade history.", + "type": "string", + "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" + ] + }, + "gradeTimestamp": { + "format": "google-datetime", + "description": "When the grade of the submission was changed.", + "type": "string" + } + }, + "id": "GradeHistory", + "description": "The history of each grade on this submission.", + "type": "object" }, "AssignmentSubmission": { "description": "Student work for an assignment.", @@ -1937,27 +2038,27 @@ "id": "AssignmentSubmission" }, "Material": { + "description": "Material attached to course work.\n\nWhen creating attachments, setting the `form` field is not supported.", + "type": "object", "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" + "$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." + "description": "YouTube video material.", + "$ref": "YouTubeVideo" }, "driveFile": { - "description": "Google Drive file material.", - "$ref": "SharedDriveFile" + "$ref": "SharedDriveFile", + "description": "Google Drive file material." } }, - "id": "Material", - "description": "Material attached to course work.\n\nWhen creating attachments, setting the `form` field is not supported.", - "type": "object" + "id": "Material" }, "CourseWork": { "id": "CourseWork", @@ -1981,8 +2082,8 @@ "type": "string" }, "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" + "type": "string", + "description": "Absolute link to this course work in the Classroom web UI.\nThis is only populated if `state` is `PUBLISHED`.\n\nRead-only." }, "maxPoints": { "format": "double", @@ -1990,20 +2091,14 @@ "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" + "$ref": "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." }, "assignment": { - "$ref": "Assignment", - "description": "Assignment details.\nThis is populated only when `work_type` is `ASSIGNMENT`.\n\nRead-only." + "description": "Assignment details.\nThis is populated only when `work_type` is `ASSIGNMENT`.\n\nRead-only.", + "$ref": "Assignment" }, "workType": { - "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", @@ -2011,7 +2106,13 @@ "MULTIPLE_CHOICE_QUESTION" ], "description": "Type of this course work.\n\nThe type is set when the course work is created and cannot be changed.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "No work type specified. This is never returned.", + "An assignment.", + "A short answer question.", + "A multiple-choice question." + ] }, "scheduledTime": { "format": "google-datetime", @@ -2032,17 +2133,17 @@ "description": "Optional date, in UTC, that submissions for this this course work are due.\nThis must be specified if `due_time` is specified." }, "submissionModificationMode": { + "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", "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" ] }, "state": { @@ -2062,29 +2163,30 @@ "type": "string" }, "courseId": { - "type": "string", - "description": "Identifier of the course.\n\nRead-only." + "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": { - "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" + "$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": { - "type": "string", - "description": "Title of this course work.\nThe title must be a valid UTF-8 string containing between 1 and 3000\ncharacters." + "description": "Title of this course work.\nThe title must be a valid UTF-8 string containing between 1 and 3000\ncharacters.", + "type": "string" } } }, "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" + "type": "string", + "description": "Identifier for the student to whom the guardian relationship applies." }, "invitedEmailAddress": { "description": "The email address to which the initial guardian invitation was sent.\nThis field is only visible to domain administrators.", @@ -2099,26 +2201,7 @@ "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" - } - }, - "id": "ListStudentsResponse" + "id": "Guardian" }, "UserProfile": { "description": "Global information for a user.", @@ -2140,8 +2223,8 @@ "type": "array" }, "name": { - "description": "Name of the user.\n\nRead-only.", - "$ref": "Name" + "$ref": "Name", + "description": "Name of the user.\n\nRead-only." }, "id": { "description": "Identifier of the user.\n\nRead-only.", @@ -2154,9 +2237,25 @@ }, "id": "UserProfile" }, - "Student": { - "description": "Student in a course.", + "ListStudentsResponse": { "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" + } + }, + "id": "ListStudentsResponse", + "description": "Response when listing students." + }, + "Student": { "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", @@ -2167,38 +2266,44 @@ "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" + "$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": { "$ref": "UserProfile", "description": "Global user information for the student.\n\nRead-only." } }, - "id": "Student" + "id": "Student", + "description": "Student in a course.", + "type": "object" }, "Invitation": { + "description": "An invitation to join a course.", + "type": "object", "properties": { "courseId": { "description": "Identifier of the course to invite the user to.", "type": "string" }, "id": { - "type": "string", - "description": "Identifier assigned by Classroom.\n\nRead-only." + "description": "Identifier assigned by Classroom.\n\nRead-only.", + "type": "string" }, "role": { - "enum": [ - "COURSE_ROLE_UNSPECIFIED", - "STUDENT", - "TEACHER" - ], "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." + "Teacher of the course.", + "Owner of the course." + ], + "enum": [ + "COURSE_ROLE_UNSPECIFIED", + "STUDENT", + "TEACHER", + "OWNER" ] }, "userId": { @@ -2206,15 +2311,16 @@ "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": "Invitation" }, "DriveFolder": { - "id": "DriveFolder", "description": "Representation of a Google Drive folder.", "type": "object", "properties": { + "id": { + "description": "Drive API resource ID.", + "type": "string" + }, "title": { "description": "Title of the Drive folder.\n\nRead-only.", "type": "string" @@ -2222,12 +2328,24 @@ "alternateLink": { "description": "URL that can be used to access the Drive folder.\n\nRead-only.", "type": "string" - }, - "id": { - "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": { + "stateHistory": { + "$ref": "StateHistory", + "description": "The state history information of the submission, if present." + }, + "gradeHistory": { + "description": "The grade history information of the submission, if present.", + "$ref": "GradeHistory" + } + }, + "id": "SubmissionHistory" }, "ShortAnswerSubmission": { "description": "Student work for a short answer question.", @@ -2240,11 +2358,30 @@ }, "id": "ShortAnswerSubmission" }, + "TurnInStudentSubmissionRequest": { + "description": "Request to turn in a student submission.", + "type": "object", + "properties": {}, + "id": "TurnInStudentSubmissionRequest" + }, "StudentSubmission": { "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": { + "creationTime": { + "type": "string", + "format": "google-datetime", + "description": "Creation time of this submission.\nThis may be unset if the student has not accessed this item.\n\nRead-only." + }, "state": { + "enumDescriptions": [ + "No state specified. This should never be returned.", + "The student has never accessed this submission. Attachments are not\nreturned and timestamps is not set.", + "Has been created.", + "Has been turned in to the teacher.", + "Has been returned to the student.", + "Student chose to \"unsubmit\" the assignment." + ], "enum": [ "SUBMISSION_STATE_UNSPECIFIED", "NEW", @@ -2254,15 +2391,7 @@ "RECLAIMED_BY_STUDENT" ], "description": "State of this submission.\n\nRead-only.", - "type": "string", - "enumDescriptions": [ - "No state specified. This should never be returned.", - "The student has never accessed this submission. Attachments are not\nreturned and timestamps is not set.", - "Has been created.", - "Has been turned in to the teacher.", - "Has been returned to the student.", - "Student chose to \"unsubmit\" the assignment." - ] + "type": "string" }, "userId": { "description": "Identifier for the student that owns this submission.\n\nRead-only.", @@ -2277,12 +2406,19 @@ "type": "string" }, "id": { - "description": "Classroom-assigned Identifier for the student submission.\nThis is unique among submissions for the relevant course work.\n\nRead-only.", - "type": "string" + "type": "string", + "description": "Classroom-assigned Identifier for the student submission.\nThis is unique among submissions for the relevant course work.\n\nRead-only." + }, + "submissionHistory": { + "items": { + "$ref": "SubmissionHistory" + }, + "type": "array", + "description": "The history of the submission (includes state and grade histories).\n\nRead-only." }, "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.", + "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": { @@ -2290,17 +2426,17 @@ "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." + "$ref": "AssignmentSubmission", + "description": "Submission content when course_work_type is ASSIGNMENT ." }, "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" }, + "shortAnswerSubmission": { + "description": "Submission content when course_work_type is SHORT_ANSWER_QUESTION.", + "$ref": "ShortAnswerSubmission" + }, "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.", @@ -2311,15 +2447,16 @@ "type": "string" }, "late": { - "description": "Whether this submission is late.\n\nRead-only.", - "type": "boolean" + "type": "boolean", + "description": "Whether this submission is late.\n\nRead-only." }, "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.", + "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": { + "type": "string", "enumDescriptions": [ "No work type specified. This is never returned.", "An assignment.", @@ -2332,27 +2469,12 @@ "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" + "description": "Type of course work this submission is for.\n\nRead-only." } }, "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": { "nextPageToken": { "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", @@ -2365,28 +2487,12 @@ }, "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", + "description": "Response when listing student submissions.", + "type": "object" }, "ModifyAttachmentsRequest": { - "description": "Request to modify the attachments of a student submission.", "type": "object", "properties": { "addAttachments": { @@ -2397,32 +2503,52 @@ "type": "array" } }, - "id": "ModifyAttachmentsRequest" + "id": "ModifyAttachmentsRequest", + "description": "Request to modify the attachments of a student submission." + }, + "ListCourseWorkResponse": { + "id": "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" + } + } }, "YouTubeVideo": { + "id": "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" - }, "title": { - "description": "Title of the YouTube video.\n\nRead-only.", - "type": "string" + "type": "string", + "description": "Title of the YouTube video.\n\nRead-only." }, "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": { + "description": "YouTube API resource ID.", + "type": "string" } - }, - "id": "YouTubeVideo" + } }, "ListInvitationsResponse": { + "description": "Response when listing invitations.", "type": "object", "properties": { "nextPageToken": { @@ -2430,42 +2556,32 @@ "type": "string" }, "invitations": { - "description": "Invitations that match the list request.", "items": { "$ref": "Invitation" }, - "type": "array" + "type": "array", + "description": "Invitations that match the list request." } }, - "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.", "type": "object", "properties": { - "creationTime": { - "format": "google-datetime", - "description": "The time that this invitation was created.\n\nRead-only.", - "type": "string" - }, - "invitationId": { - "description": "Unique identifier for this invitation.\n\nRead-only.", - "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)", @@ -2474,32 +2590,77 @@ "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.", + "type": "string" + }, + "invitationId": { + "type": "string", + "description": "Unique identifier for this invitation.\n\nRead-only." } }, "id": "GuardianInvitation" }, "Attachment": { - "description": "Attachment added to student assignment work.\n\nWhen creating attachments, setting the `form` field is not supported.", "type": "object", "properties": { - "link": { - "description": "Link attachment.", - "$ref": "Link" - }, "youTubeVideo": { "$ref": "YouTubeVideo", "description": "Youtube video attachment." }, "driveFile": { - "description": "Google Drive file attachment.", - "$ref": "DriveFile" + "$ref": "DriveFile", + "description": "Google Drive file attachment." }, "form": { "$ref": "Form", "description": "Google Forms attachment." + }, + "link": { + "description": "Link attachment.", + "$ref": "Link" } }, - "id": "Attachment" + "id": "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": { + "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" + ] + }, + "stateTimestamp": { + "type": "string", + "format": "google-datetime", + "description": "When the submission entered this state." + }, + "actorUserId": { + "type": "string", + "description": "The teacher or student who made the change" + } + }, + "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.", @@ -2565,9 +2726,15 @@ "id": "ListCoursesResponse" }, "Form": { - "description": "Google Forms item.", - "type": "object", "properties": { + "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" + }, + "formUrl": { + "description": "URL of the form.", + "type": "string" + }, "title": { "description": "Title of the Form.\n\nRead-only.", "type": "string" @@ -2575,21 +2742,13 @@ "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" + "id": "Form", + "description": "Google Forms item.", + "type": "object" }, "ListTeachersResponse": { - "description": "Response when listing teachers.", - "type": "object", "properties": { "nextPageToken": { "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", @@ -2603,44 +2762,46 @@ "type": "array" } }, - "id": "ListTeachersResponse" + "id": "ListTeachersResponse", + "description": "Response when listing teachers.", + "type": "object" }, "Link": { "description": "URL item.", "type": "object", "properties": { + "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." + "description": "Title of the target of the URL.\n\nRead-only.", + "type": "string" } }, "id": "Link" }, "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" + }, + "nextPageToken": { + "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", + "type": "string" } }, - "id": "ListGuardiansResponse", - "description": "Response when listing guardians." + "id": "ListGuardiansResponse" }, "ListGuardianInvitationsResponse": { "description": "Response when listing guardian invitations.", @@ -2692,68 +2853,9 @@ }, "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://classroom.googleapis.com/", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/classroom.rosters": { - "description": "Manage your Google Classroom class rosters" - }, - "https://www.googleapis.com/auth/classroom.student-submissions.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.students.readonly": { - "description": "View guardians for students in your Google Classroom classes" - }, - "https://www.googleapis.com/auth/classroom.courses": { - "description": "Manage your Google Classroom classes" - }, - "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.rosters.readonly": { - "description": "View your Google Classroom class rosters" - }, - "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.coursework.me.readonly": { - "description": "View your course work and grades in Google Classroom" - }, - "https://www.googleapis.com/auth/classroom.profile.emails": { - "description": "View the email addresses of people in your classes" - }, - "https://www.googleapis.com/auth/classroom.coursework.me": { - "description": "Manage your course work and view your grades in Google Classroom" - } - } - } - }, - "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" + "baseUrl": "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 00cfb1a..0d12012 100644 --- a/vendor/google.golang.org/api/classroom/v1/classroom-gen.go +++ b/vendor/google.golang.org/api/classroom/v1/classroom-gen.go @@ -243,7 +243,7 @@ type UserProfilesGuardiansService struct { 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") @@ -485,9 +485,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. @@ -1108,6 +1109,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. @@ -1230,6 +1300,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. @@ -1899,6 +1970,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,7 +2096,9 @@ 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"` @@ -2025,7 +2150,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 +2194,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 +2256,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 +2928,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 +3098,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 +3216,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 +3334,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" @@ -5128,7 +5305,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" 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 f9a6253..16f22bc 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 24ad441..df9433e 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 e43e7c9..a6c8a5b 100644 --- a/vendor/google.golang.org/api/cloudbuild/v1/cloudbuild-api.json +++ b/vendor/google.golang.org/api/cloudbuild/v1/cloudbuild-api.json @@ -1,209 +1,514 @@ { - "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." - ] + "resources": { + "projects": { + "resources": { + "builds": { + "methods": { + "cancel": { + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "id" + ], + "response": { + "$ref": "Build" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "description": "ID of the project.", + "type": "string", + "required": true, + "location": "path" + }, + "id": { + "location": "path", + "description": "ID of the build.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectId}/builds/{id}:cancel", + "path": "v1/projects/{projectId}/builds/{id}:cancel", + "id": "cloudbuild.projects.builds.cancel", + "request": { + "$ref": "CancelBuildRequest" + }, + "description": "Cancels a requested build in progress." + }, + "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", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "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 + }, + "filter": { + "description": "The raw filter text to constrain the results.", + "type": "string", + "location": "query" + }, + "pageToken": { + "type": "string", + "location": "query", + "description": "Token to provide to skip to a particular spot in the list." + } + }, + "flatPath": "v1/projects/{projectId}/builds", + "id": "cloudbuild.projects.builds.list", + "path": "v1/projects/{projectId}/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.", + "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": { + "description": "ID of the build.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/projects/{projectId}/builds/{id}", + "path": "v1/projects/{projectId}/builds/{id}", + "id": "cloudbuild.projects.builds.get" + }, + "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" + }, + "httpMethod": "POST", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "Operation" + }, + "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", + "path": "v1/projects/{projectId}/builds", + "id": "cloudbuild.projects.builds.create" + } + } }, - "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." - ] - } - }, - "id": "BuildOptions", - "description": "Optional arguments to enable specific features of builds.", - "type": "object" - }, - "StorageSource": { - "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))." - }, - "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." - } - }, - "id": "StorageSource", - "description": "StorageSource describes the location of the source in an archive file in\nGoogle Cloud Storage." - }, - "Results": { - "id": "Results", - "description": "Results describes the artifacts created by the build pipeline.", - "type": "object", - "properties": { - "buildStepImages": { - "description": "List of build step digests, in order corresponding to build step indices.", - "items": { - "type": "string" - }, - "type": "array" - }, - "images": { - "description": "Images that were built as a part of the build.", - "items": { - "$ref": "BuiltImage" - }, - "type": "array" + "triggers": { + "methods": { + "patch": { + "request": { + "$ref": "BuildTrigger" + }, + "description": "Updates an BuildTrigger by its project ID and trigger ID.\n\nThis API is experimental.", + "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": { + "location": "path", + "description": "ID of the project that owns the trigger.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectId}/triggers/{triggerId}", + "id": "cloudbuild.projects.triggers.patch", + "path": "v1/projects/{projectId}/triggers/{triggerId}" + }, + "list": { + "description": "Lists existing BuildTrigger.\n\nThis API is experimental.", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "ListBuildTriggersResponse" + }, + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "location": "path", + "description": "ID of the project for which to list BuildTriggers.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectId}/triggers", + "id": "cloudbuild.projects.triggers.list", + "path": "v1/projects/{projectId}/triggers" + }, + "get": { + "response": { + "$ref": "BuildTrigger" + }, + "parameterOrder": [ + "projectId", + "triggerId" + ], + "httpMethod": "GET", + "parameters": { + "triggerId": { + "description": "ID of the BuildTrigger to get.", + "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}", + "id": "cloudbuild.projects.triggers.get", + "path": "v1/projects/{projectId}/triggers/{triggerId}", + "description": "Gets information about a BuildTrigger.\n\nThis API is experimental." + }, + "create": { + "flatPath": "v1/projects/{projectId}/triggers", + "id": "cloudbuild.projects.triggers.create", + "path": "v1/projects/{projectId}/triggers", + "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": { + "location": "path", + "description": "ID of the project for which to configure automatic builds.", + "type": "string", + "required": true + } + } + }, + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "projectId", + "triggerId" + ], + "parameters": { + "triggerId": { + "description": "ID of the BuildTrigger to delete.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "ID of the project that owns the trigger." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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." + } + } } } }, - "BuildOperationMetadata": { - "description": "Metadata for build operations.", - "type": "object", - "properties": { - "build": { - "description": "The build that the operation is tracking.", - "$ref": "Build" - } - }, - "id": "BuildOperationMetadata" - }, - "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" + "operations": { + "methods": { + "cancel": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "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" } }, - "resolvedRepoSource": { - "$ref": "RepoSource", - "description": "A copy of the build's source.repo_source, if exists, with any\nrevisions resolved." - } - }, - "id": "SourceProvenance" - }, - "CancelOperationRequest": { - "description": "The request message for Operations.CancelOperation.", - "type": "object", - "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" + "get": { + "response": { + "$ref": "Operation" }, - "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" + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource.", + "type": "string", + "required": true, + "pattern": "^operations/.+$" + } }, - "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" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/operations/{operationsId}", + "id": "cloudbuild.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." }, - "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", - "properties": { - "triggers": { - "description": "BuildTriggers for the project, sorted by create_time descending.", - "items": { - "$ref": "BuildTrigger" + "list": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "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": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + }, + "filter": { + "location": "query", + "description": "The standard list filter.", + "type": "string" + } }, - "type": "array" + "flatPath": "v1/operations", + "path": "v1/{+name}", + "id": "cloudbuild.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" + } } - }, - "id": "ListBuildTriggersResponse" + } + } + }, + "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" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "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" + }, + "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": { + "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": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + } + }, + "version": "v1", + "baseUrl": "https://cloudbuild.googleapis.com/", + "servicePath": "", + "description": "Builds container images in the cloud.", + "kind": "discovery#restDescription", + "basePath": "", + "revision": "20170829", + "documentationLink": "https://cloud.google.com/container-builder/docs/", + "id": "cloudbuild:v1", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { "BuiltImage": { "description": "BuiltImage describes an image built by the pipeline.", "type": "object", "properties": { - "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" + }, + "digest": { + "description": "Docker Registry 2.0 digest.", + "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." @@ -211,23 +516,23 @@ "enum": [ "NONE", "SHA256" - ] + ], + "description": "The type of hash that was performed.", + "type": "string" + }, + "value": { + "format": "byte", + "description": "The hash value.", + "type": "string" } }, - "id": "Hash" + "id": "Hash", + "description": "Container message for hash values." }, "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" @@ -239,6 +544,14 @@ "projectId": { "description": "ID of the project that owns the repo. If omitted, the project ID requesting\nthe build is assumed.", "type": "string" + }, + "commitSha": { + "description": "Explicit commit SHA to build.", + "type": "string" + }, + "tagName": { + "description": "Name of the tag to build.", + "type": "string" } }, "id": "RepoSource" @@ -247,17 +560,12 @@ "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" - }, - "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.", @@ -283,11 +591,32 @@ "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" + }, + "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" + }, + "secretEnv": { + "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.", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "type": "string", + "description": "Optional unique identifier for this build step, used in wait_for to\nreference this build step as a dependency." } }, "id": "BuildStep" }, "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,22 +626,39 @@ "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": { + "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": { + "description": "Cloud KMS key name to use to decrypt these envs.", + "type": "string" + } + }, + "id": "Secret" }, "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" }, @@ -329,21 +675,35 @@ "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" + "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" }, "BuildTrigger": { + "description": "Configuration for an automated build in response to source repository\nchanges.", "type": "object", "properties": { + "description": { + "description": "Human-readable description of this trigger.", + "type": "string" + }, + "disabled": { + "description": "If true, the trigger will never result in a build.", + "type": "boolean" + }, + "createTime": { + "type": "string", + "format": "google-datetime", + "description": "Time when the trigger was created.\n\n@OutputOnly" + }, "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" + "$ref": "RepoSource", + "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." }, "id": { "description": "Unique identifier of the trigger.\n\n@OutputOnly", @@ -359,76 +719,22 @@ }, "description": "Substitutions data for Build resource.", "type": "object" - }, - "description": { - "description": "Human-readable description of this trigger.", - "type": "string" - }, - "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" } }, - "id": "BuildTrigger", - "description": "Configuration for an automated build in response to source repository\nchanges." + "id": "BuildTrigger" }, "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.", "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.", - "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", - "WORKING", - "SUCCESS", - "FAILURE", - "INTERNAL_ERROR", - "TIMEOUT", - "CANCELLED" - ], - "description": "Status of the build.\n@OutputOnly" - }, - "statusDetail": { - "description": "Customer-readable message about the current status.\n@OutputOnly", + "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": { "$ref": "Results", "description": "Results of the build.\n@OutputOnly" }, - "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" - }, "steps": { "description": "Describes the operations to be performed on the workspace.", "items": { @@ -441,11 +747,11 @@ "type": "string" }, "tags": { - "description": "Tags for annotation of a Build. These are not docker tags.", "items": { "type": "string" }, - "type": "array" + "type": "array", + "description": "Tags for annotation of a Build. These are not docker tags." }, "id": { "description": "Unique identifier of the build.\n@OutputOnly", @@ -483,28 +789,73 @@ "description": "ID of the project.\n@OutputOnly.", "type": "string" }, + "logUrl": { + "description": "URL to logs for this build in Google Cloud Logging.\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", + "options": { + "$ref": "BuildOptions", + "description": "Special options for this build." + }, + "source": { + "$ref": "Source", + "description": "Describes where to find the source files to build." + }, + "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" + }, + "status": { + "enum": [ + "STATUS_UNKNOWN", + "QUEUED", + "WORKING", + "SUCCESS", + "FAILURE", + "INTERNAL_ERROR", + "TIMEOUT", + "CANCELLED" + ], + "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", + "type": "string" + }, + "secrets": { + "description": "Secrets to decrypt using Cloud KMS.", + "items": { + "$ref": "Secret" + }, + "type": "array" } }, - "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": { + "properties": {}, "id": "CancelBuildRequest", "description": "Request to cancel an ongoing build.", - "type": "object", - "properties": {} + "type": "object" }, "ListBuildsResponse": { - "description": "Response including listed builds.", - "type": "object", "properties": { "nextPageToken": { "description": "Token to receive the next page of results.", @@ -518,20 +869,37 @@ "type": "array" } }, - "id": "ListBuildsResponse" + "id": "ListBuildsResponse", + "description": "Response including listed builds.", + "type": "object" + }, + "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" }, "ListOperationsResponse": { "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", @@ -540,25 +908,200 @@ }, "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.", "$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": { + "substitutionOption": { + "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." + ], + "enum": [ + "MUST_MATCH", + "ALLOW_LOOSE" + ] + }, + "requestedVerifyOption": { + "enumDescriptions": [ + "Not a verifiable build. (default)", + "Verified build." + ], + "enum": [ + "NOT_VERIFIED", + "VERIFIED" + ], + "description": "Requested verifiability options.", + "type": "string" + }, + "sourceProvenanceHash": { + "enumDescriptions": [ + "No hash requested.", + "Use a sha256 hash." + ], + "description": "Requested hash for SourceProvenance.", + "items": { + "enum": [ + "NONE", + "SHA256" + ], + "type": "string" + }, + "type": "array" + } + }, + "id": "BuildOptions", + "description": "Optional arguments to enable specific features of builds." + }, + "StorageSource": { + "id": "StorageSource", + "description": "StorageSource describes the location of the source in an archive file in\nGoogle Cloud Storage.", + "type": "object", + "properties": { + "bucket": { + "description": "Google Cloud Storage bucket containing source (see\n[Bucket Name\nRequirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", + "type": "string" + }, + "object": { + "type": "string", + "description": "Google Cloud Storage object containing source.\n\nThis object must be a gzipped archive file (.tar.gz) containing source to\nbuild." + }, + "generation": { + "format": "int64", + "description": "Google Cloud Storage generation for the object. If the generation is\nomitted, the latest generation will be used.", + "type": "string" + } + } + }, + "Results": { + "properties": { + "images": { + "description": "Images that were built as a part of the build.", + "items": { + "$ref": "BuiltImage" + }, + "type": "array" + }, + "buildStepImages": { + "description": "List of build step digests, in order corresponding to build step indices.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "Results", + "description": "Results describes the artifacts created by the build pipeline.", + "type": "object" + }, + "BuildOperationMetadata": { + "description": "Metadata for build operations.", + "type": "object", + "properties": { + "build": { + "description": "The build that the operation is tracking.", + "$ref": "Build" + } + }, + "id": "BuildOperationMetadata" + }, + "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": { + "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", + "type": "object" + }, + "resolvedRepoSource": { + "description": "A copy of the build's source.repo_source, if exists, with any\nrevisions resolved.", + "$ref": "RepoSource" + } + }, + "id": "SourceProvenance" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "type": "object", + "properties": {}, + "id": "CancelOperationRequest" + }, + "ListBuildTriggersResponse": { + "description": "Response containing existing BuildTriggers.", + "type": "object", + "properties": { + "triggers": { + "description": "BuildTriggers for the project, sorted by create_time descending.", + "items": { + "$ref": "BuildTrigger" + }, + "type": "array" + } + }, + "id": "ListBuildTriggersResponse" + }, + "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\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" + }, + "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" + } + }, + "id": "Operation" } }, - "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 Build", "auth": { "oauth2": { @@ -574,493 +1117,5 @@ "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" + "ownerName": "Google" } 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 951769d..b28b8c3 100644 --- a/vendor/google.golang.org/api/cloudbuild/v1/cloudbuild-gen.go +++ b/vendor/google.golang.org/api/cloudbuild/v1/cloudbuild-gen.go @@ -205,6 +205,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 +434,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 +792,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 +940,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. @@ -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 769b487..c914700 100644 --- a/vendor/google.golang.org/api/clouddebugger/v2/clouddebugger-api.json +++ b/vendor/google.golang.org/api/clouddebugger/v2/clouddebugger-api.json @@ -1,335 +1,425 @@ { - "discoveryVersion": "v1", - "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": { + "title": "Stackdriver Debugger API", + "ownerName": "Google", + "resources": { + "controller": { + "resources": { "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" + "methods": { + "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 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" + }, + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "RegisterDebuggeeResponse" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ], + "flatPath": "v2/controller/debuggees/register" + } }, - "type": "array" + "resources": { + "breakpoints": { + "methods": { + "list": { + "response": { + "$ref": "ListActiveBreakpointsResponse" + }, + "parameterOrder": [ + "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` (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": { + "description": "Identifies the debuggee.", + "type": "string", + "required": true, + "location": "path" + }, + "waitToken": { + "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", + "location": "query" + } + }, + "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": { + "response": { + "$ref": "UpdateActiveBreakpointResponse" + }, + "parameterOrder": [ + "debuggeeId", + "id" + ], + "httpMethod": "PUT", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ], + "parameters": { + "id": { + "location": "path", + "description": "Breakpoint identifier, unique in the scope of the debuggee.", + "type": "string", + "required": true + }, + "debuggeeId": { + "location": "path", + "description": "Identifies the debuggee being debugged.", + "type": "string", + "required": true + } + }, + "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}", + "id": "clouddebugger.controller.debuggees.breakpoints.update", + "path": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}", + "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." + } + } + } + } } - }, - "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" + "debugger": { + "resources": { + "debuggees": { + "methods": { + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListDebuggeesResponse" + }, + "parameterOrder": [], + "parameters": { + "clientVersion": { + "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).", + "type": "string", + "location": "query" + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ], + "flatPath": "v2/debugger/debuggees", + "path": "v2/debugger/debuggees", + "id": "clouddebugger.debugger.debuggees.list", + "description": "Lists all the debuggees that the user has access to." + } }, - "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" + "resources": { + "breakpoints": { + "methods": { + "delete": { + "id": "clouddebugger.debugger.debuggees.breakpoints.delete", + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", + "description": "Deletes the breakpoint from the debuggee.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "debuggeeId", + "breakpointId" + ], + "httpMethod": "DELETE", + "parameters": { + "breakpointId": { + "location": "path", + "description": "ID of the breakpoint to delete.", + "type": "string", + "required": true + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ], + "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}" + }, + "set": { + "id": "clouddebugger.debugger.debuggees.breakpoints.set", + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/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" + }, + "list": { + "description": "Lists all breakpoints for the debuggee.", + "httpMethod": "GET", + "response": { + "$ref": "ListBreakpointsResponse" + }, + "parameterOrder": [ + "debuggeeId" + ], + "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" + ] + }, + "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" + }, + "includeInactive": { + "description": "When set to `true`, the response includes active and inactive\nbreakpoints. Otherwise, it includes only active breakpoints.", + "type": "boolean", + "location": "query" + } + }, + "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints", + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints", + "id": "clouddebugger.debugger.debuggees.breakpoints.list" + }, + "get": { + "id": "clouddebugger.debugger.debuggees.breakpoints.get", + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", + "description": "Gets breakpoint information.", + "parameterOrder": [ + "debuggeeId", + "breakpointId" + ], + "response": { + "$ref": "GetBreakpointResponse" + }, + "httpMethod": "GET", + "parameters": { + "breakpointId": { + "location": "path", + "description": "ID of the breakpoint to get.", + "type": "string", + "required": true + }, + "debuggeeId": { + "description": "ID of the debuggee whose breakpoint to get.", + "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/{breakpointId}" + } + } + } + } } - }, - "id": "Debuggee" + } + } + }, + "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" }, - "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" + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" }, - "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" + "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": { + "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": { + "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": "v2", + "baseUrl": "https://clouddebugger.googleapis.com/", + "servicePath": "", + "description": "Examines the call stack and variables of a running application without stopping or slowing it down.\n", + "kind": "discovery#restDescription", + "basePath": "", + "revision": "20170817", + "documentationLink": "http://cloud.google.com/debugger", + "id": "clouddebugger:v2", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { "CloudWorkspaceSourceContext": { + "id": "CloudWorkspaceSourceContext", "description": "A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot.", "type": "object", "properties": { @@ -338,22 +428,28 @@ "type": "string" }, "workspaceId": { - "description": "The ID of the workspace.", - "$ref": "CloudWorkspaceId" + "$ref": "CloudWorkspaceId", + "description": "The ID of the workspace." } - }, - "id": "CloudWorkspaceSourceContext" - }, - "UpdateActiveBreakpointResponse": { - "type": "object", - "properties": {}, - "id": "UpdateActiveBreakpointResponse", - "description": "Response for updating an active breakpoint.\nThe message is defined to allow future extensions." + } }, "GerritSourceContext": { + "id": "GerritSourceContext", "description": "A SourceContext referring to a Gerrit project.", "type": "object", "properties": { + "aliasName": { + "description": "The name of an alias (branch, tag, etc.).", + "type": "string" + }, + "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" @@ -361,21 +457,14 @@ "hostUri": { "description": "The URI of a running Gerrit instance.", "type": "string" - }, - "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" + } + }, + "UpdateActiveBreakpointResponse": { + "id": "UpdateActiveBreakpointResponse", + "description": "Response for updating an active breakpoint.\nThe message is defined to allow future extensions.", + "type": "object", + "properties": {} }, "CloudWorkspaceId": { "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.", @@ -386,32 +475,69 @@ "type": "string" }, "repoId": { - "$ref": "RepoId", - "description": "The ID of the repo containing the workspace." + "description": "The ID of the repo containing the workspace.", + "$ref": "RepoId" } }, "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": { + "id": "Breakpoint", + "description": "Represents the breakpoint specification, status and results.", + "type": "object", "properties": { + "action": { + "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." + ], + "enum": [ + "CAPTURE", + "LOG" + ], + "description": "Action that the agent should perform when the code at the\nbreakpoint location is hit.", + "type": "string" + }, + "logLevel": { + "enumDescriptions": [ + "Information log message.", + "Warning log message.", + "Error log message." + ], + "enum": [ + "INFO", + "WARNING", + "ERROR" + ], + "description": "Indicates the severity of the log. Only relevant when action is `LOG`.", + "type": "string" + }, + "id": { + "description": "Breakpoint identifier, unique in the scope of the debuggee.", + "type": "string" + }, + "location": { + "description": "Breakpoint source location.", + "$ref": "SourceLocation" + }, "finalTime": { "format": "google-datetime", "description": "Time this breakpoint was finalized as seen by the server in seconds\nresolution.", @@ -441,11 +567,11 @@ "type": "string" }, "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": { "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." + "type": "array" }, "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.", @@ -470,98 +596,62 @@ "type": "string" }, "status": { - "description": "Breakpoint status.\n\nThe status includes an error flag and a human readable message.\nThis field is usually unset. The message can be either\ninformational or an error message. Regardless, clients should always\ndisplay the text message back to the user.\n\nError status indicates complete failure of the breakpoint.\n\nExample (non-final state): `Still loading symbols...`\n\nExamples (final state):\n\n* `Invalid line number` referring to location\n* `Field f not found in class C` referring to condition", - "$ref": "StatusMessage" + "$ref": "StatusMessage", + "description": "Breakpoint status.\n\nThe status includes an error flag and a human readable message.\nThis field is usually unset. The message can be either\ninformational or an error message. Regardless, clients should always\ndisplay the text message back to the user.\n\nError status indicates complete failure of the breakpoint.\n\nExample (non-final state): `Still loading symbols...`\n\nExamples (final state):\n\n* `Invalid line number` referring to location\n* `Field f not found in class C` referring to condition" }, "userEmail": { "description": "E-mail address of the user that created this breakpoint", "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." - ], - "enum": [ - "CAPTURE", - "LOG" - ], - "description": "Action that the agent should perform when the code at the\nbreakpoint location is hit." - }, - "logLevel": { - "description": "Indicates the severity of the log. Only relevant when action is `LOG`.", - "type": "string", - "enumDescriptions": [ - "Information log message.", - "Warning log message.", - "Error log message." - ], - "enum": [ - "INFO", - "WARNING", - "ERROR" - ] - }, - "id": { - "type": "string", - "description": "Breakpoint identifier, unique in the scope of the debuggee." - }, - "location": { - "description": "Breakpoint source location.", - "$ref": "SourceLocation" } - }, - "id": "Breakpoint", - "description": "Represents the breakpoint specification, status and results.", - "type": "object" + } }, "UpdateActiveBreakpointRequest": { + "description": "Request to update an active breakpoint.", "type": "object", "properties": { "breakpoint": { - "description": "Updated breakpoint information.\nThe field 'id' must be set.", + "description": "Updated breakpoint information.\nThe field `id` must be set.\nThe agent must echo all Breakpoint specification fields in the update.", "$ref": "Breakpoint" } }, - "id": "UpdateActiveBreakpointRequest", - "description": "Request to update an active breakpoint." + "id": "UpdateActiveBreakpointRequest" }, "SetBreakpointResponse": { + "id": "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." + } }, "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": { + "gerrit": { + "$ref": "GerritSourceContext", + "description": "A SourceContext referring to a Gerrit project." + }, "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" + "$ref": "CloudRepoSourceContext", + "description": "A SourceContext referring to a revision in a cloud repo." }, "git": { "$ref": "GitSourceContext", "description": "A SourceContext referring to any third party Git repo (e.g. GitHub)." - }, - "gerrit": { - "description": "A SourceContext referring to a Gerrit project.", - "$ref": "GerritSourceContext" } - } + }, + "id": "SourceContext" }, "CloudRepoSourceContext": { + "id": "CloudRepoSourceContext", "description": "A CloudRepoSourceContext denotes a particular revision in a cloud\nrepo (a repo hosted by the Google Cloud Platform).", "type": "object", "properties": { @@ -578,33 +668,32 @@ "description": "The ID of the repo." }, "aliasContext": { - "$ref": "AliasContext", - "description": "An alias, which may be a branch or tag." + "description": "An alias, which may be a branch or tag.", + "$ref": "AliasContext" } - }, - "id": "CloudRepoSourceContext" + } }, "RegisterDebuggeeRequest": { + "id": "RegisterDebuggeeRequest", + "description": "Request to register a debuggee.", "type": "object", "properties": { "debuggee": { "$ref": "Debuggee", "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": { + "id": "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)." + "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." } - }, - "id": "RegisterDebuggeeResponse" + } }, "GetBreakpointResponse": { "description": "Response for getting breakpoint information.", @@ -616,12 +705,339 @@ } }, "id": "GetBreakpointResponse" + }, + "StatusMessage": { + "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", + "properties": { + "description": { + "description": "Status message text.", + "$ref": "FormatMessage" + }, + "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" + } + } + }, + "GitSourceContext": { + "id": "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" + } + } + }, + "Variable": { + "id": "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": { + "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" + }, + "members": { + "description": "Members contained or pointed to by the variable.", + "items": { + "$ref": "Variable" + }, + "type": "array" + }, + "status": { + "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`", + "$ref": "StatusMessage" + }, + "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" + } + } + }, + "StackFrame": { + "id": "StackFrame", + "description": "Represents a stack frame context.", + "type": "object", + "properties": { + "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" + }, + "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" + } + } + }, + "RepoId": { + "description": "A unique identifier for a cloud repo.", + "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" + }, + "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": { + "id": "ExtendedSourceContext", + "description": "An ExtendedSourceContext is a SourceContext combined with additional\ndetails describing the context.", + "type": "object", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels with user defined metadata.", + "type": "object" + }, + "context": { + "description": "Any source context.", + "$ref": "SourceContext" + } + } + }, + "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" + }, + "AliasContext": { + "id": "AliasContext", + "description": "An alias to a repo revision.", + "type": "object", + "properties": { + "name": { + "description": "The alias name.", + "type": "string" + }, + "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" + } + } + }, + "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": {} + }, + "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": { + "id": "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": { + "id": { + "description": "Unique identifier for the debuggee generated by the controller service.", + "type": "string" + }, + "agentVersion": { + "description": "Version ID of the agent.\nSchema: `domain/language-platform/vmajor.minor` (for example\n`google.com/java-gcp/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": "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" + }, + "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": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of custom debuggee properties, populated by the agent, to be\ndisplayed to the user.", + "type": "object" + }, + "status": { + "$ref": "StatusMessage", + "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." + }, + "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" + } + } + }, + "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": "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" + } + }, + "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" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, "canonicalName": "Cloud Debugger", "auth": { @@ -639,421 +1055,5 @@ "rootUrl": "https://clouddebugger.googleapis.com/", "ownerDomain": "google.com", "name": "clouddebugger", - "batchPath": "batch", - "title": "Stackdriver Debugger API", - "ownerName": "Google", - "resources": { - "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" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud_debugger" - ] - } - }, - "resources": { - "breakpoints": { - "methods": { - "list": { - "response": { - "$ref": "ListActiveBreakpointsResponse" - }, - "parameterOrder": [ - "debuggeeId" - ], - "httpMethod": "GET", - "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).", - "type": "boolean" - }, - "debuggeeId": { - "description": "Identifies the debuggee.", - "type": "string", - "required": true, - "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" - } - }, - "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", - "description": "Identifies the debuggee being debugged.", - "type": "string", - "required": true - }, - "id": { - "location": "path", - "description": "Breakpoint identifier, unique in the scope of the debuggee.", - "type": "string", - "required": true - } - }, - "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" - } - } - } - } - } - } - } - }, - "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" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "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" - }, - "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": { - "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": { - "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" - } - }, - "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" + "batchPath": "batch" } 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 98f3871..91399fd 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 0dae3b6..46d5152 100644 --- a/vendor/google.golang.org/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json +++ b/vendor/google.golang.org/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json @@ -1,47 +1,56 @@ { + "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": "20170816", + "documentationLink": "https://cloud.google.com/error-reporting/", + "id": "clouderrorreporting:v1beta1", + "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.", "format": "google-datetime", + "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" }, "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": { + "$ref": "ServiceContext", + "description": "The `ServiceContext` for which this error was reported." } - } + }, + "id": "ErrorEvent" }, "ReportedErrorEvent": { "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." }, "message": { - "description": "[Required] The error message.\nIf no `context.reportLocation` is provided, the message must contain a\nheader (typically consisting of the exception type name and an error\nmessage) and an exception stack trace in one of the supported programming\nlanguages and formats.\nSupported languages are Java, Python, JavaScript, Ruby, C#, PHP, and Go.\nSupported stack trace formats are:\n\n* **Java**: Must be the return value of [`Throwable.printStackTrace()`](https://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#printStackTrace%28%29).\n* **Python**: Must be the return value of [`traceback.format_exc()`](https://docs.python.org/2/library/traceback.html#traceback.format_exc).\n* **JavaScript**: Must be the value of [`error.stack`](https://github.com/v8/v8/wiki/Stack-Trace-API)\nas returned by V8.\n* **Ruby**: Must contain frames returned by [`Exception.backtrace`](https://ruby-doc.org/core-2.2.0/Exception.html#method-i-backtrace).\n* **C#**: Must be the return value of [`Exception.ToString()`](https://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx).\n* **PHP**: Must start with `PHP (Notice|Parse error|Fatal error|Warning)`\nand contain the result of [`(string)$exception`](http://php.net/manual/en/exception.tostring.php).\n* **Go**: Must be the return value of [`runtime.Stack()`](https://golang.org/pkg/runtime/debug/#Stack).", - "type": "string" + "type": "string", + "description": "[Required] The error message.\nIf no `context.reportLocation` is provided, the message must contain a\nheader (typically consisting of the exception type name and an error\nmessage) and an exception stack trace in one of the supported programming\nlanguages and formats.\nSupported languages are Java, Python, JavaScript, Ruby, C#, PHP, and Go.\nSupported stack trace formats are:\n\n* **Java**: Must be the return value of [`Throwable.printStackTrace()`](https://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#printStackTrace%28%29).\n* **Python**: Must be the return value of [`traceback.format_exc()`](https://docs.python.org/2/library/traceback.html#traceback.format_exc).\n* **JavaScript**: Must be the value of [`error.stack`](https://github.com/v8/v8/wiki/Stack-Trace-API)\nas returned by V8.\n* **Ruby**: Must contain frames returned by [`Exception.backtrace`](https://ruby-doc.org/core-2.2.0/Exception.html#method-i-backtrace).\n* **C#**: Must be the return value of [`Exception.ToString()`](https://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx).\n* **PHP**: Must start with `PHP (Notice|Parse error|Fatal error|Warning)`\nand contain the result of [`(string)$exception`](http://php.net/manual/en/exception.tostring.php).\n* **Go**: Must be the return value of [`runtime.Stack()`](https://golang.org/pkg/runtime/debug/#Stack)." }, "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", @@ -49,30 +58,30 @@ "type": "object" }, "ErrorContext": { + "id": "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": { "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", + "description": "Source code that was used to build the executable which has\ncaused the given error message.", "items": { "$ref": "SourceReference" }, - "description": "Source code that was used to build the executable which has\ncaused the given error message." + "type": "array" + }, + "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." } - }, - "id": "ErrorContext" + } }, "TrackingIssue": { "description": "Information related to tracking the progress on resolving the error.", @@ -86,126 +95,145 @@ "id": "TrackingIssue" }, "ErrorGroupStats": { + "description": "Data extracted for a specific group based on certain filter criteria,\nsuch as a given time period and/or service filter.", + "type": "object", "properties": { "group": { "$ref": "ErrorGroup", "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": { + "format": "int64", "description": "Approximate total number of events in the given group that match\nthe filter criteria.", - "format": "int64", - "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", "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" + }, + "affectedUsersCount": { + "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" }, "numAffectedServices": { - "description": "The total number of services with a non-zero error count for the given\nfilter criteria.", + "type": "integer", "format": "int32", - "type": "integer" + "description": "The total number of services with a non-zero error count for the given\nfilter criteria." }, "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." }, "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", + "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." } }, - "id": "ErrorGroupStats", - "description": "Data extracted for a specific group based on certain filter criteria,\nsuch as a given time period and/or service filter.", - "type": "object" + "id": "ErrorGroupStats" }, "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" }, "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" }, "TimedCount": { + "id": "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" } - }, - "id": "TimedCount" + } }, "ErrorGroup": { "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": { + "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" + } + }, + "id": "ServiceContext" + }, "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", @@ -215,59 +243,32 @@ "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": { "properties": { - "referrer": { - "description": "The referrer information that is provided with the request.", - "type": "string" - }, - "userAgent": { - "description": "The user agent information that is provided with the request.", - "type": "string" - }, "url": { "type": "string", "description": "The URL of the request." }, "responseStatusCode": { - "description": "The HTTP response status code for the request.", "format": "int32", + "description": "The HTTP response status code for the request.", "type": "integer" }, "method": { @@ -277,6 +278,14 @@ "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" + }, + "userAgent": { + "type": "string", + "description": "The user agent information that is provided with the request." } }, "id": "HttpRequestContext", @@ -287,45 +296,45 @@ "description": "Contains a set of requested error group stats.", "type": "object", "properties": { + "timeRangeBegin": { + "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.", - "type": "array", "items": { "$ref": "ErrorGroupStats" - } + }, + "type": "array" }, "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", - "type": "string" } }, "id": "ListGroupStatsResponse" }, + "DeleteEventsResponse": { + "properties": {}, + "id": "DeleteEventsResponse", + "description": "Response message for deleting error events.", + "type": "object" + }, "SourceReference": { "description": "A reference to a particular snapshot of the source tree used to build and\ndeploy an application.", "type": "object", "properties": { - "revisionId": { - "description": "The canonical and persistent identifier of the deployed revision.\nExample (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"", - "type": "string" - }, "repository": { "description": "Optional. A URI string identifying the repository.\nExample: \"https://github.com/GoogleCloudPlatform/kubernetes.git\"", "type": "string" + }, + "revisionId": { + "description": "The canonical and persistent identifier of the deployed revision.\nExample (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"", + "type": "string" } }, "id": "SourceReference" - }, - "DeleteEventsResponse": { - "description": "Response message for deleting error events.", - "type": "object", - "properties": {}, - "id": "DeleteEventsResponse" } }, "icons": { @@ -353,18 +362,18 @@ "projects": { "methods": { "deleteEvents": { + "response": { + "$ref": "DeleteEventsResponse" + }, "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", + "required": true, "pattern": "^projects/[^/]+$", "location": "path" } @@ -379,171 +388,36 @@ } }, "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" + "description": "Lists the specified groups.", + "httpMethod": "GET", + "response": { + "$ref": "ListGroupStatsResponse" + }, + "parameterOrder": [ + "projectName" ], "parameters": { + "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": { + "location": "query", + "format": "google-duration", + "description": "[Optional] The preferred duration for a single returned `TimedCount`.\nIf not set, no timed counts are returned.", + "type": "string" + }, + "pageToken": { + "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.", + "type": "string" + }, "timeRange.period": { "location": "query", "enum": [ @@ -558,34 +432,38 @@ "type": "string" }, "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", - "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" }, + "groupId": { + "location": "query", + "description": "[Optional] List all \u003ccode\u003eErrorGroupStats\u003c/code\u003e with these IDs.", + "type": "string", + "repeated": true + }, + "serviceFilter.service": { + "type": "string", + "location": "query", + "description": "[Optional] The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service)." + }, "pageSize": { - "description": "[Optional] The maximum number of results to return per response.\nDefault is 20.", + "location": "query", "format": "int32", - "type": "integer", - "location": "query" + "description": "[Optional] The maximum number of results to return per response.\nDefault is 20.", + "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" }, "order": { - "location": "query", "enum": [ "GROUP_ORDER_UNSPECIFIED", "COUNT_DESC", @@ -594,8 +472,145 @@ "AFFECTED_USERS_DESC" ], "description": "[Optional] The sort order in which the results are returned.\nDefault is `COUNT_DESC`.", + "type": "string", + "location": "query" + }, + "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": { + "type": "string", + "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." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectsId}/groupStats", + "path": "v1beta1/{+projectName}/groupStats", + "id": "clouderrorreporting.projects.groupStats.list" + } + } + }, + "groups": { + "methods": { + "update": { + "flatPath": "v1beta1/projects/{projectsId}/groups/{groupsId}", + "path": "v1beta1/{+name}", + "id": "clouderrorreporting.projects.groups.update", + "request": { + "$ref": "ErrorGroup" + }, + "description": "Replace the data for the specified group.\nFails if the group does not exist.", + "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", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/groups/[^/]+$", + "location": "path" + } + } + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "groupName" + ], + "response": { + "$ref": "ErrorGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/groups/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/groups/{groupsId}", + "path": "v1beta1/{+groupName}", + "id": "clouderrorreporting.projects.groups.get", + "description": "Get the specified group." + } + } + }, + "events": { + "methods": { + "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" + }, + "httpMethod": "POST", + "parameterOrder": [ + "projectName" + ], + "response": { + "$ref": "ReportErrorEventResponse" + }, + "parameters": { + "projectName": { + "type": "string", + "required": true, + "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`." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectsId}/events:report", + "path": "v1beta1/{+projectName}/events:report", + "id": "clouderrorreporting.projects.events.report" + }, + "list": { + "id": "clouderrorreporting.projects.events.list", + "path": "v1beta1/{+projectName}/events", + "description": "Lists the specified events.", + "response": { + "$ref": "ListEventsResponse" + }, + "parameterOrder": [ + "projectName" + ], + "httpMethod": "GET", + "parameters": { + "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" + }, + "pageSize": { + "format": "int32", + "description": "[Optional] The maximum number of results to return per response.", + "type": "integer", + "location": "query" + }, "serviceFilter.version": { "location": "query", "description": "[Optional] The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).", @@ -606,42 +621,36 @@ "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" + "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": { - "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" + "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 }, - "timedCountDuration": { - "description": "[Optional] The preferred duration for a single returned `TimedCount`.\nIf not set, no timed counts are returned.", - "format": "google-duration", + "groupId": { + "description": "[Required] The group for which events shall be returned.", "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" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" ], - "response": { - "$ref": "ListGroupStatsResponse" - } + "flatPath": "v1beta1/projects/{projectsId}/events" } } } @@ -650,45 +659,46 @@ }, "parameters": { "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" }, "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" }, - "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" + }, + "callback": { "location": "query", - "enum": [ - "1", - "2" - ] + "description": "JSONP", + "type": "string" }, "alt": { + "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -701,29 +711,28 @@ "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": { + "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", - "location": "query" + "type": "boolean" }, "bearer_token": { "location": "query", @@ -731,20 +740,11 @@ "type": "string" }, "oauth_token": { - "location": "query", "description": "OAuth 2.0 token for the current user.", - "type": "string" + "type": "string", + "location": "query" } }, "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" + "baseUrl": "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 f3241fb..792dde3 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 84df081..5403cc7 100644 --- a/vendor/google.golang.org/api/cloudfunctions/v1/cloudfunctions-api.json +++ b/vendor/google.golang.org/api/cloudfunctions/v1/cloudfunctions-api.json @@ -1,106 +1,135 @@ { - "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": { + "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" + }, + "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" + }, + "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" + }, + "Operation": { + "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\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" + } + }, + "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", + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object" + }, + "ListOperationsResponse": { + "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.", + "type": "object" + }, "OperationMetadataV1Beta2": { "description": "Metadata describing an Operation", "type": "object", @@ -138,14 +167,239 @@ } }, "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 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.", + "response": { + "$ref": "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": "^operations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/operations/{operationsId}", + "id": "cloudfunctions.operations.get", + "path": "v1/{+name}" + }, + "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": [], + "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": { + "location": "query", + "description": "The name of the operation's parent resource.", + "type": "string" + }, + "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": "cloudfunctions.operations.list", + "path": "v1/operations" + } + } + }, + "projects": { + "resources": { + "locations": { + "methods": { + "list": { + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ListLocationsResponse" + }, + "parameters": { + "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/[^/]+$" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/locations", + "path": "v1/{+name}/locations", + "id": "cloudfunctions.projects.locations.list", + "description": "Lists information about the supported locations for this service." + } + } + } + } + } + }, + "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": { + "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": { + "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": { + "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": { + "description": "OAuth access 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" + "servicePath": "", + "basePath": "", + "revision": "20170822", + "documentationLink": "https://cloud.google.com/functions", + "id": "cloudfunctions:v1" } 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 eccc2b0..4b09b01 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. @@ -107,3 +342,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 17868a4..9a728ea 100644 --- a/vendor/google.golang.org/api/cloudfunctions/v1beta2/cloudfunctions-api.json +++ b/vendor/google.golang.org/api/cloudfunctions/v1beta2/cloudfunctions-api.json @@ -1,357 +1,4 @@ { - "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": { @@ -366,234 +13,10 @@ "ownerDomain": "google.com", "name": "cloudfunctions", "batchPath": "batch", + "fullyEncodeReservedExpansion": true, "title": "Google Cloud Functions API", "ownerName": "Google", "resources": { - "projects": { - "resources": { - "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": { - "$ref": "CloudFunction" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "name": { - "description": "The name of the function which details should be obtained.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", - "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" - }, - "description": "Updates existing function.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "PUT", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", - "location": "path", - "description": "The name of the function to be updated.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}" - }, - "delete": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "parameters": { - "name": { - "location": "path", - "description": "The name of the function which should be deleted.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$" - } - }, - "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." - } - } - } - }, - "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" - } - } - } - } - }, "operations": { "methods": { "get": { @@ -626,28 +49,25 @@ "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": [], "response": { "$ref": "ListOperationsResponse" }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], + "parameterOrder": [], "parameters": { "filter": { - "location": "query", "description": "The standard list filter.", - "type": "string" + "type": "string", + "location": "query" }, "pageToken": { + "location": "query", "description": "The standard list page token.", - "type": "string", - "location": "query" + "type": "string" }, "name": { + "location": "query", "description": "The name of the operation's parent resource.", - "type": "string", - "location": "query" + "type": "string" }, "pageSize": { "location": "query", @@ -656,24 +76,262 @@ "type": "integer" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1beta2/operations" } } + }, + "projects": { + "resources": { + "locations": { + "methods": { + "list": { + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "response": { + "$ref": "ListLocationsResponse" + }, + "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": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "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": "v1beta2/projects/{projectsId}/locations", + "id": "cloudfunctions.projects.locations.list", + "path": "v1beta2/{+name}/locations", + "description": "Lists information about the supported locations for this service." + } + }, + "resources": { + "functions": { + "methods": { + "delete": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "location": "path", + "description": "The name of the function which should be deleted.", + "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." + }, + "list": { + "description": "Returns a list of functions that belong to the requested project.", + "response": { + "$ref": "ListFunctionsResponse" + }, + "parameterOrder": [ + "location" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "pageToken": { + "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", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "Maximum number of functions to return per call.", + "type": "integer", + "location": "query" + }, + "location": { + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "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 + } + }, + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions", + "id": "cloudfunctions.projects.locations.functions.list", + "path": "v1beta2/{+location}/functions" + }, + "call": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "CallFunctionResponse" + }, + "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", + "path": "v1beta2/{+name}:call", + "id": "cloudfunctions.projects.locations.functions.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": { + "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/[^/]+$", + "location": "path" + } + }, + "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": { + "response": { + "$ref": "CloudFunction" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "location": "path", + "description": "The name of the function which details should be obtained.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", + "id": "cloudfunctions.projects.locations.functions.get", + "path": "v1beta2/{+name}", + "description": "Returns a function with the given name from the requested project." + }, + "update": { + "description": "Updates existing function.", + "request": { + "$ref": "CloudFunction" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "location": "path", + "description": "The name of the function to be updated.", + "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.update", + "path": "v1beta2/{+name}" + } + } + } + } + } + } } }, "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.", + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string", "location": "query" }, - "$.xgafv": { + "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": { "enum": [ "1", "2" @@ -683,14 +341,17 @@ "enumDescriptions": [ "v1 error format", "v2 error format" - ] - }, - "callback": { - "description": "JSONP", - "type": "string", + ], "location": "query" }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, "alt": { + "description": "Data format for response.", + "default": "json", "enum": [ "json", "media", @@ -702,19 +363,17 @@ "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" }, "access_token": { + "description": "OAuth access token.", "type": "string", - "location": "query", - "description": "OAuth access token." + "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" + "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.", @@ -728,30 +387,397 @@ "type": "boolean" }, "bearer_token": { - "type": "string", "location": "query", - "description": "OAuth bearer token." + "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" } }, "version": "v1beta2", "baseUrl": "https://cloudfunctions.googleapis.com/", - "servicePath": "", "kind": "discovery#restDescription", - "description": "API for managing lightweight user-provided functions executed in response to events." + "description": "API for managing lightweight user-provided functions executed in response to events.", + "servicePath": "", + "basePath": "", + "id": "cloudfunctions:v1beta2", + "documentationLink": "https://cloud.google.com/functions", + "revision": "20170822", + "discoveryVersion": "v1", + "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": { + "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": { + "description": "Describes the location of the function source in a remote repository.", + "type": "object", + "properties": { + "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" + }, + "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" + }, + "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" + }, + "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" + } + }, + "id": "SourceRepository" + }, + "CallFunctionRequest": { + "properties": { + "data": { + "description": "Input to be passed to the function.", + "type": "string" + } + }, + "id": "CallFunctionRequest", + "description": "Request for the `CallFunction` method.", + "type": "object" + }, + "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": { + "description": "The hosted repository where the function is defined.", + "$ref": "SourceRepository" + }, + "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": { + "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/*/aliases/movable/*/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/*/aliases/fixed/*/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" + }, + "eventTrigger": { + "description": "A source that fires events in response to a condition in another service.", + "$ref": "EventTrigger" + }, + "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." + ] + }, + "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": { + "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": { + "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" + } + }, + "id": "Location" + }, + "Retry": { + "properties": {}, + "id": "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" + }, + "ListOperationsResponse": { + "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.", + "type": "object" + }, + "ListFunctionsResponse": { + "description": "Response for the `ListFunctions` method.", + "type": "object", + "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" + }, + "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" + }, + "CallFunctionResponse": { + "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", + "description": "Response of `CallFunction` method.", + "type": "object" + }, + "EventTrigger": { + "properties": { + "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/firebase.database/eventTypes/data.write`", + "type": "string" + }, + "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" + } + }, + "id": "EventTrigger", + "description": "Describes EventTrigger, used to request events be sent from another\nservice.", + "type": "object" + }, + "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": { + "description": "If specified, then the function will be retried in case of a failure.", + "$ref": "Retry" + } + }, + "id": "FailurePolicy" + }, + "Operation": { + "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", + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object" + }, + "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": { + "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" + } + }, + "id": "OperationMetadataV1Beta2" + } + }, + "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" + } } 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 a1512a2..8254bcc 100644 --- a/vendor/google.golang.org/api/cloudfunctions/v1beta2/cloudfunctions-gen.go +++ b/vendor/google.golang.org/api/cloudfunctions/v1beta2/cloudfunctions-gen.go @@ -245,6 +245,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/*/ali + // ases/movable/*/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/*/aliase + // s/fixed/*/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: @@ -316,6 +339,9 @@ type EventTrigger struct { // `providers/firebase.database/eventTypes/data.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 @@ -350,6 +376,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 { @@ -654,6 +712,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 +873,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/cloudkms/v1/cloudkms-api.json b/vendor/google.golang.org/api/cloudkms/v1/cloudkms-api.json index 2c72d95..c095f36 100644 --- a/vendor/google.golang.org/api/cloudkms/v1/cloudkms-api.json +++ b/vendor/google.golang.org/api/cloudkms/v1/cloudkms-api.json @@ -1,310 +1,894 @@ { - "id": "cloudkms:v1", - "revision": "20170621", + "canonicalName": "Cloud KMS", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "rootUrl": "https://cloudkms.googleapis.com/", + "ownerDomain": "google.com", + "name": "cloudkms", + "batchPath": "batch", + "title": "Google Cloud Key Management Service (KMS) API", + "ownerName": "Google", + "resources": { + "projects": { + "resources": { + "locations": { + "resources": { + "keyRings": { + "resources": { + "cryptoKeys": { + "methods": { + "list": { + "description": "Lists CryptoKeys.", + "httpMethod": "GET", + "response": { + "$ref": "ListCryptoKeysResponse" + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the KeyRing to list, in the format\n`projects/*/locations/*/keyRings/*`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$", + "location": "path" + }, + "pageToken": { + "description": "Optional pagination token, returned earlier via\nListCryptoKeysResponse.next_page_token.", + "type": "string", + "location": "query" + }, + "pageSize": { + "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", + "location": "query" + } + }, + "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" + }, + "encrypt": { + "response": { + "$ref": "EncryptResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/.+$", + "location": "path", + "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.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:encrypt", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.encrypt", + "path": "v1/{+name}:encrypt", + "request": { + "$ref": "EncryptRequest" + }, + "description": "Encrypts data, so that it can only be recovered by a call to Decrypt." + }, + "setIamPolicy": { + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.setIamPolicy", + "path": "v1/{+resource}: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": { + "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/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:setIamPolicy" + }, + "create": { + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.create", + "path": "v1/{+parent}/cryptoKeys", + "description": "Create a new CryptoKey within a KeyRing.\n\nCryptoKey.purpose is required.", + "request": { + "$ref": "CryptoKey" + }, + "response": { + "$ref": "CryptoKey" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "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" + }, + "parent": { + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$", + "location": "path", + "description": "Required. The name of the KeyRing associated with the\nCryptoKeys.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys" + }, + "updatePrimaryVersion": { + "response": { + "$ref": "CryptoKey" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The resource name of the CryptoKey to update.", + "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}:updatePrimaryVersion", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.updatePrimaryVersion", + "path": "v1/{+name}:updatePrimaryVersion", + "description": "Update the version of a CryptoKey that will be used in Encrypt", + "request": { + "$ref": "UpdateCryptoKeyPrimaryVersionRequest" + } + }, + "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", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", + "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}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:getIamPolicy" + }, + "get": { + "description": "Returns metadata for a given CryptoKey, as well as its\nprimary CryptoKeyVersion.", + "httpMethod": "GET", + "response": { + "$ref": "CryptoKey" + }, + "parameterOrder": [ + "name" + ], + "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}", + "path": "v1/{+name}", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.get" + }, + "patch": { + "request": { + "$ref": "CryptoKey" + }, + "description": "Update a CryptoKey.", + "response": { + "$ref": "CryptoKey" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "updateMask": { + "format": "google-fieldmask", + "description": "Required list of fields to be updated in this request.", + "type": "string", + "location": "query" + }, + "name": { + "description": "Output only. The resource name for this CryptoKey in the format\n`projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.patch", + "path": "v1/{+name}" + }, + "testIamPermissions": { + "path": "v1/{+resource}:testIamPermissions", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.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" + ], + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", + "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}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:testIamPermissions" + }, + "decrypt": { + "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.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:decrypt", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.decrypt", + "path": "v1/{+name}:decrypt", + "request": { + "$ref": "DecryptRequest" + }, + "description": "Decrypts data that was protected by Encrypt." + } + }, + "resources": { + "cryptoKeyVersions": { + "methods": { + "list": { + "description": "Lists CryptoKeyVersions.", + "response": { + "$ref": "ListCryptoKeyVersionsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "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": { + "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" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.list", + "path": "v1/{+parent}/cryptoKeyVersions" + }, + "create": { + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.create", + "path": "v1/{+parent}/cryptoKeyVersions", + "request": { + "$ref": "CryptoKeyVersion" + }, + "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.", + "response": { + "$ref": "CryptoKeyVersion" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "parent": { + "description": "Required. The name of the CryptoKey associated with\nthe CryptoKeyVersions.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions" + }, + "destroy": { + "response": { + "$ref": "CryptoKeyVersion" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The resource name of the CryptoKeyVersion to destroy.", + "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}:destroy", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.destroy", + "path": "v1/{+name}: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" + } + }, + "restore": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "CryptoKeyVersion" + }, + "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", + "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" + } + }, + "get": { + "description": "Returns metadata for a given CryptoKeyVersion.", + "response": { + "$ref": "CryptoKeyVersion" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the CryptoKeyVersion to get.", + "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}", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.get", + "path": "v1/{+name}" + }, + "patch": { + "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" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", + "location": "path", + "description": "Output only. The resource name for this CryptoKeyVersion in the format\n`projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.", + "type": "string", + "required": true + }, + "updateMask": { + "format": "google-fieldmask", + "description": "Required list of fields to be updated in this request.", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.patch", + "path": "v1/{+name}" + } + } + } + } + } + }, + "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.", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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/[^/]+/keyRings/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}:getIamPolicy", + "id": "cloudkms.projects.locations.keyRings.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy" + }, + "get": { + "id": "cloudkms.projects.locations.keyRings.get", + "path": "v1/{+name}", + "description": "Returns metadata for a given KeyRing.", + "response": { + "$ref": "KeyRing" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "The name of the KeyRing to get.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}" + }, + "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" + }, + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$", + "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" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}:testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "id": "cloudkms.projects.locations.keyRings.testIamPermissions" + }, + "list": { + "id": "cloudkms.projects.locations.keyRings.list", + "path": "v1/{+parent}/keyRings", + "description": "Lists KeyRings.", + "response": { + "$ref": "ListKeyRingsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "pageToken": { + "description": "Optional pagination token, returned earlier via\nListKeyRingsResponse.next_page_token.", + "type": "string", + "location": "query" + }, + "pageSize": { + "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", + "location": "query" + }, + "parent": { + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "description": "Required. The resource name of the location associated with the\nKeyRings, in the format `projects/*/locations/*`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings" + }, + "setIamPolicy": { + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$", + "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}/locations/{locationsId}/keyRings/{keyRingsId}:setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "id": "cloudkms.projects.locations.keyRings.setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy." + }, + "create": { + "id": "cloudkms.projects.locations.keyRings.create", + "path": "v1/{+parent}/keyRings", + "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", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings" + } + } + } + }, + "methods": { + "get": { + "id": "cloudkms.projects.locations.get", + "path": "v1/{+name}", + "description": "Get information about a location.", + "response": { + "$ref": "Location" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "description": "Resource name for the location.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}" + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "response": { + "$ref": "ListLocationsResponse" + }, + "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": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/locations", + "id": "cloudkms.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" + }, + "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": { + "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": { + "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": { + "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.", + "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" + } + }, + "version": "v1", + "baseUrl": "https://cloudkms.googleapis.com/", + "description": "Manages encryption for your cloud services the same way you do on-premises. You can generate, use, rotate, and destroy AES256 encryption keys.", + "kind": "discovery#restDescription", + "servicePath": "", + "basePath": "", + "revision": "20170821", "documentationLink": "https://cloud.google.com/kms/", + "id": "cloudkms:v1", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "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": "Expr" - }, - "EncryptRequest": { - "description": "Request message for KeyManagementService.Encrypt.", - "type": "object", - "properties": { - "additionalAuthenticatedData": { - "format": "byte", - "description": "Optional data that, if specified, must also be provided during decryption\nthrough DecryptRequest.additional_authenticated_data. Must be no\nlarger than 64KiB.", - "type": "string" - }, - "plaintext": { - "format": "byte", - "description": "Required. The data to encrypt. Must be no larger than 64KiB.", - "type": "string" - } - }, - "id": "EncryptRequest" - }, - "ListCryptoKeyVersionsResponse": { - "description": "Response message for KeyManagementService.ListCryptoKeyVersions.", - "type": "object", - "properties": { - "cryptoKeyVersions": { - "description": "The list of CryptoKeyVersions.", - "items": { - "$ref": "CryptoKeyVersion" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A token to retrieve next page of results. Pass this value in\nListCryptoKeyVersionsRequest.page_token to retrieve the next page of\nresults.", - "type": "string" - }, - "totalSize": { - "format": "int32", - "description": "The total number of CryptoKeyVersions that matched the\nquery.", - "type": "integer" - } - }, - "id": "ListCryptoKeyVersionsResponse" - }, - "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" - }, - "DestroyCryptoKeyVersionRequest": { - "description": "Request message for KeyManagementService.DestroyCryptoKeyVersion.", - "type": "object", - "properties": {}, - "id": "DestroyCryptoKeyVersionRequest" - }, - "Rule": { - "description": "A rule to be applied in a Policy.", - "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", - "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" - ] - } - }, - "id": "Rule" - }, - "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": { - "createTime": { - "format": "google-datetime", - "description": "Output only. The time at which this CryptoKey was created.", - "type": "string" - }, - "rotationPeriod": { - "format": "google-duration", - "description": "next_rotation_time will be advanced by this period when the service\nautomatically rotates a key. Must be at least one day.\n\nIf rotation_period is set, next_rotation_time must also be set.", - "type": "string" - }, - "primary": { - "description": "Output only. A copy of the \"primary\" CryptoKeyVersion that will be used\nby Encrypt when this CryptoKey is given\nin EncryptRequest.name.\n\nThe CryptoKey's primary version can be updated via\nUpdateCryptoKeyPrimaryVersion.", - "$ref": "CryptoKeyVersion" - }, - "name": { - "description": "Output only. The resource name for this CryptoKey in the format\n`projects/*/locations/*/keyRings/*/cryptoKeys/*`.", - "type": "string" - }, - "purpose": { - "enumDescriptions": [ - "Not specified.", - "CryptoKeys with this purpose may be used with\nEncrypt and\nDecrypt." - ], - "enum": [ - "CRYPTO_KEY_PURPOSE_UNSPECIFIED", - "ENCRYPT_DECRYPT" - ], - "description": "The immutable purpose of this CryptoKey. Currently, the only acceptable\npurpose is ENCRYPT_DECRYPT.", - "type": "string" - }, - "nextRotationTime": { - "format": "google-datetime", - "description": "At next_rotation_time, the Key Management Service will automatically:\n\n1. Create a new version of this CryptoKey.\n2. Mark the new version as primary.\n\nKey rotations performed manually via\nCreateCryptoKeyVersion and\nUpdateCryptoKeyPrimaryVersion\ndo not affect next_rotation_time.", - "type": "string" - } - }, - "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": { + "sys": { + "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", + "enumDescriptions": [ + "Default non-attribute type", + "Region of the resource", + "Service name", + "Resource name", + "IP address of the caller" + ] + }, + "value": { + "description": "DEPRECATED. Use 'values' instead.", + "type": "string" + }, + "values": { + "description": "The objects of the condition. This is mutually exclusive with 'value'.", + "items": { + "type": "string" + }, + "type": "array" + }, "iam": { "enumDescriptions": [ "Default non-attribute.", @@ -323,16 +907,7 @@ "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.", @@ -348,39 +923,19 @@ "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" }, "CounterOptions": { - "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,\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": { "field": { @@ -425,8 +980,6 @@ "id": "AuditLogConfig" }, "DecryptResponse": { - "description": "Response message for KeyManagementService.Decrypt.", - "type": "object", "properties": { "plaintext": { "format": "byte", @@ -434,7 +987,9 @@ "type": "string" } }, - "id": "DecryptResponse" + "id": "DecryptResponse", + "description": "Response message for KeyManagementService.Decrypt.", + "type": "object" }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", @@ -451,14 +1006,7 @@ "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" }, @@ -487,13 +1035,18 @@ "$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" + "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" }, "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", - "type": "object", "properties": { "nextPageToken": { "description": "The standard List next-page token.", @@ -507,20 +1060,22 @@ "type": "array" } }, - "id": "ListLocationsResponse" + "id": "ListLocationsResponse", + "description": "The response message for Locations.ListLocations.", + "type": "object" }, "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" + }, + "name": { + "description": "The resource name of the CryptoKeyVersion used in encryption.", + "type": "string" } }, "id": "EncryptResponse" @@ -542,10 +1097,10 @@ "id": "KeyRing" }, "RestoreCryptoKeyVersionRequest": { - "description": "Request message for KeyManagementService.RestoreCryptoKeyVersion.", - "type": "object", "properties": {}, - "id": "RestoreCryptoKeyVersionRequest" + "id": "RestoreCryptoKeyVersionRequest", + "description": "Request message for KeyManagementService.RestoreCryptoKeyVersion.", + "type": "object" }, "UpdateCryptoKeyPrimaryVersionRequest": { "description": "Request message for KeyManagementService.UpdateCryptoKeyPrimaryVersion.", @@ -561,7 +1116,20 @@ "DataAccessOptions": { "description": "Write a Data Access (Gin) log", "type": "object", - "properties": {}, + "properties": { + "logMode": { + "enumDescriptions": [ + "Client is not required to write a partial Gin log immediately after\nthe authorization check. If client chooses to write one and it fails,\nclient may either fail open (allow the operation to continue) or\nfail closed (handle as a DENY outcome).", + "The application's operation in the context of which this authorization\ncheck is being made may only be performed if it is successfully logged\nto Gin. For instance, the authorization library may satisfy this\nobligation by emitting a partial log entry at authorization check time\nand only returning ALLOW to the application if it succeeds.\n\nIf a matching Rule has this directive, but the client has not indicated\nthat it will honor such requirements, then the IAM check will result in\nauthorization failure by setting CheckPolicyResponse.success=false." + ], + "enum": [ + "LOG_MODE_UNSPECIFIED", + "LOG_FAIL_CLOSED" + ], + "description": "Whether Gin logging should happen in a fail-closed manner at the caller.\nThis is relevant only in the LocalIAM implementation, for now.", + "type": "string" + } + }, "id": "DataAccessOptions" }, "ListKeyRingsResponse": { @@ -591,6 +1159,10 @@ "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": { @@ -603,18 +1175,34 @@ "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": { + "state": { + "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" + ], + "description": "The current state of the CryptoKeyVersion.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name for this CryptoKeyVersion in the format\n`projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.", + "type": "string" + }, "destroyEventTime": { "format": "google-datetime", "description": "Output only. The time this CryptoKeyVersion's key material was\ndestroyed. Only present if state is\nDESTROYED.", @@ -629,56 +1217,34 @@ "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" + "id": "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" }, "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" + "type": "string", + "enumDescriptions": [ + "Default. Should not be used.", + "Corresponds to \"cloudaudit.googleapis.com/activity\"", + "Corresponds to \"cloudaudit.googleapis.com/data_access\"" + ] } }, "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.", @@ -696,863 +1262,310 @@ "type": "string" } }, - "id": "Binding" + "id": "Binding", + "description": "Associates `members` with a `role`.", + "type": "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": { + "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" + }, + "EncryptRequest": { + "properties": { + "additionalAuthenticatedData": { + "format": "byte", + "description": "Optional data that, if specified, must also be provided during decryption\nthrough DecryptRequest.additional_authenticated_data. Must be no\nlarger than 64KiB.", + "type": "string" + }, + "plaintext": { + "format": "byte", + "description": "Required. The data to encrypt. Must be no larger than 64KiB.", + "type": "string" + } + }, + "id": "EncryptRequest", + "description": "Request message for KeyManagementService.Encrypt.", + "type": "object" + }, + "ListCryptoKeyVersionsResponse": { + "properties": { + "cryptoKeyVersions": { + "description": "The list of CryptoKeyVersions.", + "items": { + "$ref": "CryptoKeyVersion" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass this value in\nListCryptoKeyVersionsRequest.page_token to retrieve the next page of\nresults.", + "type": "string" + }, + "totalSize": { + "format": "int32", + "description": "The total number of CryptoKeyVersions that matched the\nquery.", + "type": "integer" + } + }, + "id": "ListCryptoKeyVersionsResponse", + "description": "Response message for KeyManagementService.ListCryptoKeyVersions.", + "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" + }, + "DestroyCryptoKeyVersionRequest": { + "description": "Request message for KeyManagementService.DestroyCryptoKeyVersion.", + "type": "object", + "properties": {}, + "id": "DestroyCryptoKeyVersionRequest" + }, + "CryptoKey": { + "properties": { + "purpose": { + "enum": [ + "CRYPTO_KEY_PURPOSE_UNSPECIFIED", + "ENCRYPT_DECRYPT" + ], + "description": "The immutable purpose of this CryptoKey. Currently, the only acceptable\npurpose is ENCRYPT_DECRYPT.", + "type": "string", + "enumDescriptions": [ + "Not specified.", + "CryptoKeys with this purpose may be used with\nEncrypt and\nDecrypt." + ] + }, + "nextRotationTime": { + "format": "google-datetime", + "description": "At next_rotation_time, the Key Management Service will automatically:\n\n1. Create a new version of this CryptoKey.\n2. Mark the new version as primary.\n\nKey rotations performed manually via\nCreateCryptoKeyVersion and\nUpdateCryptoKeyPrimaryVersion\ndo not affect next_rotation_time.", + "type": "string" + }, + "createTime": { + "format": "google-datetime", + "description": "Output only. The time at which this CryptoKey was created.", + "type": "string" + }, + "rotationPeriod": { + "format": "google-duration", + "description": "next_rotation_time will be advanced by this period when the service\nautomatically rotates a key. Must be at least one day.\n\nIf rotation_period is set, next_rotation_time must also be set.", + "type": "string" + }, + "primary": { + "$ref": "CryptoKeyVersion", + "description": "Output only. A copy of the \"primary\" CryptoKeyVersion that will be used\nby Encrypt when this CryptoKey is given\nin EncryptRequest.name.\n\nThe CryptoKey's primary version can be updated via\nUpdateCryptoKeyPrimaryVersion." + }, + "name": { + "description": "Output only. The resource name for this CryptoKey in the format\n`projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "type": "string" + } + }, + "id": "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" + }, + "Rule": { + "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": { + "enum": [ + "NO_ACTION", + "ALLOW", + "ALLOW_WITH_LOG", + "DENY", + "DENY_WITH_LOG", + "LOG" + ], + "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." + ] + } + }, + "id": "Rule", + "description": "A rule to be applied in a Policy.", + "type": "object" + }, + "LogConfig": { + "description": "Specifies what kind of log the caller must write", + "type": "object", + "properties": { + "cloudAudit": { + "description": "Cloud audit options.", + "$ref": "CloudAuditOptions" + }, + "counter": { + "$ref": "CounterOptions", + "description": "Counter options." + }, + "dataAccess": { + "$ref": "DataAccessOptions", + "description": "Data access options." + } + }, + "id": "LogConfig" + }, + "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" + }, + "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": { + "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": { + "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" + } + }, + "id": "Location", + "description": "A resource that represents Google Cloud Platform location.", + "type": "object" + }, + "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" } }, - "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 KMS", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - } - } - } - }, - "rootUrl": "https://cloudkms.googleapis.com/", - "ownerDomain": "google.com", - "name": "cloudkms", - "batchPath": "batch", - "title": "Google Cloud Key Management Service (KMS) API", - "ownerName": "Google", - "resources": { - "projects": { - "resources": { - "locations": { - "methods": { - "get": { - "description": "Get information about a location.", - "response": { - "$ref": "Location" - }, - "parameterOrder": [ - "name" - ], - "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": "v1/projects/{projectsId}/locations/{locationsId}", - "id": "cloudkms.projects.locations.get", - "path": "v1/{+name}" - }, - "list": { - "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": { - "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/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/locations", - "id": "cloudkms.projects.locations.list", - "path": "v1/{+name}/locations" - } - }, - "resources": { - "keyRings": { - "methods": { - "get": { - "httpMethod": "GET", - "response": { - "$ref": "KeyRing" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the KeyRing to get.", - "type": "string", - "required": true, - "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": { - "$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" - ], - "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/[^/]+/keyRings/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}:testIamPermissions", - "id": "cloudkms.projects.locations.keyRings.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions" - }, - "list": { - "description": "Lists KeyRings.", - "response": { - "$ref": "ListKeyRingsResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "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", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+$", - "location": "path" - }, - "keyRingId": { - "description": "Required. It must be unique within a location and match the regular\nexpression `[a-zA-Z0-9_-]{1,63}`", - "type": "string", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings", - "id": "cloudkms.projects.locations.keyRings.create", - "path": "v1/{+parent}/keyRings" - }, - "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" - }, - "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/[^/]+/keyRings/[^/]+$", - "location": "path" - } - } - }, - "getIamPolicy": { - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "GET", - "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/[^/]+/locations/[^/]+/keyRings/[^/]+$" - } - }, - "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": { - "cryptoKeys": { - "methods": { - "list": { - "description": "Lists CryptoKeys.", - "httpMethod": "GET", - "response": { - "$ref": "ListCryptoKeysResponse" - }, - "parameterOrder": [ - "parent" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "pageToken": { - "description": "Optional pagination token, returned earlier via\nListCryptoKeysResponse.next_page_token.", - "type": "string", - "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" - }, - "parent": { - "location": "path", - "description": "Required. The resource name of the KeyRing to list, in the format\n`projects/*/locations/*/keyRings/*`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$" - } - }, - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys", - "path": "v1/{+parent}/cryptoKeys", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.list" - }, - "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" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "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.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/.+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "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" - ], - "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/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "create": { - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.create", - "path": "v1/{+parent}/cryptoKeys", - "request": { - "$ref": "CryptoKey" - }, - "description": "Create a new CryptoKey within a KeyRing.\n\nCryptoKey.purpose is required.", - "response": { - "$ref": "CryptoKey" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "cryptoKeyId": { - "description": "Required. It must be unique within a KeyRing and match the regular\nexpression `[a-zA-Z0-9_-]{1,63}`", - "type": "string", - "location": "query" - }, - "parent": { - "location": "path", - "description": "Required. The name of the KeyRing associated with the\nCryptoKeys.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$" - } - } - }, - "updatePrimaryVersion": { - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:updatePrimaryVersion", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.updatePrimaryVersion", - "path": "v1/{+name}:updatePrimaryVersion", - "description": "Update the version of a CryptoKey that will be used in Encrypt", - "request": { - "$ref": "UpdateCryptoKeyPrimaryVersionRequest" - }, - "response": { - "$ref": "CryptoKey" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "parameters": { - "name": { - "location": "path", - "description": "The resource name of the CryptoKey to update.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "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" - }, - "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/[^/]+/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}" - }, - "patch": { - "request": { - "$ref": "CryptoKey" - }, - "description": "Update a CryptoKey.", - "response": { - "$ref": "CryptoKey" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "PATCH", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "updateMask": { - "format": "google-fieldmask", - "description": "Required list of fields to be updated in this request.", - "type": "string", - "location": "query" - }, - "name": { - "location": "path", - "description": "Output only. The resource name for this CryptoKey in the format\n`projects/*/locations/*/keyRings/*/cryptoKeys/*`.", - "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.patch", - "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" - }, - "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" - ], - "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/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$" - } - } - }, - "decrypt": { - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "DecryptResponse" - }, - "parameters": { - "name": { - "description": "Required. The resource name of the CryptoKey to use for decryption.\nThe server will choose the appropriate version.", - "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}:decrypt", - "path": "v1/{+name}:decrypt", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.decrypt", - "description": "Decrypts data that was protected by Encrypt.", - "request": { - "$ref": "DecryptRequest" - } - } - }, - "resources": { - "cryptoKeyVersions": { - "methods": { - "list": { - "description": "Lists CryptoKeyVersions.", - "httpMethod": "GET", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ListCryptoKeyVersionsResponse" - }, - "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" - } - }, - "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.", - "request": { - "$ref": "CryptoKeyVersion" - }, - "response": { - "$ref": "CryptoKeyVersion" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "parameters": { - "parent": { - "location": "path", - "description": "Required. The name of the CryptoKey associated with\nthe CryptoKeyVersions.", - "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", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.create", - "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" - ], - "response": { - "$ref": "CryptoKeyVersion" - }, - "parameters": { - "name": { - "location": "path", - "description": "The resource name of the CryptoKeyVersion to destroy.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "restore": { - "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", - "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", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "CryptoKeyVersion" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "description": "The resource name of the CryptoKeyVersion to restore.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", - "location": "path" - } - } - }, - "patch": { - "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" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "PATCH", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "updateMask": { - "format": "google-fieldmask", - "description": "Required list of fields to be updated in this request.", - "type": "string", - "location": "query" - }, - "name": { - "location": "path", - "description": "Output only. The resource name for this CryptoKeyVersion in the format\n`projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.", - "type": "string", - "required": true, - "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." - } - } - } - } - } - } - } - } - } - } - } - }, - "parameters": { - "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": { - "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" - }, - "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.", - "kind": "discovery#restDescription", - "basePath": "" + "icons": { + "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/cloudkms/v1/cloudkms-gen.go b/vendor/google.golang.org/api/cloudkms/v1/cloudkms-gen.go index f51770c..83abfe3 100644 --- a/vendor/google.golang.org/api/cloudkms/v1/cloudkms-gen.go +++ b/vendor/google.golang.org/api/cloudkms/v1/cloudkms-gen.go @@ -496,7 +496,35 @@ func (s *Condition) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CounterOptions: Options for counters +// CounterOptions: 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 CounterOptions struct { // Field: The field value to attribute. Field string `json:"field,omitempty"` @@ -620,6 +648,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. @@ -691,6 +727,55 @@ func (s *CryptoKeyVersion) MarshalJSON() ([]byte, error) { // DataAccessOptions: Write a Data Access (Gin) log type DataAccessOptions 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_MODE_UNSPECIFIED" - Client is not required to write a partial + // Gin log immediately after + // the authorization check. If client chooses to write one and it + // fails, + // client may either fail open (allow the operation to continue) or + // fail closed (handle as a DENY outcome). + // "LOG_FAIL_CLOSED" - The application's operation in the context of + // which this authorization + // check is being made may only be performed if it is successfully + // logged + // to Gin. For instance, the authorization library may satisfy + // this + // obligation by emitting a partial log entry at authorization check + // time + // and only returning ALLOW to the application if it succeeds. + // + // If a matching Rule has this directive, but the client has not + // indicated + // that it will honor such requirements, then the IAM check will result + // in + // authorization failure by setting CheckPolicyResponse.success=false. + 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 *DataAccessOptions) MarshalJSON() ([]byte, error) { + type noMethod DataAccessOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // DecryptRequest: Request message for KeyManagementService.Decrypt. @@ -1147,35 +1232,6 @@ func (s *Location) MarshalJSON() ([]byte, error) { } // 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"` 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 9d6c388..6c545a0 100644 --- a/vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-api.json +++ b/vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-api.json @@ -1,600 +1,27 @@ { + "basePath": "", + "documentationLink": "https://cloud.google.com/resource-manager", + "revision": "20170828", + "id": "cloudresourcemanager:v1", + "discoveryVersion": "v1", "schemas": { - "GetOrgPolicyRequest": { - "description": "The request sent to the GetOrgPolicy method.", + "ListAvailableOrgPolicyConstraintsRequest": { "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.", - "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" - }, - "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.", - "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" - }, - "SearchOrganizationsResponse": { - "description": "The response returned from the `SearchOrganizations` 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 search query, possibly\npaginated.", - "items": { - "$ref": "Organization" - }, - "type": "array" - } - }, - "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": { - "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" - }, - "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" - }, - "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" - }, - "etag": { - "format": "byte", - "description": "An opaque tag indicating the current version of the `Policy`, used for\nconcurrency control.\n\nWhen the `Policy` is returned from either a `GetPolicy` or a\n`ListOrgPolicy` request, this `etag` indicates the version of the current\n`Policy` to use when executing a read-modify-write loop.\n\nWhen the `Policy` is returned from a `GetEffectivePolicy` request, the\n`etag` will be unset.\n\nWhen the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value\nthat was returned from a `GetOrgPolicy` request as part of a\nread-modify-write loop for concurrency control. Not setting the `etag`in a\n`SetOrgPolicy` request will result in an unconditional write of the\n`Policy`.", - "type": "string" - }, - "booleanPolicy": { - "description": "For boolean `Constraints`, whether to enforce the `Constraint` or not.", - "$ref": "BooleanPolicy" - }, - "constraint": { - "description": "The name of the `Constraint` the `Policy` is configuring, for example,\n`constraints/serviceuser.services`.\n\nImmutable after creation.", - "type": "string" - }, - "updateTime": { - "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" - } - }, - "id": "OrgPolicy" - }, - "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`", - "type": "string" - }, - "createTime": { - "format": "google-datetime", - "description": "The creation time of this Lien.", - "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" - }, - "origin": { - "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": { - "type": "string" - }, - "type": "array" - } - }, - "id": "Lien" - }, - "Ancestor": { - "description": "Identifying information for a single ancestor of a project.", - "type": "object", - "properties": { - "resourceId": { - "$ref": "ResourceId", - "description": "Resource id of the ancestor." - } - }, - "id": "Ancestor" - }, - "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" - }, - "SetOrgPolicyRequest": { - "description": "The request sent to the SetOrgPolicyRequest method.", - "type": "object", - "properties": { - "policy": { - "$ref": "OrgPolicy", - "description": "`Policy` to set on the resource." - } - }, - "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" - } - }, - "id": "SetIamPolicyRequest" - }, - "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" - }, - "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": { - "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" - }, - "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" - } - }, - "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.", - "type": "string" - }, - "constraints": { - "description": "The collection of constraints that are settable on the request resource.", - "items": { - "$ref": "Constraint" - }, - "type": "array" - } - }, - "id": "ListAvailableOrgPolicyConstraintsResponse" - }, - "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.", - "A policy with this set allows all values.", - "A policy with this set denies all values." - ], - "enum": [ - "ALL_VALUES_UNSPECIFIED", - "ALLOW", - "DENY" - ], - "description": "The policy all_values state.", - "type": "string" - }, - "allowedValues": { - "description": "List of values allowed at this resource. Can only be set if no values\nare set for `denied_values` and `all_values` is set to\n`ALL_VALUES_UNSPECIFIED`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "inheritFromParent": { - "description": "Determines the inheritance behavior for this `Policy`.\n\nBy default, a `ListPolicy` set at a resource supercedes any `Policy` set\nanywhere up the resource hierarchy. However, if `inherit_from_parent` is\nset to `true`, then the values from the effective `Policy` of the parent\nresource are inherited, meaning the values set in this `Policy` are\nadded to the values inherited up the hierarchy.\n\nSetting `Policy` hierarchies that inherit both allowed values and denied\nvalues isn't recommended in most circumstances to keep the configuration\nsimple and understandable. However, it is possible to set a `Policy` with\n`allowed_values` set that inherits a `Policy` with `denied_values` set.\nIn this case, the values that are allowed must be in `allowed_values` and\nnot present in `denied_values`.\n\nFor example, suppose you have a `Constraint`\n`constraints/serviceuser.services`, which has a `constraint_type` of\n`list_constraint`, and with `constraint_default` set to `ALLOW`.\nSuppose that at the Organization level, a `Policy` is applied that\nrestricts the allowed API activations to {`E1`, `E2`}. Then, if a\n`Policy` is applied to a project below the Organization that has\n`inherit_from_parent` set to `false` and field all_values set to DENY,\nthen an attempt to activate any API will be denied.\n\nThe following examples demonstrate different possible layerings:\n\nExample 1 (no inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: “E1” allowed_values:”E2”}\n ``projects/bar`` has `inherit_from_parent` `false` and values:\n {allowed_values: \"E3\" allowed_values: \"E4\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E3`, and `E4`.\n\nExample 2 (inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: “E1” allowed_values:”E2”}\n `projects/bar` has a `Policy` with values:\n {value: “E3” value: ”E4” inherit_from_parent: true}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.\n\nExample 3 (inheriting both allowed and denied values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {denied_values: \"E1\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe value accepted at `projects/bar` is `E2`.\n\nExample 4 (RestoreDefault):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: “E1” allowed_values:”E2”}\n `projects/bar` has a `Policy` with values:\n {RestoreDefault: {}}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 5 (no policy inherits parent policy):\n `organizations/foo` has no `Policy` set.\n `projects/bar` has no `Policy` set.\nThe accepted values at both levels are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 6 (ListConstraint allowing all):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: “E1” allowed_values: ”E2”}\n `projects/bar` has a `Policy` with:\n {all: ALLOW}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nAny value is accepted at `projects/bar`.\n\nExample 7 (ListConstraint allowing none):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: “E1” allowed_values: ”E2”}\n `projects/bar` has a `Policy` with:\n {all: DENY}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nNo value is accepted at `projects/bar`.", - "type": "boolean" - }, - "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" - } - }, - "id": "ListPolicy" - }, - "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", - "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" - ] - } - }, - "id": "AuditLogConfig" - }, - "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.", + "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.", "type": "string" }, "pageSize": { "format": "int32", - "description": "The maximum number of Organizations to return in the response.\nThis field is optional.", + "description": "Size of the pages to be returned. This is currently unsupported and will\nbe ignored. The server may at any point start using this field to limit\npage size.", "type": "integer" } }, - "id": "SearchOrganizationsRequest" - }, - "GetAncestryRequest": { - "description": "The request sent to the\nGetAncestry\nmethod.", - "type": "object", - "properties": {}, - "id": "GetAncestryRequest" - }, - "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" - }, - "FolderOperation": { - "description": "Metadata describing a long running folder operation", - "type": "object", - "properties": { - "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" - }, - "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" + "id": "ListAvailableOrgPolicyConstraintsRequest", + "description": "The request sent to the [ListAvailableOrgPolicyConstraints]\ngoogle.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] 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", @@ -621,23 +48,42 @@ "type": "array" } }, - "id": "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" }, - "ListAvailableOrgPolicyConstraintsRequest": { - "description": "The request sent to the [ListAvailableOrgPolicyConstraints]\ngoogle.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] method.", + "FolderOperation": { + "id": "FolderOperation", + "description": "Metadata describing a long running folder operation", "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.", + "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": { + "type": "string", + "description": "The resource name of the folder's parent.\nOnly applicable when the operation_type is MOVE." + }, + "displayName": { + "description": "The display name of the folder.", "type": "string" }, - "pageSize": { - "format": "int32", - "description": "Size of the pages to be returned. This is currently unsupported and will\nbe ignored. The server may at any point start using this field to limit\npage size.", - "type": "integer" + "destinationParent": { + "type": "string", + "description": "The resource name of the folder or organization we are either creating\nthe folder under or moving the folder to." } - }, - "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.", @@ -666,36 +112,36 @@ "id": "GetEffectiveOrgPolicyRequest" }, "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.", - "type": "string" - }, "pageSize": { "format": "int32", "description": "Size of the pages to be returned. This is currently unsupported and will\nbe ignored. The server may at any point start using this field to limit\npage size.", "type": "integer" + }, + "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.", + "type": "string" } }, - "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": { + "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`.", @@ -720,16 +166,16 @@ "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" @@ -738,81 +184,52 @@ "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" }, + "listConstraint": { + "description": "Defines this constraint as being a ListConstraint.", + "$ref": "ListConstraint" + }, "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." + "displayName": { + "description": "The human readable name.\n\nMutable.", + "type": "string" + }, + "description": { + "description": "Detailed description of what this `Constraint` controls as well as how and\nwhere it is enforced.\n\nMutable.", + "type": "string" + }, + "booleanConstraint": { + "$ref": "BooleanConstraint", + "description": "Defines this constraint as being a BooleanConstraint." + }, + "constraintDefault": { + "enum": [ + "CONSTRAINT_DEFAULT_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "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." + ] } }, "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" - }, "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.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - }, "code": { "format": "int32", "description": "The status code, which should be an enum value of google.rpc.Code.", @@ -821,10 +238,39 @@ "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" }, + "ListLiensResponse": { + "id": "ListLiensResponse", + "description": "The response message for Liens.ListLiens.", + "type": "object", + "properties": { + "liens": { + "description": "A list of Liens.", + "items": { + "$ref": "Lien" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + } + } + }, "Binding": { "description": "Associates `members` with a `role`.", "type": "object", @@ -842,6 +288,565 @@ } }, "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": { + "id": "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": {} + }, + "ClearOrgPolicyRequest": { + "description": "The request sent to the ClearOrgPolicy method.", + "type": "object", + "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" + }, + "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": { + "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" + }, + "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." + }, + "GetIamPolicyRequest": { + "id": "GetIamPolicyRequest", + "description": "Request message for `GetIamPolicy` method.", + "type": "object", + "properties": {} + }, + "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": { + "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", + "properties": { + "projects": { + "description": "The list of Projects that matched the list filter. This list can\nbe paginated.", + "items": { + "$ref": "Project" + }, + "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.", + "type": "string" + } + } + }, + "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", + "properties": { + "projectId": { + "type": "string", + "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." + }, + "lifecycleState": { + "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" + ], + "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" + } + } + }, + "SearchOrganizationsResponse": { + "description": "The response returned from the `SearchOrganizations` method.", + "type": "object", + "properties": { + "organizations": { + "description": "The list of Organizations that matched the search query, possibly\npaginated.", + "items": { + "$ref": "Organization" + }, + "type": "array" + }, + "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" + } + }, + "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": { + "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.", + "type": "string" + } + }, + "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" + }, + "OrgPolicy": { + "description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints`\nfor configurations of Cloud Platform resources.", + "type": "object", + "properties": { + "listPolicy": { + "$ref": "ListPolicy", + "description": "List of values either allowed or disallowed." + }, + "etag": { + "format": "byte", + "description": "An opaque tag indicating the current version of the `Policy`, used for\nconcurrency control.\n\nWhen the `Policy` is returned from either a `GetPolicy` or a\n`ListOrgPolicy` request, this `etag` indicates the version of the current\n`Policy` to use when executing a read-modify-write loop.\n\nWhen the `Policy` is returned from a `GetEffectivePolicy` request, the\n`etag` will be unset.\n\nWhen the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value\nthat was returned from a `GetOrgPolicy` request as part of a\nread-modify-write loop for concurrency control. Not setting the `etag`in a\n`SetOrgPolicy` request will result in an unconditional write of the\n`Policy`.", + "type": "string" + }, + "constraint": { + "description": "The name of the `Constraint` the `Policy` is configuring, for example,\n`constraints/serviceuser.services`.\n\nImmutable after creation.", + "type": "string" + }, + "booleanPolicy": { + "$ref": "BooleanPolicy", + "description": "For boolean `Constraints`, whether to enforce the `Constraint` or not." + }, + "updateTime": { + "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": { + "$ref": "RestoreDefault", + "description": "Restores the default behavior of the constraint; independent of\n`Constraint` type." + } + }, + "id": "OrgPolicy" + }, + "Lien": { + "id": "Lien", + "description": "A Lien represents an encumbrance on the actions that can be performed on a\nresource.", + "type": "object", + "properties": { + "name": { + "description": "A system-generated unique identifier for this Lien.\n\nExample: `liens/1234abcd`", + "type": "string" + }, + "reason": { + "type": "string", + "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'" + }, + "origin": { + "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" + }, + "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": { + "type": "string" + }, + "type": "array" + }, + "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`", + "type": "string" + }, + "createTime": { + "format": "google-datetime", + "description": "The creation time of this Lien.", + "type": "string" + } + } + }, + "Ancestor": { + "properties": { + "resourceId": { + "$ref": "ResourceId", + "description": "Resource id of the ancestor." + } + }, + "id": "Ancestor", + "description": "Identifying information for a single ancestor of a project.", + "type": "object" + }, + "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", + "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" + } + } + }, + "SetOrgPolicyRequest": { + "type": "object", + "properties": { + "policy": { + "$ref": "OrgPolicy", + "description": "`Policy` to set on the resource." + } + }, + "id": "SetOrgPolicyRequest", + "description": "The request sent to the SetOrgPolicyRequest method." + }, + "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": { + "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" + }, + "Organization": { + "description": "The root node in the resource hierarchy to which a particular entity's\n(e.g., company) resources belong.", + "type": "object", + "properties": { + "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." + ] + }, + "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" + }, + "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" + } + }, + "id": "Organization" + }, + "ListAvailableOrgPolicyConstraintsResponse": { + "properties": { + "constraints": { + "description": "The collection of constraints that are settable on the request resource.", + "items": { + "$ref": "Constraint" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Page token used to retrieve the next page. This is currently not used.", + "type": "string" + } + }, + "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": { + "allValues": { + "enum": [ + "ALL_VALUES_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "description": "The policy all_values state.", + "type": "string", + "enumDescriptions": [ + "Indicates that either allowed_values or denied_values must be set.", + "A policy with this set allows all values.", + "A policy with this set denies all values." + ] + }, + "allowedValues": { + "items": { + "type": "string" + }, + "type": "array", + "description": "List of values allowed at this resource. Can only be set if no values\nare set for `denied_values` and `all_values` is set to\n`ALL_VALUES_UNSPECIFIED`." + }, + "inheritFromParent": { + "description": "Determines the inheritance behavior for this `Policy`.\n\nBy default, a `ListPolicy` set at a resource supercedes any `Policy` set\nanywhere up the resource hierarchy. However, if `inherit_from_parent` is\nset to `true`, then the values from the effective `Policy` of the parent\nresource are inherited, meaning the values set in this `Policy` are\nadded to the values inherited up the hierarchy.\n\nSetting `Policy` hierarchies that inherit both allowed values and denied\nvalues isn't recommended in most circumstances to keep the configuration\nsimple and understandable. However, it is possible to set a `Policy` with\n`allowed_values` set that inherits a `Policy` with `denied_values` set.\nIn this case, the values that are allowed must be in `allowed_values` and\nnot present in `denied_values`.\n\nFor example, suppose you have a `Constraint`\n`constraints/serviceuser.services`, which has a `constraint_type` of\n`list_constraint`, and with `constraint_default` set to `ALLOW`.\nSuppose that at the Organization level, a `Policy` is applied that\nrestricts the allowed API activations to {`E1`, `E2`}. Then, if a\n`Policy` is applied to a project below the Organization that has\n`inherit_from_parent` set to `false` and field all_values set to DENY,\nthen an attempt to activate any API will be denied.\n\nThe following examples demonstrate different possible layerings:\n\nExample 1 (no inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: “E1” allowed_values:”E2”}\n ``projects/bar`` has `inherit_from_parent` `false` and values:\n {allowed_values: \"E3\" allowed_values: \"E4\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E3`, and `E4`.\n\nExample 2 (inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: “E1” allowed_values:”E2”}\n `projects/bar` has a `Policy` with values:\n {value: “E3” value: ”E4” inherit_from_parent: true}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.\n\nExample 3 (inheriting both allowed and denied values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {denied_values: \"E1\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe value accepted at `projects/bar` is `E2`.\n\nExample 4 (RestoreDefault):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: “E1” allowed_values:”E2”}\n `projects/bar` has a `Policy` with values:\n {RestoreDefault: {}}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 5 (no policy inherits parent policy):\n `organizations/foo` has no `Policy` set.\n `projects/bar` has no `Policy` set.\nThe accepted values at both levels are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 6 (ListConstraint allowing all):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: “E1” allowed_values: ”E2”}\n `projects/bar` has a `Policy` with:\n {all: ALLOW}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nAny value is accepted at `projects/bar`.\n\nExample 7 (ListConstraint allowing none):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: “E1” allowed_values: ”E2”}\n `projects/bar` has a `Policy` with:\n {all: DENY}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nNo value is accepted at `projects/bar`.", + "type": "boolean" + }, + "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" + }, + "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", + "properties": { + "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." + }, + "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" + }, + "SearchOrganizationsRequest": { + "type": "object", + "properties": { + "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" + }, + "pageSize": { + "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", + "description": "The request sent to the `SearchOrganizations` method." + }, + "GetAncestryRequest": { + "properties": {}, + "id": "GetAncestryRequest", + "description": "The request sent to the\nGetAncestry\nmethod.", + "type": "object" + }, + "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" + } + } } }, "icons": { @@ -872,50 +877,21 @@ "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", + "id": "cloudresourcemanager.organizations.clearOrgPolicy", "request": { "$ref": "ClearOrgPolicyRequest" }, "description": "Clears a `Policy` from a resource.", - "response": { - "$ref": "Empty" - }, + "httpMethod": "POST", "parameterOrder": [ "resource" ], - "httpMethod": "POST", + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], @@ -930,6 +906,10 @@ } }, "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" + }, "httpMethod": "POST", "parameterOrder": [ "resource" @@ -939,11 +919,11 @@ }, "parameters": { "resource": { + "pattern": "^organizations/[^/]+$", "location": "path", "description": "Resource name of the resource to attach the `Policy`.", "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$" + "required": true } }, "scopes": [ @@ -951,24 +931,19 @@ ], "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" - } + "id": "cloudresourcemanager.organizations.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" - }, + "httpMethod": "POST", "parameterOrder": [ "resource" ], - "httpMethod": "POST", + "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.", @@ -978,28 +953,31 @@ "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "flatPath": "v1/organizations/{organizationsId}:setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", "id": "cloudresourcemanager.organizations.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy" - }, - "listOrgPolicies": { - "description": "Lists all the `Policies` set for a particular resource.", "request": { - "$ref": "ListOrgPoliciesRequest" + "$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\".\n\nAuthorization requires the Google IAM permission\n`resourcemanager.organizations.setIamPolicy` on the specified organization" + }, + "listAvailableOrgPolicyConstraints": { + "id": "cloudresourcemanager.organizations.listAvailableOrgPolicyConstraints", + "path": "v1/{+resource}:listAvailableOrgPolicyConstraints", + "description": "Lists `Constraints` that could be applied on the specified resource.", + "request": { + "$ref": "ListAvailableOrgPolicyConstraintsRequest" + }, + "response": { + "$ref": "ListAvailableOrgPolicyConstraintsResponse" }, - "httpMethod": "POST", "parameterOrder": [ "resource" ], - "response": { - "$ref": "ListOrgPoliciesResponse" - }, + "httpMethod": "POST", "parameters": { "resource": { - "description": "Name of the resource to list Policies for.", + "description": "Name of the resource to list `Constraints` for.", "type": "string", "required": true, "pattern": "^organizations/[^/]+$", @@ -1010,38 +988,36 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], + "flatPath": "v1/organizations/{organizationsId}:listAvailableOrgPolicyConstraints" + }, + "listOrgPolicies": { "flatPath": "v1/organizations/{organizationsId}:listOrgPolicies", "path": "v1/{+resource}:listOrgPolicies", - "id": "cloudresourcemanager.organizations.listOrgPolicies" - }, - "listAvailableOrgPolicyConstraints": { + "id": "cloudresourcemanager.organizations.listOrgPolicies", "request": { - "$ref": "ListAvailableOrgPolicyConstraintsRequest" - }, - "description": "Lists `Constraints` that could be applied on the specified resource.", - "response": { - "$ref": "ListAvailableOrgPolicyConstraintsResponse" + "$ref": "ListOrgPoliciesRequest" }, + "description": "Lists all the `Policies` set for a particular resource.", + "httpMethod": "POST", "parameterOrder": [ "resource" ], - "httpMethod": "POST", + "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 `Constraints` for.", + "description": "Name of the resource to list Policies for.", "type": "string", "required": true, - "pattern": "^organizations/[^/]+$" + "pattern": "^organizations/[^/]+$", + "location": "path" } - }, - "flatPath": "v1/organizations/{organizationsId}:listAvailableOrgPolicyConstraints", - "id": "cloudresourcemanager.organizations.listAvailableOrgPolicyConstraints", - "path": "v1/{+resource}:listAvailableOrgPolicyConstraints" + } }, "getIamPolicy": { "httpMethod": "POST", @@ -1051,6 +1027,10 @@ "response": { "$ref": "Policy" }, + "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 is being requested.\nSee the operation documentation for the appropriate value for this field.", @@ -1060,65 +1040,90 @@ "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" - } + }, + "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" }, "getOrgPolicy": { - "httpMethod": "POST", + "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" ], - "response": { - "$ref": "OrgPolicy" + "httpMethod": "POST", + "parameters": { + "resource": { + "pattern": "^organizations/[^/]+$", + "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" ], - "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." + "path": "v1/{+resource}:getOrgPolicy" }, "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`", + "httpMethod": "POST", + "parameterOrder": [], "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", + "path": "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`" + }, + "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": { + "description": "The name of the resource to start computing the effective `Policy`.", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/organizations/{organizationsId}:getEffectiveOrgPolicy" }, "get": { "description": "Fetches an Organization resource identified by the specified resource name.", @@ -1129,10 +1134,6 @@ "name" ], "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], "parameters": { "name": { "location": "path", @@ -1142,44 +1143,50 @@ "pattern": "^organizations/[^/]+$" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], "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" - }, + "testIamPermissions": { "response": { - "$ref": "OrgPolicy" + "$ref": "TestIamPermissionsResponse" }, "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" - ] + ], + "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": "v1/organizations/{organizationsId}:testIamPermissions", + "id": "cloudresourcemanager.organizations.testIamPermissions", + "path": "v1/{+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\".\n\nThere are no permissions required for making this API call." } } }, "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" @@ -1201,81 +1208,46 @@ "location": "path" } }, - "flatPath": "v1/operations/{operationsId}", - "id": "cloudresourcemanager.operations.get", - "path": "v1/{+name}" + "flatPath": "v1/operations/{operationsId}" } } }, "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": { + "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" + }, "response": { "$ref": "Lien" }, "parameterOrder": [], "httpMethod": "POST", + "parameters": {}, "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." + "path": "v1/liens" }, "delete": { - "httpMethod": "DELETE", - "parameterOrder": [ - "name" - ], "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, - "pattern": "^liens/.+$" + "required": true } }, "scopes": [ @@ -1283,70 +1255,47 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ], "flatPath": "v1/liens/{liensId}", - "path": "v1/{+name}", "id": "cloudresourcemanager.liens.delete", + "path": "v1/{+name}", "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`." + }, + "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`.", + "response": { + "$ref": "ListLiensResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "The name of the resource to list all attached Liens.\nFor example, `projects/1234`.", + "type": "string", + "location": "query" + }, + "pageToken": { + "description": "The `next_page_token` value returned from a previous List request, if any.", + "type": "string", + "location": "query" + }, + "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", + "id": "cloudresourcemanager.liens.list", + "path": "v1/liens" } } }, "folders": { "methods": { - "clearOrgPolicy": { - "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": "^folders/[^/]+$" - } - }, - "flatPath": "v1/folders/{foldersId}:clearOrgPolicy", - "id": "cloudresourcemanager.folders.clearOrgPolicy", - "path": "v1/{+resource}:clearOrgPolicy", - "request": { - "$ref": "ClearOrgPolicyRequest" - }, - "description": "Clears a `Policy` from a resource." - }, - "setOrgPolicy": { - "request": { - "$ref": "SetOrgPolicyRequest" - }, - "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`.", - "response": { - "$ref": "OrgPolicy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "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": [ @@ -1355,26 +1304,26 @@ "response": { "$ref": "ListOrgPoliciesResponse" }, + "parameters": { + "resource": { + "description": "Name of the resource to list Policies for.", + "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" ], - "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", + "description": "Lists all the `Policies` set for a particular resource.", "request": { "$ref": "ListOrgPoliciesRequest" - }, - "description": "Lists all the `Policies` set for a particular resource." + } }, "listAvailableOrgPolicyConstraints": { "httpMethod": "POST", @@ -1384,68 +1333,70 @@ "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/[^/]+$" + "pattern": "^folders/[^/]+$", + "location": "path" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" - ] + ], + "flatPath": "v1/folders/{foldersId}:listAvailableOrgPolicyConstraints", + "path": "v1/{+resource}:listAvailableOrgPolicyConstraints", + "id": "cloudresourcemanager.folders.listAvailableOrgPolicyConstraints", + "description": "Lists `Constraints` that could be applied on the specified resource.", + "request": { + "$ref": "ListAvailableOrgPolicyConstraintsRequest" + } + }, + "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": { + "pattern": "^folders/[^/]+$", + "location": "path", + "description": "Name of the resource the `Policy` is set on.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/folders/{foldersId}:getOrgPolicy", + "path": "v1/{+resource}:getOrgPolicy", + "id": "cloudresourcemanager.folders.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." }, "getEffectiveOrgPolicy": { + "path": "v1/{+resource}:getEffectiveOrgPolicy", + "id": "cloudresourcemanager.folders.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" - }, + "httpMethod": "POST", "parameterOrder": [ "resource" ], - "httpMethod": "POST", + "response": { + "$ref": "OrgPolicy" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" @@ -1459,125 +1410,71 @@ "location": "path" } }, - "flatPath": "v1/folders/{foldersId}:getEffectiveOrgPolicy", - "id": "cloudresourcemanager.folders.getEffectiveOrgPolicy", - "path": "v1/{+resource}:getEffectiveOrgPolicy" + "flatPath": "v1/folders/{foldersId}:getEffectiveOrgPolicy" + }, + "clearOrgPolicy": { + "parameters": { + "resource": { + "location": "path", + "description": "Name of the resource for the `Policy` to clear.", + "type": "string", + "required": true, + "pattern": "^folders/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/folders/{foldersId}:clearOrgPolicy", + "id": "cloudresourcemanager.folders.clearOrgPolicy", + "path": "v1/{+resource}:clearOrgPolicy", + "description": "Clears a `Policy` from a resource.", + "request": { + "$ref": "ClearOrgPolicyRequest" + }, + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST" + }, + "setOrgPolicy": { + "path": "v1/{+resource}:setOrgPolicy", + "id": "cloudresourcemanager.folders.setOrgPolicy", + "request": { + "$ref": "SetOrgPolicyRequest" + }, + "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`.", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "OrgPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "description": "Resource name of the resource to attach the `Policy`.", + "type": "string", + "required": true, + "pattern": "^folders/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/folders/{foldersId}:setOrgPolicy" } } }, "projects": { "methods": { - "listOrgPolicies": { - "description": "Lists all the `Policies` set for a particular resource.", - "request": { - "$ref": "ListOrgPoliciesRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "ListOrgPoliciesResponse" - }, - "parameters": { - "resource": { - "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" - }, - "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.", - "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, - "location": "path" - } - }, - "flatPath": "v1/projects/{resource}:testIamPermissions", - "path": "v1/projects/{resource}:testIamPermissions", - "id": "cloudresourcemanager.projects.testIamPermissions" - }, "delete": { + "path": "v1/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,\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": [ @@ -1586,20 +1483,18 @@ "response": { "$ref": "Empty" }, + "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" ], - "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" + "flatPath": "v1/projects/{projectId}" }, "clearOrgPolicy": { "response": { @@ -1609,34 +1504,27 @@ "resource" ], "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": { "resource": { + "pattern": "^projects/[^/]+$", "location": "path", "description": "Name of the resource for the `Policy` to clear.", "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" + "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1/projects/{projectsId}:clearOrgPolicy", "id": "cloudresourcemanager.projects.clearOrgPolicy", "path": "v1/{+resource}:clearOrgPolicy", + "description": "Clears a `Policy` from a resource.", "request": { "$ref": "ClearOrgPolicyRequest" - }, - "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,19 +1532,30 @@ "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" ], - "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" - } + "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": { + "request": { + "$ref": "ListAvailableOrgPolicyConstraintsRequest" + }, + "description": "Lists `Constraints` that could be applied on the specified resource.", "httpMethod": "POST", "parameterOrder": [ "resource" @@ -1664,54 +1563,50 @@ "response": { "$ref": "ListAvailableOrgPolicyConstraintsResponse" }, - "parameters": { - "resource": { - "location": "path", - "description": "Name of the resource to list `Constraints` for.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" - } - }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], + "parameters": { + "resource": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "Name of the resource to list `Constraints` for.", + "type": "string", + "required": true + } + }, "flatPath": "v1/projects/{projectsId}:listAvailableOrgPolicyConstraints", "path": "v1/{+resource}:listAvailableOrgPolicyConstraints", - "id": "cloudresourcemanager.projects.listAvailableOrgPolicyConstraints", - "description": "Lists `Constraints` that could be applied on the specified resource.", - "request": { - "$ref": "ListAvailableOrgPolicyConstraintsRequest" - } + "id": "cloudresourcemanager.projects.listAvailableOrgPolicyConstraints" }, "getIamPolicy": { - "flatPath": "v1/projects/{resource}:getIamPolicy", - "id": "cloudresourcemanager.projects.getIamPolicy", - "path": "v1/projects/{resource}: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.\n\nAuthorization requires the Google IAM permission\n`resourcemanager.projects.getIamPolicy` on the project", - "response": { - "$ref": "Policy" - }, + "httpMethod": "POST", "parameterOrder": [ "resource" ], - "httpMethod": "POST", + "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 + "required": true, + "location": "path" } - } + }, + "flatPath": "v1/projects/{resource}:getIamPolicy", + "path": "v1/projects/{resource}:getIamPolicy", + "id": "cloudresourcemanager.projects.getIamPolicy" }, "getOrgPolicy": { "response": { @@ -1721,68 +1616,35 @@ "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 the `Policy` is set on.", "type": "string", "required": true, - "pattern": "^projects/[^/]+$" - } - }, - "flatPath": "v1/projects/{projectsId}:getOrgPolicy", - "id": "cloudresourcemanager.projects.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." - }, - "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.", - "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": "The name of the resource to start computing the effective `Policy`.", - "type": "string", - "required": true, "pattern": "^projects/[^/]+$", "location": "path" } }, - "flatPath": "v1/projects/{projectsId}:getEffectiveOrgPolicy", - "path": "v1/{+resource}:getEffectiveOrgPolicy", - "id": "cloudresourcemanager.projects.getEffectiveOrgPolicy" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/projects/{projectsId}:getOrgPolicy", + "id": "cloudresourcemanager.projects.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" + } }, "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" - }, - "response": { - "$ref": "Empty" - }, + "httpMethod": "POST", "parameterOrder": [ "projectId" ], - "httpMethod": "POST", + "response": { + "$ref": "Empty" + }, "parameters": { "projectId": { "location": "path", @@ -1795,10 +1657,45 @@ "https://www.googleapis.com/auth/cloud-platform" ], "flatPath": "v1/projects/{projectId}:undelete", + "path": "v1/projects/{projectId}:undelete", "id": "cloudresourcemanager.projects.undelete", - "path": "v1/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" + } + }, + "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": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The name of the resource to start computing the effective `Policy`." + } + }, + "flatPath": "v1/projects/{projectsId}:getEffectiveOrgPolicy", + "id": "cloudresourcemanager.projects.getEffectiveOrgPolicy", + "path": "v1/{+resource}:getEffectiveOrgPolicy" }, "update": { + "id": "cloudresourcemanager.projects.update", + "path": "v1/projects/{projectId}", "request": { "$ref": "Project" }, @@ -1821,130 +1718,211 @@ "location": "path" } }, - "flatPath": "v1/projects/{projectId}", - "id": "cloudresourcemanager.projects.update", - "path": "v1/projects/{projectId}" + "flatPath": "v1/projects/{projectId}" }, "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" }, + "parameters": { + "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" + }, + "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" + } + }, + "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", + "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." + }, + "setOrgPolicy": { + "id": "cloudresourcemanager.projects.setOrgPolicy", + "path": "v1/{+resource}:setOrgPolicy", + "request": { + "$ref": "SetOrgPolicyRequest" + }, + "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`.", + "response": { + "$ref": "OrgPolicy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "location": "path", + "description": "Resource name of the resource to attach the `Policy`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}:setOrgPolicy" + }, + "create": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "flatPath": "v1/projects", + "id": "cloudresourcemanager.projects.create", + "path": "v1/projects", + "request": { + "$ref": "Project" + }, + "description": "Request that a new Project be created. The result is an Operation which\ncan be used to track the creation process. It is automatically deleted\nafter a few hours, so there is no need to call DeleteOperation.\n\nOur SLO permits Project creation to take up to 30 seconds at the 90th\npercentile. As of 2016-08-29, we are observing 6 seconds 50th percentile\nlatency. 95th percentile latency is around 11 seconds. We recommend\npolling at the 5th second with an exponential backoff.\n\nAuthorization requires the Google IAM permission\n`resourcemanager.projects.create` on the specified parent for the new\nproject." + }, + "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": { - "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.", - "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" - } - }, - "flatPath": "v1/projects", - "path": "v1/projects", - "id": "cloudresourcemanager.projects.list" - }, - "setOrgPolicy": { - "request": { - "$ref": "SetOrgPolicyRequest" - }, - "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`.", - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "OrgPolicy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": { "resource": { - "description": "Resource name of the resource to attach the `Policy`.", "type": "string", "required": true, "pattern": "^projects/[^/]+$", + "location": "path", + "description": "Name of the resource to list Policies for." + } + }, + "flatPath": "v1/projects/{projectsId}:listOrgPolicies", + "path": "v1/{+resource}:listOrgPolicies", + "id": "cloudresourcemanager.projects.listOrgPolicies", + "request": { + "$ref": "ListOrgPoliciesRequest" + }, + "description": "Lists all the `Policies` set for a particular resource." + }, + "get": { + "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" } }, - "flatPath": "v1/projects/{projectsId}:setOrgPolicy", - "path": "v1/{+resource}:setOrgPolicy", - "id": "cloudresourcemanager.projects.setOrgPolicy" + "flatPath": "v1/projects/{projectId}", + "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." }, - "create": { - "flatPath": "v1/projects", - "path": "v1/projects", - "id": "cloudresourcemanager.projects.create", + "getAncestry": { + "flatPath": "v1/projects/{projectId}:getAncestry", + "path": "v1/projects/{projectId}:getAncestry", + "id": "cloudresourcemanager.projects.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": "Project" + "$ref": "GetAncestryRequest" }, - "description": "Request that a new Project be created. The result is an Operation which\ncan be used to track the creation process. It is automatically deleted\nafter a few hours, so there is no need to call DeleteOperation.\n\nOur SLO permits Project creation to take up to 30 seconds at the 90th\npercentile. As of 2016-08-29, we are observing 6 seconds 50th percentile\nlatency. 95th percentile latency is around 11 seconds. We recommend\npolling at the 5th second with an exponential backoff.\n\nAuthorization requires the Google IAM permission\n`resourcemanager.projects.create` on the specified parent for the new\nproject.", "httpMethod": "POST", - "parameterOrder": [], + "parameterOrder": [ + "projectId" + ], "response": { - "$ref": "Operation" + "$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", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "testIamPermissions": { + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" ], - "parameters": {} + "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 + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/projects/{resource}:testIamPermissions", + "id": "cloudresourcemanager.projects.testIamPermissions", + "path": "v1/projects/{resource}:testIamPermissions", + "description": "Returns permissions that a caller has on the specified Project.\n\nThere are no permissions required for making this API call.", + "request": { + "$ref": "TestIamPermissionsRequest" + } } } } }, "parameters": { - "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": { - "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" }, + "uploadType": { + "type": "string", + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." + }, "$.xgafv": { "enumDescriptions": [ "v1 error format", @@ -1964,8 +1942,6 @@ "type": "string" }, "alt": { - "description": "Data format for response.", - "default": "json", "enum": [ "json", "media", @@ -1977,32 +1953,56 @@ "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" + "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." + }, + "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.", + "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": { + "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": "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": "", - "basePath": "", - "revision": "20170628", - "documentationLink": "https://cloud.google.com/resource-manager", - "id": "cloudresourcemanager:v1", - "discoveryVersion": "v1" + "description": "The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.", + "kind": "discovery#restDescription" } 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 ea46680..1652bc2 100644 --- a/vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-gen.go +++ b/vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-gen.go @@ -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 ac4c582..97a41e9 100644 --- a/vendor/google.golang.org/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json +++ b/vendor/google.golang.org/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json @@ -1,120 +1,41 @@ { - "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" }, + "parameterOrder": [], "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], "parameters": { + "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" + }, "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", @@ -133,67 +54,66 @@ "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.", + "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/{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.", + "create": { + "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" + }, "response": { "$ref": "Project" }, - "parameterOrder": [ - "projectId" + "parameterOrder": [], + "httpMethod": "POST", + "parameters": { + "useLegacyStack": { + "location": "query", + "description": "A safety hatch to opt out of the new reliable project creation process.", + "type": "boolean" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" ], - "httpMethod": "GET", + "flatPath": "v1beta1/projects", + "id": "cloudresourcemanager.projects.create", + "path": "v1beta1/projects" + }, + "getIamPolicy": { + "id": "cloudresourcemanager.projects.getIamPolicy", + "path": "v1beta1/projects/{resource}: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": { + "type": "string", + "required": true, + "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" ], - "parameters": { - "projectId": { - "description": "The Project ID (for example, `my-project-123`).\n\nRequired.", - "type": "string", - "required": true, - "location": "path" - } - } + "flatPath": "v1beta1/projects/{resource}:getIamPolicy" }, "undelete": { "response": { @@ -203,40 +123,86 @@ "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" ], + "parameters": { + "projectId": { + "location": "path", + "description": "The project ID (for example, `foo-bar-123`).\n\nRequired.", + "type": "string", + "required": true + } + }, "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.", + "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." + }, + "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}" + }, + "getAncestry": { + "httpMethod": "POST", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "GetAncestryResponse" + }, + "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": "v1beta1/projects/{projectId}:getAncestry", + "path": "v1beta1/projects/{projectId}:getAncestry", + "id": "cloudresourcemanager.projects.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." + }, + "update": { "httpMethod": "PUT", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "Project" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], @@ -247,143 +213,23 @@ "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.", + }, + "flatPath": "v1beta1/projects/{projectId}", + "path": "v1beta1/projects/{projectId}", + "id": "cloudresourcemanager.projects.update", "request": { - "$ref": "GetAncestryRequest" + "$ref": "Project" }, - "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" - } - } + "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." }, "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" }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" @@ -393,52 +239,107 @@ "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": "v1beta1/projects/{resource}:testIamPermissions", + "id": "cloudresourcemanager.projects.testIamPermissions", + "path": "v1beta1/projects/{resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Returns permissions that a caller has on the specified Project." }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "DELETE", + "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}", + "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." + } + } + }, + "organizations": { + "methods": { "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" + }, + "pageSize": { + "location": "query", + "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 `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", + "location": "query" } - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta1/organizations", + "id": "cloudresourcemanager.organizations.list", + "path": "v1beta1/organizations" }, "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" }, + "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\".", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "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", + "path": "v1beta1/{+resource}:setIamPolicy", + "id": "cloudresourcemanager.organizations.setIamPolicy" + }, + "getIamPolicy": { "response": { "$ref": "Policy" }, @@ -446,10 +347,77 @@ "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 is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/organizations/{organizationsId}:getIamPolicy", + "id": "cloudresourcemanager.organizations.getIamPolicy", + "path": "v1beta1/{+resource}: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\"." + }, + "get": { + "description": "Fetches an Organization resource identified by the specified resource name.", + "response": { + "$ref": "Organization" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "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.", + "description": "The resource name of the Organization to fetch, e.g. \"organizations/1234\".", + "type": "string", + "required": true + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta1/organizations/{organizationsId}", + "id": "cloudresourcemanager.organizations.get", + "path": "v1beta1/{+name}" + }, + "update": { + "flatPath": "v1beta1/organizations/{organizationsId}", + "id": "cloudresourcemanager.organizations.update", + "path": "v1beta1/{+name}", + "description": "Updates an Organization resource identified by the specified resource name.", + "request": { + "$ref": "Organization" + }, + "response": { + "$ref": "Organization" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "parameters": { + "name": { + "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, "pattern": "^organizations/[^/]+$" @@ -458,29 +426,109 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "testIamPermissions": { + "id": "cloudresourcemanager.organizations.testIamPermissions", + "path": "v1beta1/{+resource}: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\".", + "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": "^organizations/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta1/organizations/{organizationsId}:testIamPermissions" } } } }, "parameters": { - "fields": { + "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": "Selector specifying which fields to include in a partial response.", + "description": "Data format for response.", + "default": "json" + }, + "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" }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "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": { + "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" }, - "callback": { + "uploadType": { "location": "query", - "description": "JSONP", + "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" @@ -489,90 +537,58 @@ "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" ], + "description": "V1 error format.", "type": "string" }, - "key": { + "callback": { "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.", + "description": "JSONP", "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.", + "kind": "discovery#restDescription", "servicePath": "", "basePath": "", - "id": "cloudresourcemanager:v1beta1", - "revision": "20170628", + "revision": "20170823", "documentationLink": "https://cloud.google.com/resource-manager", + "id": "cloudresourcemanager:v1beta1", "discoveryVersion": "v1", "schemas": { - "Ancestor": { - "description": "Identifying information for a single ancestor of a project.", - "type": "object", + "AuditConfig": { "properties": { - "resourceId": { - "description": "Resource id of the ancestor.", - "$ref": "ResourceId" + "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": "Ancestor" + "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" + }, + "Ancestor": { + "properties": { + "resourceId": { + "$ref": "ResourceId", + "description": "Resource id of the ancestor." + } + }, + "id": "Ancestor", + "description": "Identifying information for a single ancestor of a project.", + "type": "object" }, "ListOrganizationsResponse": { + "id": "ListOrganizationsResponse", "description": "The response returned from the `ListOrganizations` method.", "type": "object", "properties": { @@ -587,21 +603,20 @@ }, "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" + }, + "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" @@ -634,40 +649,40 @@ "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", - "type": "string" + "type": "string", + "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" }, "creationTime": { "format": "google-datetime", "description": "Timestamp when the Organization was created. Assigned by the server.\n@OutputOnly", "type": "string" + }, + "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": { + "type": "string", + "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\"." + }, + "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" @@ -682,6 +697,10 @@ "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,10 +709,6 @@ "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" @@ -730,6 +745,7 @@ "id": "OrganizationOwner" }, "GetAncestryResponse": { + "id": "GetAncestryResponse", "description": "Response from the GetAncestry method.", "type": "object", "properties": { @@ -740,8 +756,7 @@ }, "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.", @@ -777,45 +792,61 @@ "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": { + "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" - }, - "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" } }, "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": { + "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 DeleteProject)\nor by the system (Google Cloud Platform).\nThis can generally be reversed by invoking UndeleteProject.", + "This lifecycle state is no longer used and is 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" + "$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." }, "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" - }, - "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", @@ -829,22 +860,6 @@ "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 DeleteProject)\nor by the system (Google Cloud Platform).\nThis can generally be reversed by invoking UndeleteProject.", - "This lifecycle state is no longer used and is not returned by the API." - ], - "enum": [ - "LIFECYCLE_STATE_UNSPECIFIED", - "ACTIVE", - "DELETE_REQUESTED", - "DELETE_IN_PROGRESS" - ] } }, "id": "Project" @@ -899,9 +914,24 @@ "id": "FolderOperationError" }, "FolderOperation": { + "id": "FolderOperation", "description": "Metadata describing a long running folder operation", "type": "object", "properties": { + "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" @@ -913,23 +943,8 @@ "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).", @@ -967,40 +982,22 @@ "type": "object", "properties": { "type": { - "description": "Required field representing the resource type this id is for.\nAt present, the valid types are \"project\" and \"organization\".", + "description": "Required field representing the resource type this id is for.\nAt present, the valid types are \"project\", \"folder\", 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": "string", + "description": "Required field for the type-specific id. This should correspond to the id\nused in the type-specific API's." } }, "id": "ResourceId" - }, - "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" - }, - "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" } }, + "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": { @@ -1016,5 +1013,8 @@ }, "rootUrl": "https://cloudresourcemanager.googleapis.com/", "ownerDomain": "google.com", - "name": "cloudresourcemanager" + "name": "cloudresourcemanager", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, + "title": "Google Cloud Resource Manager API" } 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 1c1e3f9..591ab8e 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 9122ce1..6a8f1c3 100644 --- a/vendor/google.golang.org/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json +++ b/vendor/google.golang.org/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json @@ -1,161 +1,422 @@ { - "kind": "discovery#restDescription", - "description": "The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.", + "ownerDomain": "google.com", + "name": "cloudresourcemanager", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, + "title": "Google Cloud Resource Manager API", + "ownerName": "Google", + "resources": { + "folders": { + "methods": { + "move": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^folders/[^/]+$", + "location": "path", + "description": "The resource name of the Folder to move.\nMust be of the form folders/{folder_id}", + "type": "string", + "required": true + } + }, + "flatPath": "v2beta1/folders/{foldersId}:move", + "id": "cloudresourcemanager.folders.move", + "path": "v2beta1/{+name}: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." + }, + "testIamPermissions": { + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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" + } + }, + "flatPath": "v2beta1/folders/{foldersId}:testIamPermissions", + "id": "cloudresourcemanager.folders.testIamPermissions", + "path": "v2beta1/{+resource}: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." + }, + "delete": { + "response": { + "$ref": "Folder" + }, + "parameterOrder": [ + "name" + ], + "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." + }, + "list": { + "id": "cloudresourcemanager.folders.list", + "path": "v2beta1/folders", + "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.", + "parameterOrder": [], + "httpMethod": "GET", + "response": { + "$ref": "ListFoldersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "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" + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of Folders to return in the response.\nThis field is optional.", + "type": "integer", + "location": "query" + }, + "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": { + "description": "Controls whether Folders in the [DELETE_REQUESTED} state should\nbe returned.", + "type": "boolean", + "location": "query" + } + }, + "flatPath": "v2beta1/folders" + }, + "setIamPolicy": { + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "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.", + "type": "string", + "required": true + } + }, + "flatPath": "v2beta1/folders/{foldersId}:setIamPolicy", + "id": "cloudresourcemanager.folders.setIamPolicy", + "path": "v2beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "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": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "The resource name of the new Folder's parent.\nMust be of the form `folders/{folder_id}` or `organizations/{org_id}`.", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta1/folders", + "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" + } + }, + "getIamPolicy": { + "request": { + "$ref": "GetIamPolicyRequest" + }, + "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.", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "resource": { + "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.", + "type": "string", + "required": true + } + }, + "flatPath": "v2beta1/folders/{foldersId}:getIamPolicy", + "id": "cloudresourcemanager.folders.getIamPolicy", + "path": "v2beta1/{+resource}:getIamPolicy" + }, + "search": { + "response": { + "$ref": "SearchFoldersResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "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", + "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`." + }, + "undelete": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Folder" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^folders/[^/]+$", + "location": "path", + "description": "The resource name of the Folder to undelete.\nMust be of the form `folders/{folder_id}`.", + "type": "string", + "required": true + } + }, + "flatPath": "v2beta1/folders/{foldersId}:undelete", + "path": "v2beta1/{+name}:undelete", + "id": "cloudresourcemanager.folders.undelete", + "request": { + "$ref": "UndeleteFolderRequest" + }, + "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." + }, + "get": { + "path": "v2beta1/{+name}", + "id": "cloudresourcemanager.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.", + "httpMethod": "GET", + "response": { + "$ref": "Folder" + }, + "parameterOrder": [ + "name" + ], + "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}" + }, + "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" + }, + "httpMethod": "PATCH", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Folder" + }, + "parameters": { + "name": { + "description": "Output only. The resource name of the Folder.\nIts format is `folders/{folder_id}`, for example: \"folders/1234\".", + "type": "string", + "required": true, + "pattern": "^folders/[^/]+$", + "location": "path" + }, + "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" + } + } + } + }, + "parameters": { + "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": { + "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" + }, + "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": { + "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": { + "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" + } + }, + "version": "v2beta1", + "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": "", - "id": "cloudresourcemanager:v2beta1", + "revision": "20170823", "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." - }, - "response": { - "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`." - }, - "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." - }, "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", @@ -165,40 +426,75 @@ "type": "string" }, "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.\nNext ID: 4", "items": { "$ref": "AuditLogConfig" }, - "type": "array", - "description": "The configuration for logging of each type of permission.\nNext ID: 4" + "type": "array" } }, "id": "AuditConfig" }, + "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": { + "$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": "Operation" + }, "ListFoldersResponse": { + "description": "The ListFolders response message.", "type": "object", "properties": { "folders": { + "description": "A possibly paginated list of Folders that are direct descendants of\nthe specified parent resource.", "items": { "$ref": "Folder" }, - "type": "array", - "description": "A possibly paginated list of Folders that are direct descendants of\nthe specified parent resource." + "type": "array" }, "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." + "id": "ListFoldersResponse" }, "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}`." + "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" } }, "id": "MoveFolderRequest" @@ -215,8 +511,8 @@ "type": "array" }, "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 `SearchFolders`\nthat indicates from where searching should continue.\nThis field is optional.", + "type": "string" } }, "id": "SearchFoldersResponse" @@ -225,24 +521,22 @@ "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" + }, + "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" }, "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": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -253,36 +547,39 @@ "type": "array" }, "code": { - "type": "integer", "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code." + "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." + "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" + "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": { - "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,52 +592,14 @@ "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." - }, - "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]." - }, - "createTime": { - "type": "string", - "format": "google-datetime", - "description": "Output only. Timestamp when the Folder was created. Assigned by the server." - }, - "lifecycleState": { - "type": "string", - "enumDescriptions": [ - "Unspecified state.", - "The normal and active state.", - "The folder has been marked for deletion by the user." - ], - "enum": [ - "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}])?." - } - }, - "id": "Folder" + "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": { @@ -348,8 +607,8 @@ "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." + "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", @@ -357,28 +616,65 @@ "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." + "id": "ProjectCreationStatus" + }, + "Folder": { + "properties": { + "parent": { + "description": "The Folder’s parent's resource name.\nUpdates to the folder's parent must be performed via [MoveFolders].", + "type": "string" + }, + "createTime": { + "format": "google-datetime", + "description": "Output only. Timestamp when the Folder was created. Assigned by the server.", + "type": "string" + }, + "lifecycleState": { + "enum": [ + "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].", + "type": "string", + "enumDescriptions": [ + "Unspecified state.", + "The normal and active state.", + "The folder has been marked for deletion by the user." + ] + }, + "name": { + "description": "Output only. The resource name of the Folder.\nIts format is `folders/{folder_id}`, for example: \"folders/1234\".", + "type": "string" + }, + "displayName": { + "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", + "description": "A Folder in an Organization's resource hierarchy, used to\norganize that Organization's resources.", + "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", - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed." + "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", - "description": "Request message for `GetIamPolicy` method." + "id": "GetIamPolicyRequest" }, "UndeleteFolderRequest": { "description": "The UndeleteFolder request message.", @@ -387,8 +683,6 @@ "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.", @@ -414,7 +708,122 @@ ] } }, - "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" + }, + "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": { + "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" + }, + "FolderOperation": { + "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", + "description": "Metadata describing a long running folder operation", + "type": "object" + }, + "FolderOperationError": { + "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": [ + "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." + ] + } + }, + "id": "FolderOperationError", + "description": "A classification of the Folder Operation error.", + "type": "object" } }, "protocol": "rest", @@ -435,414 +844,5 @@ } } }, - "rootUrl": "https://cloudresourcemanager.googleapis.com/", - "ownerDomain": "google.com", - "name": "cloudresourcemanager", - "batchPath": "batch", - "fullyEncodeReservedExpansion": true, - "title": "Google Cloud Resource Manager API", - "ownerName": "Google", - "resources": { - "folders": { - "methods": { - "delete": { - "response": { - "$ref": "Folder" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^folders/[^/]+$", - "location": "path", - "description": "the resource name of the Folder to be deleted.\nMust be of the form `folders/{folder_id}`." - } - }, - "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." - }, - "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.", - "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" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v2beta1/folders", - "id": "cloudresourcemanager.folders.list", - "path": "v2beta1/folders" - }, - "setIamPolicy": { - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "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 is being specified.\nSee the operation documentation for the appropriate value for this field." - } - }, - "flatPath": "v2beta1/folders/{foldersId}:setIamPolicy", - "id": "cloudresourcemanager.folders.setIamPolicy", - "path": "v2beta1/{+resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "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" - ], - "response": { - "$ref": "Policy" - }, - "parameters": { - "resource": { - "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." - } - }, - "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" - } - }, - "search": { - "response": { - "$ref": "SearchFoldersResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "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" - } - }, - "undelete": { - "flatPath": "v2beta1/folders/{foldersId}:undelete", - "id": "cloudresourcemanager.folders.undelete", - "path": "v2beta1/{+name}:undelete", - "request": { - "$ref": "UndeleteFolderRequest" - }, - "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.", - "response": { - "$ref": "Folder" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "location": "path", - "description": "The resource name of the Folder to undelete.\nMust be of the form `folders/{folder_id}`.", - "type": "string", - "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}", - "request": { - "$ref": "Folder" - }, - "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" - } - } - } - }, - "parameters": { - "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": { - "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." - }, - "callback": { - "type": "string", - "location": "query", - "description": "JSONP" - }, - "alt": { - "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", - "description": "Data format for response." - }, - "access_token": { - "type": "string", - "location": "query", - "description": "OAuth access token." - }, - "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": { - "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" - }, - "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" - } - }, - "version": "v2beta1", - "baseUrl": "https://cloudresourcemanager.googleapis.com/" + "rootUrl": "https://cloudresourcemanager.googleapis.com/" } 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 d4174d0..9d3c0e1 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/cloudtrace/v1/cloudtrace-api.json b/vendor/google.golang.org/api/cloudtrace/v1/cloudtrace-api.json index 6a38d72..809a476 100644 --- a/vendor/google.golang.org/api/cloudtrace/v1/cloudtrace-api.json +++ b/vendor/google.golang.org/api/cloudtrace/v1/cloudtrace-api.json @@ -1,13 +1,10 @@ { - "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", - "documentationLink": "https://cloud.google.com/trace", "id": "cloudtrace:v1", + "revision": "20170823", + "documentationLink": "https://cloud.google.com/trace", "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 `{}`.", @@ -45,8 +42,8 @@ "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.", @@ -56,7 +53,6 @@ "id": "Trace" }, "Traces": { - "description": "List of new or updated traces.", "type": "object", "properties": { "traces": { @@ -67,40 +63,17 @@ "type": "array" } }, - "id": "Traces" + "id": "Traces", + "description": "List of new or updated traces." }, "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": { - "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." + "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" }, "spanId": { "format": "uint64", @@ -108,37 +81,61 @@ "type": "string" }, "parentSpanId": { + "type": "string", "format": "uint64", - "description": "ID of the parent span, if any. Optional.", - "type": "string" + "description": "ID of the parent span, if any. Optional." }, "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": { + "type": "object", + "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`" } - }, - "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" } } } @@ -153,32 +150,32 @@ "projects": { "methods": { "patchTraces": { + "httpMethod": "PATCH", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "projectId": { + "description": "ID of the Cloud project where the trace data is stored.", + "type": "string", + "required": true, + "location": "path" + } + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/trace.append" ], - "parameters": { - "projectId": { - "location": "path", - "description": "ID of the Cloud project where the trace data is stored.", - "type": "string", - "required": true - } - }, "flatPath": "v1/projects/{projectId}/traces", - "id": "cloudtrace.projects.patchTraces", "path": "v1/projects/{projectId}/traces", + "id": "cloudtrace.projects.patchTraces", + "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" - }, - "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" + } } }, "resources": { @@ -189,47 +186,77 @@ "id": "cloudtrace.projects.traces.get", "path": "v1/projects/{projectId}/traces/{traceId}", "description": "Gets a single trace by its ID.", - "response": { - "$ref": "Trace" - }, "parameterOrder": [ "projectId", "traceId" ], "httpMethod": "GET", - "parameters": { - "projectId": { - "type": "string", - "required": true, - "location": "path", - "description": "ID of the Cloud project where the trace data is stored." - }, - "traceId": { - "location": "path", - "description": "ID of the trace to return.", - "type": "string", - "required": true - } + "response": { + "$ref": "Trace" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/trace.readonly" - ] + ], + "parameters": { + "projectId": { + "description": "ID of the Cloud project where the trace data is stored.", + "type": "string", + "required": true, + "location": "path" + }, + "traceId": { + "type": "string", + "required": true, + "location": "path", + "description": "ID of the trace to return." + } + } }, "list": { "description": "Returns of a list of traces that match the specified filter conditions.", "response": { "$ref": "ListTracesResponse" }, + "httpMethod": "GET", "parameterOrder": [ "projectId" ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/trace.readonly" - ], "parameters": { + "endTime": { + "type": "string", + "location": "query", + "format": "google-datetime", + "description": "End of the time interval (inclusive) during which the trace data was\ncollected from the application." + }, + "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": { + "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.", + "type": "integer" + }, + "view": { + "enum": [ + "VIEW_TYPE_UNSPECIFIED", + "MINIMAL", + "ROOTSPAN", + "COMPLETE" + ], + "description": "Type of data returned for traces in the list. Optional. Default is\n`MINIMAL`.", + "type": "string", + "location": "query" + }, "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.", @@ -242,45 +269,15 @@ "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", "location": "query", - "format": "google-datetime", - "description": "Start of the time interval (inclusive) during which the trace data was\ncollected from the application." - }, - "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" - }, - "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." - }, - "view": { - "location": "query", - "enum": [ - "VIEW_TYPE_UNSPECIFIED", - "MINIMAL", - "ROOTSPAN", - "COMPLETE" - ], - "description": "Type of data returned for traces in the list. Optional. Default is\n`MINIMAL`.", - "type": "string" + "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`." } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/trace.readonly" + ], "flatPath": "v1/projects/{projectId}/traces", "id": "cloudtrace.projects.traces.list", "path": "v1/projects/{projectId}/traces" @@ -292,9 +289,9 @@ }, "parameters": { "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.", - "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." }, "pp": { "description": "Pretty-print response.", @@ -303,14 +300,14 @@ "location": "query" }, "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", @@ -323,17 +320,18 @@ "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" }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, "$.xgafv": { + "description": "V1 error format.", "type": "string", "enumDescriptions": [ "v1 error format", @@ -343,21 +341,14 @@ "enum": [ "1", "2" - ], - "description": "V1 error format." + ] }, "callback": { - "location": "query", "description": "JSONP", - "type": "string" + "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", @@ -365,7 +356,13 @@ ], "location": "query", "description": "Data format for response.", - "default": "json" + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string" }, "key": { "location": "query", @@ -379,5 +376,8 @@ } }, "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 d97a361..588ab9a 100644 --- a/vendor/google.golang.org/api/cloudtrace/v2/cloudtrace-api.json +++ b/vendor/google.golang.org/api/cloudtrace/v2/cloudtrace-api.json @@ -1,30 +1,278 @@ { - "revision": "20170626", + "ownerDomain": "google.com", + "name": "cloudtrace", + "batchPath": "batch", + "title": "Stackdriver Trace API", + "ownerName": "Google", + "resources": { + "projects": { + "resources": { + "traces": { + "methods": { + "list": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/trace.readonly" + ], + "parameters": { + "pageToken": { + "location": "query", + "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" + }, + "startTime": { + "format": "google-datetime", + "description": "Optional. Do not return traces whose end time is earlier than this time.", + "type": "string", + "location": "query" + }, + "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" + }, + "filter": { + "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\"", + "type": "string" + }, + "endTime": { + "location": "query", + "format": "google-datetime", + "description": "Optional. Do not return traces whose start time is later than this time.", + "type": "string" + } + }, + "flatPath": "v2/projects/{projectsId}/traces", + "id": "cloudtrace.projects.traces.list", + "path": "v2/{+parent}/traces", + "description": "Returns of a list of traces that match the specified filter conditions.", + "response": { + "$ref": "ListTracesResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET" + }, + "batchWrite": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "name": { + "description": "Required. Name of the project where the spans belong. The format is\n`projects/PROJECT_ID`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/trace.append" + ], + "flatPath": "v2/projects/{projectsId}/traces:batchWrite", + "path": "v2/{+name}/traces:batchWrite", + "id": "cloudtrace.projects.traces.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" + } + }, + "listSpans": { + "parameters": { + "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 + }, + "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" + } + }, + "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.", + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "ListSpansResponse" + } + } + }, + "resources": { + "spans": { + "methods": { + "create": { + "response": { + "$ref": "Span" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/trace.append" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/traces/[^/]+/spans/[^/]+$", + "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 + } + }, + "flatPath": "v2/projects/{projectsId}/traces/{tracesId}/spans/{spansId}", + "id": "cloudtrace.projects.traces.spans.create", + "path": "v2/{+name}", + "request": { + "$ref": "Span" + }, + "description": "Creates a new Span." + } + } + } + } + } + } + } + }, + "parameters": { + "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" + }, + "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", + "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": { + "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": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + } + }, + "version": "v2", + "baseUrl": "https://cloudtrace.googleapis.com/", + "servicePath": "", + "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", + "basePath": "", + "revision": "20170823", "documentationLink": "https://cloud.google.com/trace", "id": "cloudtrace:v2", "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.", - "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": { + "id": "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": { @@ -36,17 +284,21 @@ "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" } - }, - "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)." + "description": "For example: main binary, kernel modules, and dynamic libraries\nsuch as libc.so, sharedlib.so (up to 256 bytes).", + "$ref": "TruncatableString" }, "buildId": { "$ref": "TruncatableString", @@ -56,33 +308,36 @@ "id": "Module" }, "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": { + "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" + } }, "BatchWriteSpansRequest": { + "id": "BatchWriteSpansRequest", + "description": "The request message for the `BatchWriteSpans` method.", + "type": "object", "properties": { "spans": { "description": "A collection of spans.", @@ -91,19 +346,30 @@ }, "type": "array" } - }, - "id": "BatchWriteSpansRequest", - "description": "The request message for the `BatchWriteSpans` method.", - "type": "object" + } }, - "Span": { + "ListTracesResponse": { + "description": "The response message for the `ListTraces` method.", "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" + "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`.", + "type": "string" }, + "traces": { + "description": "List of trace records returned.", + "items": { + "$ref": "Trace" + }, + "type": "array" + } + }, + "id": "ListTracesResponse" + }, + "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": { "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" @@ -125,9 +391,9 @@ "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", @@ -135,8 +401,8 @@ "type": "string" }, "displayName": { - "description": "A description of the span's operation (up to 128 bytes).\nStackdriver Trace displays the description in the\n{% dynamic print site_values.console_name %}.\nFor example, the display name can be a qualified method name or a file name\nand a line number where the operation is called. A best practice is to use\nthe same display name within an application and at the same call point.\nThis makes it easier to correlate spans in different traces.", - "$ref": "TruncatableString" + "$ref": "TruncatableString", + "description": "A description of the span's operation (up to 128 bytes).\nStackdriver Trace displays the description in the\n{% dynamic print site_values.console_name %}.\nFor example, the display name can be a qualified method name or a file name\nand a line number where the operation is called. A best practice is to use\nthe same display name within an application and at the same call point.\nThis makes it easier to correlate spans in different traces." }, "timeEvents": { "$ref": "TimeEvents", @@ -153,44 +419,26 @@ "spanId": { "description": "The [SPAN_ID] portion of the span's resource name.", "type": "string" + }, + "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" } }, - "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." + "id": "Span" }, "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": {}, - "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`.", - "type": "string" - }, - "traces": { - "items": { - "$ref": "Trace" - }, - "type": "array", - "description": "List of trace records returned." - } - }, - "id": "ListTracesResponse" + "properties": {} }, "AttributeValue": { + "id": "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,9 +446,13 @@ "stringValue": { "$ref": "TruncatableString", "description": "A string up to 256 bytes long." + }, + "intValue": { + "format": "int64", + "description": "A 64-bit signed integer.", + "type": "string" } - }, - "id": "AttributeValue" + } }, "Attributes": { "description": "A set of attributes, each in the format `[KEY]:[VALUE]`.", @@ -212,51 +464,54 @@ "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": { + "id": "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": { - "format": "int32", - "description": "The number of dropped links after the maximum size was enforced. If\nthis value is 0, then no links were dropped.", - "type": "integer" - }, "link": { "description": "A collection of links.", "items": { "$ref": "Link" }, "type": "array" + }, + "droppedLinksCount": { + "format": "int32", + "description": "The number of dropped links after the maximum size was enforced. If\nthis value is 0, then no links were dropped.", + "type": "integer" } - }, - "id": "Links", - "description": "A collection of links, which are references from this span to a span\nin the same or different trace." + } }, "TruncatableString": { "description": "Represents a string that might be shortened to a specified length.", "type": "object", "properties": { + "value": { + "description": "The shortened string. For example, if the original string was 500\nbytes long and the limit of the string was 128 bytes, then this\nvalue contains the first 128 bytes of the 500-byte string. Note that\ntruncation always happens on the character boundary, to ensure that\ntruncated string is still valid UTF8. In case of multi-byte characters,\nsize of truncated string can be less than truncation limit.", + "type": "string" + }, "truncatedByteCount": { "format": "int32", "description": "The number of bytes removed from the original string. If this\nvalue is 0, then the string was not shortened.", "type": "integer" - }, - "value": { - "description": "The shortened string. For example, if the original string was 500\nbytes long and the limit of the string was 128 bytes, then this\nvalue contains the first 128 bytes of the 500-byte string. Note that\ntruncation always happens on the character boundary, to ensure that\ntruncated string is still valid UTF8. In case of multi-byte characters,\nsize of truncated string can be less than truncation limit.", - "type": "string" } }, "id": "TruncatableString" }, "StackTrace": { + "id": "StackTrace", + "description": "A call stack appearing in a trace.", + "type": "object", "properties": { "stackTraceHashId": { "format": "uint64", @@ -267,12 +522,10 @@ "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": { @@ -289,47 +542,9 @@ "type": "string" } }, - "id": "TimeEvent", - "description": "A time-stamped annotation or network event in the Span." - }, - "NetworkEvent": { - "type": "object", - "properties": { - "time": { - "format": "google-datetime", - "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" - }, - "type": { - "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." - ] - }, - "messageId": { - "format": "uint64", - "description": "An identifier for the message, which must be unique in this span.", - "type": "string" - }, - "messageSize": { - "format": "uint64", - "description": "The number of bytes sent or received.", - "type": "string" - } - }, - "id": "NetworkEvent", - "description": "An event describing an RPC message sent or received on the network." + "id": "TimeEvent" }, "ListSpansResponse": { - "id": "ListSpansResponse", "description": "The response message for the `ListSpans` method.", "type": "object", "properties": { @@ -344,30 +559,50 @@ "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": "ListSpansResponse" + }, + "NetworkEvent": { + "description": "An event describing an RPC message sent or received on the network.", + "type": "object", + "properties": { + "messageSize": { + "format": "uint64", + "description": "The number of bytes sent or received.", + "type": "string" + }, + "time": { + "format": "google-datetime", + "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" + }, + "type": { + "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." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "SENT", + "RECV" + ] + }, + "messageId": { + "format": "uint64", + "description": "An identifier for the message, which must be unique in this span.", + "type": "string" + } + }, + "id": "NetworkEvent" }, "StackFrame": { + "id": "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." - }, - "loadModule": { - "$ref": "Module", - "description": "The binary module from where the code was loaded." - }, - "columnNumber": { - "format": "int64", - "description": "The column number where the function call appears, if available.\nThis is important in JavaScript because of its anonymous functions.", - "type": "string" - }, "fileName": { "description": "The name of the source file where the function call appears (up to 256\nbytes).", "$ref": "TruncatableString" @@ -379,9 +614,26 @@ "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": { + "description": "The fully-qualified name that uniquely identifies the function or\nmethod that is active in this frame (up to 1024 bytes).", + "$ref": "TruncatableString" + }, + "lineNumber": { + "format": "int64", + "description": "The line number in `file_name` where the function call appears.", + "type": "string" + }, + "loadModule": { + "$ref": "Module", + "description": "The binary module from where the code was loaded." + }, + "columnNumber": { + "format": "int64", + "description": "The column number where the function call appears, if available.\nThis is important in JavaScript because of its anonymous functions.", + "type": "string" } - }, - "id": "StackFrame" + } }, "Link": { "id": "Link", @@ -389,22 +641,22 @@ "type": "object", "properties": { "type": { + "description": "The relationship of the current span relative to the linked span.", "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" - ], - "description": "The relationship of the current span relative to the linked span." + "CHILD_LINKED_SPAN", + "PARENT_LINKED_SPAN" + ] }, "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.", @@ -425,13 +677,15 @@ "description": "A user-supplied message describing the event. The maximum length for\nthe description is 256 bytes." }, "attributes": { - "description": "A set of attributes on the annotation. There is a limit of 4 attributes\nper Annotation.", - "$ref": "Attributes" + "$ref": "Attributes", + "description": "A set of attributes on the annotation. There is a limit of 4 attributes\nper Annotation." } }, "id": "Annotation" }, "StackFrames": { + "description": "A collection of stack frames, which can be truncated.", + "type": "object", "properties": { "droppedFramesCount": { "format": "int32", @@ -446,294 +700,40 @@ "type": "array" } }, - "id": "StackFrames", - "description": "A collection of stack frames, which can be truncated.", - "type": "object" + "id": "StackFrames" + }, + "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.", + "type": "object", + "properties": { + "name": { + "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.", + "type": "string" + } + } } }, - "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.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" }, "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" } } } }, - "rootUrl": "https://cloudtrace.googleapis.com/", - "ownerDomain": "google.com", - "name": "cloudtrace", - "batchPath": "batch", - "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": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "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 - } - }, - "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" - } - } - } - } - } - }, - "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": { - "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": { - "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": { - "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": "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": "" + "rootUrl": "https://cloudtrace.googleapis.com/" } 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 6451f08..b49d89d 100644 --- a/vendor/google.golang.org/api/cloudtrace/v2/cloudtrace-gen.go +++ b/vendor/google.golang.org/api/cloudtrace/v2/cloudtrace-gen.go @@ -300,8 +300,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 @@ -857,9 +859,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/compute/v0.alpha/compute-api.json b/vendor/google.golang.org/api/compute/v0.alpha/compute-api.json index 13fbdd4..44a4aa0 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/uFTt97abW_FhxmBGi55KrscaFiw\"", "discoveryVersion": "v1", "id": "compute:alpha", "name": "compute", "version": "alpha", - "revision": "20170612", + "revision": "20170816", "title": "Compute Engine API", "description": "Creates and runs virtual machines on Google Cloud Platform.", "ownerDomain": "google.com", @@ -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", @@ -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." + } + } } } }, @@ -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,7 +1727,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", @@ -1389,11 +1844,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." + } + } } } }, @@ -1440,11 +1964,6 @@ "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" - }, "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 BackendService. An up-to-date fingerprint must be provided in order to update the BackendService.", @@ -1452,7 +1971,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 +1991,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 +2085,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 +2098,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." + } + } } } }, @@ -1674,6 +2263,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 +2587,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 +2609,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 +2688,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 +2709,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 +3076,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 +3127,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 +3205,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 +3222,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 +3322,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 +3470,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 +3492,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 +3571,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 +3592,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 +3857,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 +3903,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 +3927,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 +3962,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 +4016,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 +4044,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 +4065,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." + } + } } } }, @@ -3093,7 +4261,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 +4275,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 +4317,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 +4339,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 +4418,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 +4439,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 +4620,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", @@ -3546,7 +4885,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 +4906,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 +5019,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 +5140,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 +5161,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 +5241,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 +5261,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 +5423,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 +5444,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 +5524,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 +5544,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 +5855,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 +5876,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 +6043,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." + } + } } } }, @@ -4323,6 +6179,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 +6296,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 +6317,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." + } + } } } }, @@ -4550,7 +6483,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 +6509,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 +6551,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 +6573,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 +6722,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 +6743,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 +6823,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 +6843,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 +6998,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 +7024,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 +7043,8 @@ "format": "int32", "annotations": { "required": [ - "compute.instanceGroupManagers.insert" + "compute.instanceGroupManagers.insert", + "compute.regionInstanceGroupManagers.insert" ] } }, @@ -5063,11 +7205,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 +7226,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 +7325,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 +7346,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 +7488,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 +7554,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 +7563,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 +7579,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 +7606,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 +7637,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 +7651,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 +7873,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 +7906,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 +7926,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 +8137,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 +8158,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 +8237,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 +8258,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 +8483,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 +8503,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 +8786,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 +8807,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." @@ -6392,11 +8995,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 +9017,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 +9096,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 +9117,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 +9283,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 +9309,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 +9330,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 +9491,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 +9512,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 +9606,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 +9706,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 +9727,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 +9854,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 +9957,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 +9973,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 +10057,10 @@ "counter": { "$ref": "LogConfigCounterOptions", "description": "Counter options." + }, + "dataAccess": { + "$ref": "LogConfigDataAccessOptions", + "description": "Data access options." } } }, @@ -6944,6 +10069,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 +10092,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 +10104,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 +10195,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 +10217,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 +10296,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 +10317,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 +10611,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 +10694,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 +10823,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 +11420,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 +11441,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 +11828,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 +11928,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." + } + } } } }, @@ -8196,7 +12240,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 +12258,7 @@ "properties": { "xpnResource": { "$ref": "XpnResourceId", - "description": "XPN resource ID." + "description": "Service resource (a.k.a service project) ID." } } }, @@ -8224,7 +12268,7 @@ "properties": { "xpnResource": { "$ref": "XpnResourceId", - "description": "XPN resource ID." + "description": "Service resource (a.k.a service project) ID." } } }, @@ -8234,7 +12278,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 +12287,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 +12300,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." } } }, @@ -8300,15 +12344,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 +12412,11 @@ "", "", "", + "", + "", + "", + "", + "", "" ] }, @@ -8467,11 +12521,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 +12537,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 +12620,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 +12641,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 +12731,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 +12751,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 +12845,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 +12861,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 +12981,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 +12997,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 +13024,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 +13038,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 +13127,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 +13180,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 +13206,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 +13327,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 +13348,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 +13658,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 +13679,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 +13802,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 +13850,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 +13872,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 +14082,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 +14103,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 +14293,12 @@ "$ref": "RouterStatusBgpPeerStatus" } }, + "natStatus": { + "type": "array", + "items": { + "$ref": "RouterStatusNatStatus" + } + }, "network": { "type": "string", "description": "URI of the network to which this router belongs." @@ -9551,6 +14365,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", @@ -9791,11 +14647,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 SecurityPolicy resources.", + "description": "A list of SecurityPolicy resources.", "items": { "$ref": "SecurityPolicy" } @@ -9808,6 +14664,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." + } + } } } }, @@ -9869,7 +14794,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 +14806,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 +14827,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 +14846,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 +14978,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).", @@ -10100,11 +15062,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 +15083,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 +15204,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 +15225,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." + } + } } } }, @@ -10216,7 +15316,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 +15373,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 +15395,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 +15474,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 +15495,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." + } + } } } }, @@ -10544,7 +15782,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 +15803,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." + } + } } } }, @@ -10671,7 +15978,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 +15999,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 +16133,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 +16151,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 +16230,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 +16251,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 +16490,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 +16512,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 +16608,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 +16629,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." + } + } } } }, @@ -11301,7 +16953,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 +16974,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 +17131,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 +17152,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." + } + } } } }, @@ -11522,11 +17312,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 +17334,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 +17413,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 +17434,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 +17726,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 +17747,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." + } + } } } }, @@ -12055,11 +18052,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 +18074,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 +18153,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 +18174,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 +18334,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 +18355,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 +18521,7 @@ }, "items": { "type": "array", - "description": "[Output Only] A list of Zone resources.", + "description": "A list of Zone resources.", "items": { "$ref": "Zone" } @@ -12334,6 +18538,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 +19396,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 +19668,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 +19805,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 +19825,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 +19861,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 +20287,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 +20347,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 +20429,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 +21322,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 +21342,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 +21688,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 +22045,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 +22261,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 +22358,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 +22740,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 +22760,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 +23539,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 +23559,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 +23816,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 +23836,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 +23961,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 +24065,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 +24189,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 +24261,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 +24514,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 +24751,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 +24858,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 +25240,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 +25261,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 +25947,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 +26331,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", @@ -21317,7 +27475,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 +27864,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 +28057,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 +28153,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 +28307,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 +28363,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" } }, @@ -22114,6 +28385,44 @@ } } }, + "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" + ] + } + } + }, "licenses": { "methods": { "delete": { @@ -22135,6 +28444,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 +28514,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 +28633,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 +28669,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 +28843,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 +29600,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 +29699,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 +29727,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 +29757,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 +29790,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 +29820,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 +29879,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 +29904,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 +29948,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", @@ -23626,7 +30377,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 +30393,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 +30469,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 +30768,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 +31372,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 +31780,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 +32017,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 +32124,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 +32460,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 +33273,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 +33315,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 +33632,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 +33709,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" @@ -27248,8 +33848,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 +33868,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 +33981,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 +34064,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 +34136,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 +34331,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" } }, @@ -28128,8 +34727,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 +35084,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 +35275,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.", @@ -28798,7 +35401,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" } }, @@ -29980,7 +36583,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 +36860,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 +37401,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 +37421,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 c7119e2..dca4c6f 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) @@ -187,10 +189,14 @@ type Service struct { Interconnects *InterconnectsService + LicenseCodes *LicenseCodesService + Licenses *LicensesService MachineTypes *MachineTypesService + NetworkEndpointGroups *NetworkEndpointGroupsService + Networks *NetworksService Projects *ProjectsService @@ -489,6 +495,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 +522,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 @@ -860,11 +884,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 +907,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 +937,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 +1046,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 +1087,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 +1333,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" @@ -1231,7 +1463,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 +1533,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 +1551,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 +1581,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 +1698,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 +1731,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"` @@ -1907,6 +2338,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 +2472,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 +2494,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 +2524,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 +2644,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 +2674,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 +2984,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 +3350,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 +3378,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 +3389,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 @@ -2919,13 +3593,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 +3634,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 { @@ -2989,21 +3766,6 @@ 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"` - // 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 BackendService. An up-to-date @@ -3013,8 +3775,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 +3793,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 +3908,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 +3915,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 +3962,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 { @@ -3338,6 +4195,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 +4225,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 +4732,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 +4754,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 +4784,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 +4904,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 +4934,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 +5460,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 +5506,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 +5629,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 +5645,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 +5681,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 +5790,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 +5831,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 +6036,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 +6058,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 +6088,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 +6208,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 +6238,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 +6756,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 +6827,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 +6886,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 +6924,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 +6960,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 +6982,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 +7012,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 { @@ -5575,7 +7261,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 +7289,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 +7384,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 +7406,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 +7436,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 +7555,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 +7585,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,6 +7879,48 @@ 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 @@ -6270,8 +8230,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 +8251,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 +8281,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 +8448,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 +8600,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 +8619,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 +8652,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 +8769,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 +8802,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 +9012,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 +9031,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 +9064,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 +9181,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 +9214,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 +9656,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 +9677,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 +9707,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 +9916,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 +9946,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 @@ -7425,6 +10122,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 +10273,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 +10294,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 +10324,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 @@ -7746,10 +10545,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 +10571,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 +10627,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 +10650,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 +10680,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 +10866,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 +10886,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 +10919,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 +11036,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 +11069,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 +11246,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 +11452,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 +11472,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 +11505,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 +11647,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 +11670,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 +11700,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 +11917,8 @@ type InstanceGroupManagerUpdatePolicy struct { // of action types is: RESTART < REPLACE. // // Possible values: + // "NONE" + // "REFRESH" // "REPLACE" // "RESTART" MinimalAction string `json:"minimalAction,omitempty"` @@ -8735,14 +12028,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 +12048,8 @@ type InstanceGroupManagersApplyUpdatesRequest struct { // instances. By default NONE. // // Possible values: + // "NONE" + // "REFRESH" // "REPLACE" // "RESTART" MinimalAction string `json:"minimalAction,omitempty"` @@ -8807,36 +12106,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 +12177,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 +12189,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 +12219,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 +12625,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 +12684,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 +12704,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 +12737,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 +13061,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 +13083,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 +13113,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 +13232,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 +13262,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 +13587,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 +13606,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 +13639,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 +14099,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 +14109,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 +14123,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"` @@ -10642,11 +14339,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 +14362,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 +14392,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 +14514,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 +14544,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 +14802,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 +14868,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 +14898,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 +15089,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 +15111,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 +15141,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 +15252,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 +15374,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 +15396,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 +15426,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 +15588,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 +15723,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 +15741,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 +15771,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 +15875,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 +15903,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 +15915,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 +15940,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 +15993,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 +16108,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 +16131,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 +16161,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 +16281,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 +16311,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 +16740,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 +16894,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 +17057,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 +18011,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 +18033,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 +18063,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 +18634,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 +18664,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 +18784,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 +18814,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"` @@ -13422,9 +19283,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 +19321,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 +19348,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 +19376,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 +19388,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 +19421,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 @@ -13637,15 +19499,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 +19682,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 +19733,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 +19852,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 +19882,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 +20008,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 +20026,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 +20059,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 +20188,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 +20200,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 +20241,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 +20408,8 @@ type RegionInstanceGroupManagersApplyUpdatesRequest struct { // instances. By default REPLACE. // // Possible values: + // "NONE" + // "REFRESH" // "REPLACE" // "RESTART" MaximalAction string `json:"maximalAction,omitempty"` @@ -14147,6 +20418,8 @@ type RegionInstanceGroupManagersApplyUpdatesRequest struct { // instances. By default NONE. // // Possible values: + // "NONE" + // "REFRESH" // "REPLACE" // "RESTART" MinimalAction string `json:"minimalAction,omitempty"` @@ -14203,39 +20476,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 +20488,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 +20518,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 +20654,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 +20773,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 +20792,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 +20825,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 +20996,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 +21018,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 +21048,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 +21472,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 +21493,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 +21523,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 +21658,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 +21733,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 +21754,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 +21784,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 +22060,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 +22082,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 +22112,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 +22335,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 +22424,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"` @@ -15893,11 +22831,11 @@ func (s *Scheduling) MarshalJSON() ([]byte, error) { } type SecurityPoliciesList 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 SecurityPolicy resources. + // Items: A list of SecurityPolicy resources. Items []*SecurityPolicy `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -15912,6 +22850,9 @@ type SecurityPoliciesList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *SecurityPoliciesListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -15939,6 +22880,102 @@ func (s *SecurityPoliciesList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SecurityPoliciesListWarning: [Output Only] Informational warning +// message. +type SecurityPoliciesListWarning 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 []*SecurityPoliciesListWarningData `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 *SecurityPoliciesListWarning) MarshalJSON() ([]byte, error) { + type noMethod SecurityPoliciesListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SecurityPoliciesListWarningData 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 *SecurityPoliciesListWarningData) MarshalJSON() ([]byte, error) { + type noMethod SecurityPoliciesListWarningData + 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 { @@ -16044,7 +23081,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 +23092,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 +23132,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 +23199,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 +23362,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). @@ -16388,11 +23471,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 +23492,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 +23522,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 +23687,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 +23708,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 +23738,102 @@ 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 @@ -16582,8 +23862,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 +23952,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 +23974,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 +24004,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 +24124,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 +24154,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 { @@ -17151,8 +24630,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 +24652,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 +24682,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. // @@ -17356,8 +24934,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 +24956,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 +24986,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 +25167,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 +25184,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 +25214,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 +25333,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 +25363,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 +25731,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 +25754,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 +25784,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 +25917,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 +25939,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 +25969,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"` @@ -18436,8 +26508,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 +26529,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 +26559,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 +26788,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 +26809,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 +26839,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 @@ -18751,11 +27021,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 +27043,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 +27073,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 +27193,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 +27223,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 +27664,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 +27685,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 +27715,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"` @@ -19579,11 +28145,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 +28167,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 +28197,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 +28317,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 +28347,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 +28570,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 +28592,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 +28622,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 +28831,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 +28848,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 +28878,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 +32248,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 +33380,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 +33976,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 +34109,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 +34256,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 +36086,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 +36389,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 +36711,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 +40382,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 +40515,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 +41911,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 +43442,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 +44358,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 +44810,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 +46488,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 +46621,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 +49883,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 +50016,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 +51099,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 +51232,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 +51616,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 +51739,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 +52198,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 +52777,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 +53071,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 +54063,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 +55038,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 +55477,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 +56944,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 +56970,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 +57100,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 +59975,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 +61343,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 { @@ -57106,6 +65649,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 +65768,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 +67199,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 +68048,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 +68381,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 +69111,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 +69391,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 +69412,158 @@ 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.licenses.delete": type LicensesDeleteCall struct { @@ -60430,6 +69583,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 +69705,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 +70010,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 +70573,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 +70720,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 +71421,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 +74615,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 +75079,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 +75110,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 +75217,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 +75260,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 +75374,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 +75419,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 +75526,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 +75569,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 +75684,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 +75871,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 +75973,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 +76011,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 +76137,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 +76215,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 +76334,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": [ @@ -67031,9 +78014,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 +78143,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 +78157,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 +78357,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 +78486,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 +79614,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 +81950,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 +82080,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 +83604,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 +84575,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 +85014,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 +86287,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 +89626,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 +89744,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 +89789,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 +91151,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 +91464,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, @@ -81647,8 +92061,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 +92194,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 +92669,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 +93067,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 +93361,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 +94233,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" // } @@ -85384,8 +95797,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 +97329,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 +98095,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 +98216,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", @@ -88274,7 +98710,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" // } @@ -93105,7 +103541,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 +104753,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 +107018,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 +107151,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 49fe01f..969d806 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/8hLk7L_JQ1G44uTMorpu3AkR7MY\"", "discoveryVersion": "v1", "id": "compute:beta", "name": "compute", "version": "beta", - "revision": "20170612", + "revision": "20170816", "title": "Compute Engine API", "description": "Creates and runs virtual machines on Google Cloud Platform.", "ownerDomain": "google.com", @@ -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", @@ -338,6 +338,20 @@ "type": "string", "description": "The static external 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", "description": "[Output Only] Creation timestamp in RFC3339 text format." @@ -412,6 +426,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 +449,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." @@ -459,11 +477,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 +497,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -759,6 +777,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 +886,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." @@ -875,7 +918,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", @@ -1136,7 +1179,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 +1202,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,7 +1296,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", @@ -1304,7 +1347,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 +1367,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 +1415,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 +1459,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,7 +1472,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", @@ -1754,11 +1802,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." @@ -1786,7 +1834,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", @@ -2128,7 +2176,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 +2254,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,7 +2271,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", @@ -2254,7 +2302,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", @@ -2333,11 +2381,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." @@ -2365,11 +2413,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" } @@ -2600,7 +2648,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 +2672,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 +2757,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 +2785,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" } @@ -2761,6 +2809,28 @@ } } }, + "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" + } + } + }, "ForwardingRule": { "id": "ForwardingRule", "type": "object", @@ -2863,7 +2933,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 +2975,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." @@ -2937,7 +3007,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", @@ -3250,7 +3320,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", @@ -3411,7 +3481,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", @@ -3706,11 +3776,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" } @@ -3816,7 +3886,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 +3912,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 +3954,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." @@ -3986,11 +4056,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 +4077,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." } } }, @@ -4018,11 +4088,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 +4108,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." } } }, @@ -4117,7 +4187,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 +4199,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 +4213,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 +4228,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 +4293,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 +4307,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 +4328,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." } } }, @@ -4262,11 +4354,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" } @@ -4286,6 +4378,91 @@ } } }, + "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." + } + } + }, "InstanceGroupManagersAbandonInstancesRequest": { "id": "InstanceGroupManagersAbandonInstancesRequest", "type": "object", @@ -4498,11 +4675,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 +4695,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." } } }, @@ -4660,11 +4837,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" } @@ -4691,11 +4868,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" } @@ -4864,11 +5041,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 +5061,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." } } }, @@ -5091,6 +5268,625 @@ } } }, + "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: 14", + "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." + } + } + }, + "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." + } + } + }, + "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." + } + } + }, + "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." + } + } + }, + "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 +5929,10 @@ "counter": { "$ref": "LogConfigCounterOptions", "description": "Counter options." + }, + "dataAccess": { + "$ref": "LogConfigDataAccessOptions", + "description": "Data access options." } } }, @@ -5141,6 +5941,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 +5964,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 +5976,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 +6067,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." @@ -5276,11 +6099,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" } @@ -5397,7 +6220,8 @@ "NONE", "RECREATING", "REFRESHING", - "RESTARTING" + "RESTARTING", + "VERIFYING" ], "enumDescriptions": [ "", @@ -5407,6 +6231,7 @@ "", "", "", + "", "" ] }, @@ -5529,7 +6354,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 +6442,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." @@ -5679,11 +6508,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" } @@ -5738,6 +6567,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", @@ -6260,7 +7108,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 +7126,7 @@ "properties": { "xpnResource": { "$ref": "XpnResourceId", - "description": "XPN resource ID." + "description": "Service resource (a.k.a service project) ID." } } }, @@ -6288,7 +7136,7 @@ "properties": { "xpnResource": { "$ref": "XpnResourceId", - "description": "XPN resource ID." + "description": "Service resource (a.k.a service project) ID." } } }, @@ -6298,7 +7146,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 +7155,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 +7168,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 +7201,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 +7225,7 @@ "TARGET_INSTANCES", "TARGET_POOLS", "TARGET_SSL_PROXIES", + "TARGET_TCP_PROXIES", "TARGET_VPN_GATEWAYS", "URL_MAPS", "VPN_TUNNELS" @@ -6413,6 +7267,12 @@ "", "", "", + "", + "", + "", + "", + "", + "", "" ] }, @@ -6517,11 +7377,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,7 +7393,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", @@ -6548,7 +7408,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 +7428,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." } } }, @@ -6579,11 +7439,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 +7455,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." } } }, @@ -6705,11 +7565,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 +7585,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -6777,11 +7637,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" } @@ -7037,11 +7897,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" } @@ -7138,11 +7998,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." @@ -7215,6 +8075,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 +8097,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", @@ -7581,6 +8445,134 @@ } } }, + "SecurityPoliciesList": { + "id": "SecurityPoliciesList", + "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#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", + "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." + } + } + }, + "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", @@ -7745,11 +8737,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" } @@ -7818,7 +8810,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", @@ -7909,11 +8901,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." @@ -7941,11 +8933,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" } @@ -8180,7 +9172,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", @@ -8269,7 +9261,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", @@ -8355,7 +9347,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." @@ -8383,7 +9375,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", @@ -8574,11 +9566,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." @@ -8623,7 +9615,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", @@ -8895,7 +9887,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", @@ -9004,7 +9996,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", @@ -9116,11 +10108,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." @@ -9148,11 +10140,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" } @@ -9392,7 +10384,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", @@ -9637,11 +10629,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." @@ -9669,11 +10661,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" } @@ -9781,18 +10773,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": { @@ -9808,15 +10800,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" @@ -9899,7 +10891,7 @@ }, "items": { "type": "array", - "description": "[Output Only] A list of Zone resources.", + "description": "A list of Zone resources.", "items": { "$ref": "Zone" } @@ -10705,8 +11697,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 +11988,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 +12313,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 +12373,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 +13221,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 +13241,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 +13895,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 +14167,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 +14549,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 +14569,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 +14826,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 +14846,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 +15103,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 +15123,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 +15248,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 +15478,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 +15928,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 +16970,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" } }, @@ -17232,6 +18256,613 @@ } } }, + "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" + ] + } + } + }, "licenses": { "methods": { "get": { @@ -17619,6 +19250,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 +19387,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 +19415,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 +19445,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 +19478,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 +19508,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 +19567,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 +19592,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 +19636,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 +20032,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 +20048,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 +20124,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 +20423,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 +21094,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 +22201,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 +22243,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 +22560,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": "SecurityPoliciesList" + }, + "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 +22994,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 +23189,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" } }, @@ -21989,7 +23893,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 +24170,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 +25352,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 +26133,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 +26153,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 7ddf424..4a6bf34 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 @@ -815,8 +863,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. @@ -1032,6 +1084,15 @@ type Address struct { // Address: The static external 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 +1161,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 +1204,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 @@ -1183,11 +1251,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 @@ -1202,7 +1270,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 @@ -1740,6 +1808,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 +1942,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 @@ -1888,8 +1993,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. @@ -2407,7 +2512,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 +2535,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 +2546,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,8 +2705,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. @@ -2675,8 +2784,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 +2802,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 +2857,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,14 +2923,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. @@ -3378,11 +3501,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 @@ -3429,8 +3552,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. @@ -3931,7 +4054,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 +4177,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,8 +4193,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. @@ -4116,11 +4239,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. @@ -4263,11 +4387,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 @@ -4314,11 +4438,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 @@ -4796,15 +4920,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 +4979,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 +5017,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 +5053,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 @@ -4975,6 +5102,43 @@ func (s *FirewallList) MarshalJSON() ([]byte, error) { 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 +5267,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 +5362,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 @@ -5249,7 +5413,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"` @@ -5709,8 +5873,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. @@ -5962,7 +6126,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"` @@ -6377,11 +6541,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. @@ -6518,10 +6682,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 +6708,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 +6764,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 @@ -6740,11 +6904,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,8 +6924,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 @@ -6793,11 +6956,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 @@ -6812,8 +6975,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 @@ -6905,6 +7067,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 +7080,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 +7097,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 +7194,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 +7224,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,8 +7244,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 @@ -7127,11 +7313,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 @@ -7177,6 +7363,143 @@ func (s *InstanceGroupManagerList) MarshalJSON() ([]byte, error) { 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 +7937,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,8 +7957,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 @@ -7894,11 +8215,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 @@ -7945,11 +8266,11 @@ func (s *InstanceList) MarshalJSON() ([]byte, error) { // 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 @@ -8215,11 +8536,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,8 +8555,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 @@ -8620,6 +8940,852 @@ 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: 14 +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"` + + // 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) +} + +// 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"` + + // 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) +} + +// 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"` + + // 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) +} + +// 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"` + + // 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) +} + +// 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 +9838,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 +9866,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 +9878,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 +9903,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 +9956,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 +10071,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 @@ -8892,11 +10123,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 @@ -9104,6 +10335,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 +10567,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 +10675,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"` @@ -9559,11 +10796,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 @@ -9670,6 +10907,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. @@ -10467,9 +11743,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 +11781,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 +11808,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 +11836,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 +11848,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 +11881,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 +11931,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 +11955,7 @@ type Quota struct { // "TARGET_INSTANCES" // "TARGET_POOLS" // "TARGET_SSL_PROXIES" + // "TARGET_TCP_PROXIES" // "TARGET_VPN_GATEWAYS" // "URL_MAPS" // "VPN_TUNNELS" @@ -10831,18 +12114,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. @@ -10877,8 +12164,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. @@ -10895,8 +12182,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 @@ -10929,11 +12215,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 @@ -10941,12 +12227,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 @@ -11194,12 +12483,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,7 +12501,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 @@ -11318,11 +12606,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 @@ -11695,11 +12983,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. @@ -11821,11 +13109,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. @@ -11957,6 +13245,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 +13286,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. @@ -12492,6 +13786,237 @@ func (s *Scheduling) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type SecurityPoliciesList 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#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 { + // 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 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. @@ -12716,11 +14241,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. @@ -12834,7 +14359,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"` @@ -12976,11 +14501,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 @@ -13027,11 +14552,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 @@ -13457,8 +14982,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. @@ -13611,8 +15136,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. @@ -13745,7 +15270,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. @@ -13791,8 +15316,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. @@ -14111,11 +15636,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 @@ -14198,7 +15723,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"` @@ -14687,8 +16212,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. @@ -14868,8 +16393,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. @@ -15002,11 +16527,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 @@ -15053,11 +16578,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 @@ -15447,7 +16972,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"` @@ -15814,11 +17339,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 @@ -15865,11 +17390,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 @@ -16042,15 +17567,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 @@ -16091,13 +17616,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" @@ -16204,7 +17730,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. @@ -19523,8 +21049,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 +22288,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 +23765,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 +24068,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 +27592,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 +27725,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 +30468,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 +31663,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 +33341,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 +33474,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 +34561,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 +34694,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 +35777,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 +35910,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 +36294,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 +36417,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 +37450,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 +39283,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 +43599,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 +48379,2634 @@ func (c *InstancesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Tes } +// 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 +52737,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 +53366,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 +53397,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 +53504,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 +53547,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 +53661,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 +53706,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 +53813,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 +53856,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 +53971,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 +54158,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 +54260,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 +54298,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 +54424,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 +54502,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 +54621,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 +56140,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 +56269,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 +56283,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 +56483,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 +56612,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 +57740,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 +60490,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 +64944,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 +65062,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 +65107,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 +66469,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 +66490,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 *SecurityPoliciesList 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 +// returned 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) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &SecurityPoliciesList{ + ServerResponse: googleapi.ServerResponse{ + Header: 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": "SecurityPoliciesList" + // }, + // "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(*SecurityPoliciesList) 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 +68380,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 +69252,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" // } @@ -66630,7 +72163,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 +73375,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 +78206,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 +81535,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 +81668,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 5eeba0b..a6b658b 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/NmnDcMrRPBfXrpllirstA-3cT3k\"", "discoveryVersion": "v1", "id": "compute:v1", "name": "compute", "version": "v1", - "revision": "20170612", + "revision": "20170816", "title": "Compute Engine API", "description": "Creates and runs virtual machines on Google Cloud Platform.", "ownerDomain": "google.com", @@ -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", @@ -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", @@ -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", @@ -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", @@ -3364,11 +3424,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 +3530,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 +3556,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 +3598,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 +3700,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 +3721,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 +3732,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 +3752,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 +3812,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 +3845,8 @@ "format": "int32", "annotations": { "required": [ - "compute.instanceGroupManagers.insert" + "compute.instanceGroupManagers.insert", + "compute.regionInstanceGroupManagers.insert" ] } }, @@ -3846,11 +3908,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 +3929,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 +3940,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 +4145,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 +4165,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 +4307,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 +4476,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 +4496,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 +4814,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 +4846,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 +5081,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 +5194,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 +5231,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 +5770,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 +5788,7 @@ "properties": { "xpnResource": { "$ref": "XpnResourceId", - "description": "XPN resource ID." + "description": "Service resource (a.k.a service project) ID." } } }, @@ -5729,7 +5798,7 @@ "properties": { "xpnResource": { "$ref": "XpnResourceId", - "description": "XPN resource ID." + "description": "Service resource (a.k.a service project) ID." } } }, @@ -5739,7 +5808,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 +5817,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 +5830,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 +5867,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 +5886,7 @@ "TARGET_INSTANCES", "TARGET_POOLS", "TARGET_SSL_PROXIES", + "TARGET_TCP_PROXIES", "TARGET_VPN_GATEWAYS", "URL_MAPS", "VPN_TUNNELS" @@ -5854,6 +5928,11 @@ "", "", "", + "", + "", + "", + "", + "", "" ] }, @@ -5934,11 +6013,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 +6029,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 +6044,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 +6064,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 +6075,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 +6091,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 +6185,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 +6205,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -6178,11 +6257,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 +6499,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 +6600,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 +6695,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", @@ -7062,11 +7141,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 +7214,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 +7286,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 +7305,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 +7337,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 +7361,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 +7576,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 +7665,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 +7751,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 +7779,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 +7970,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 +8019,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 +8291,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 +8400,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 +8512,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 +8544,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 +8739,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 +8984,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 +9016,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 +9128,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 +9155,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 +9239,7 @@ }, "items": { "type": "array", - "description": "[Output Only] A list of Zone resources.", + "description": "A list of Zone resources.", "items": { "$ref": "Zone" } @@ -9407,6 +9508,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 +9589,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 +9741,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 +9822,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 +9926,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 +9951,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 +9973,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 +10024,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 +10089,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 +10178,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 +10197,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 +10219,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 +10313,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 +10414,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 +10503,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 +10522,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 +10544,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 +10795,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 +10843,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 +10924,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 +11034,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 +11076,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 +11135,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 +11200,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 +11274,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 +11289,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 +11330,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 +11431,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 +11512,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 +11617,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 +11663,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 +11728,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 +11821,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 +11886,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 +11975,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 +12186,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 +12251,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 +12340,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 +12359,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 +12381,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 +12426,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 +12491,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 +12580,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 +12599,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 +12621,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 +12666,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 +12731,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 +12820,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 +12839,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 +12861,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 +12906,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 +12944,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 +13051,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 +13183,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 +13279,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 +13323,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 +13404,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 +13565,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 +13612,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 +13664,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 +13711,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 +13762,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 +13858,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 +13936,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 +14104,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 +14151,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 +14202,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 +14267,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 +14367,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 +14466,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 +14515,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 +14573,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 +14627,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 +14766,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 +14871,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 +14930,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 +14978,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 +15027,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 +15076,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 +15125,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 +15174,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 +15223,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 +15272,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 +15321,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 +15367,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 +15416,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 +15655,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 +15696,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 +15761,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 +15850,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 +15891,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 +15918,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 +15926,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 +15948,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 +15956,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 +15981,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 +15989,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 +16011,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 +16019,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 +16070,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 +16095,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 +16139,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 +16194,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 +16227,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 +16260,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 +16293,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 +16347,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 +16428,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 +16532,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 +16551,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 +16579,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 +16631,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 +16756,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 +16861,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 +16881,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 +16910,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 +17047,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 +17154,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 +17201,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 +17245,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 +17326,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 +17487,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 +17535,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 +17587,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 +17634,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 +17847,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 +18171,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 +18300,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 +18383,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 +18399,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 +18425,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 +18493,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 +18539,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 +18610,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 +18697,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 +18858,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 +18929,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 +19072,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 +19118,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 +19208,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 +19307,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 +19353,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 +19424,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 +19507,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 +19552,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 +19623,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 +19706,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 +19747,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 +19841,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 +19929,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 +20038,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 +20087,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 +20185,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 +20317,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 +20416,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 +20465,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 +20520,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 +20566,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 +20637,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 +20720,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 +20761,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 +20802,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 +20847,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 +20918,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 +21001,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 +21042,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 +21143,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 +21230,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 +21326,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 +21397,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 +21431,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 +21521,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 +21546,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 +21562,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 +21699,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 +21786,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 60d6646..4f47051 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. @@ -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 @@ -1668,11 +1711,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 +1762,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 +2228,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 +2251,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 +2262,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 +2421,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 +2500,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 +2518,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 +2635,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 +3149,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 +3200,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 +3619,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 +3735,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 +3751,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 +3797,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 +3945,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 +3996,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 +4338,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 +4393,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 +4414,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 +4465,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 +4499,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 +4700,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 +4775,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 +4826,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"` @@ -5154,8 +5282,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 +5535,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"` @@ -5804,11 +5932,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 +6067,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 +6093,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 +6149,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 +6289,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 +6309,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 +6341,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 +6360,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 +6565,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 +6585,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 +6618,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 +7016,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 +7036,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 +7294,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 +7556,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 +7575,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 +8091,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 +8143,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 +8550,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 +8701,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 +8774,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 +9596,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 +9634,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 +9661,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 +9689,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 +9701,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 +9734,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 +9788,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 +9807,7 @@ type Quota struct { // "TARGET_INSTANCES" // "TARGET_POOLS" // "TARGET_SSL_PROXIES" + // "TARGET_TCP_PROXIES" // "TARGET_VPN_GATEWAYS" // "URL_MAPS" // "VPN_TUNNELS" @@ -9793,18 +9926,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 +9976,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 +9994,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 +10027,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 +10039,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 +10260,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 +10278,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 +10383,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 +10724,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 +10850,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 +11021,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. @@ -11547,11 +11685,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 +11803,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 +11907,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 +11945,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 +11996,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 +12045,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 +12426,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 +12580,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 +12714,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 +12760,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 +13080,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 +13167,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 +13656,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 +13837,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 +13971,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 +14022,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 +14314,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 +14681,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 +14732,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 +14909,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 +14958,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 +15067,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 +16098,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 +16229,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 +16434,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 +16561,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 +17119,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 +17244,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 +17454,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 +17575,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 +17896,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 +18023,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 +18045,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 +18080,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 +18207,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 +18254,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 +18376,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 +18567,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 +18685,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 +18982,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 +19109,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 +19125,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 +19153,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 +19280,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 +19574,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 +19696,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 +20039,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 +20157,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 +20459,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 +20586,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 +20602,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 +20633,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 +20760,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 +21744,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 +21878,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 +21931,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 +22055,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 +22270,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 +22398,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 +22718,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 +22848,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 +22900,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 +23023,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 +23078,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 +23200,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 +23392,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 +23510,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 +23798,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 +23809,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 +23915,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 +23924,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 +23936,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 +23983,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 +24110,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 +24406,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 +24537,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 +24742,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 +24869,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 +25180,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 +25316,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 +25358,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 +25480,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 +25673,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 +25791,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 +26085,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 +26207,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 +26400,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 +26518,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 +26816,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 +26943,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 +27751,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 +27873,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 +28064,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 +28182,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 +28479,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 +28606,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 +28622,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 +28650,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 +28777,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 +28819,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 +28941,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 +29134,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 +29252,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 +29551,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 +29678,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 +29694,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 +29723,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 +29850,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 +29891,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 +30013,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 +30204,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 +30322,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 +30619,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 +30746,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 +30762,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 +30790,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 +30917,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 +30959,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 +31081,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 +31125,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 +31252,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 +31607,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 +31730,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 +32199,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 +32328,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 +32632,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 +32756,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 +32818,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 +32947,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 +33166,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 +33287,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 +33809,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 +33938,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 +33997,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 +34122,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 +34178,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 +34307,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 +34363,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 +34492,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 +34544,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 +34673,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 +34976,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 +35100,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 +35307,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 +35428,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 +36012,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 +36141,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 +36191,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 +36320,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 +36371,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 +36493,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 +36689,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 +36807,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 +37108,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 +37245,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 +37552,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 +37682,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 +37733,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 +37858,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 +37908,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 +38047,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 +38095,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 +38227,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 +38636,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 +38757,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 +39072,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 +39197,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 +39247,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 +39387,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 +39436,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 +39566,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 +39618,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 +39748,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 +39800,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 +39930,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 +39983,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 +40113,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 +40165,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 +40295,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 +40348,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 +40478,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 +40531,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 +40661,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 +40713,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 +40838,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 +40888,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 +41018,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 +41074,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 +41199,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 +42077,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 +42204,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 +42246,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 +42368,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 +42561,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 +42679,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 +42975,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 +43102,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 +43144,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 +43266,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 +43295,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 +43402,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 +43415,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 +43445,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 +43454,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 +43559,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 +43572,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 +43604,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 +43711,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 +43724,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 +43754,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 +43764,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 +43869,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 +43882,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 +44056,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 +44158,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 +44196,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 +44322,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 +44400,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 +44519,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 +44608,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 +44726,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 +44768,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 +44886,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 +44929,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 +45047,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 +45092,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 +45210,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 +45256,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 +45387,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 +45590,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 +45717,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 +46032,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 +46165,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 +46181,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 +46216,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 +46349,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 +46392,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 +46523,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 +46887,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 +47014,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 +47327,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 +47463,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 +47479,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 +47511,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 +47647,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 +48105,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 +48232,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 +48556,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 +48690,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 +48734,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 +48863,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 +48920,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 +49054,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 +49266,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 +49392,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 +49907,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 +50041,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 +50096,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 +50227,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 +50278,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 +50412,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 +50459,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 +50593,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 +51332,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 +51466,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 +52713,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 +52838,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 +53211,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 +53338,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 +53637,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 +53648,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 +53755,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 +53778,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 +53800,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 +53990,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 +54120,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 +54168,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 +54284,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 +54483,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 +54601,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 +54902,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 +55018,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 +55615,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 +55731,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 +55928,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 +56046,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 +56592,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 +56717,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 +56766,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 +56896,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 +57109,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 +57236,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 +57546,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 +57676,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 +57724,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 +57840,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 +58039,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 +58157,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 +58454,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 +58575,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 +58622,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 +58738,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 +58935,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 +59053,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 +59348,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 +59469,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 +59518,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 +59639,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 +59941,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 +60059,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 +60278,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 +60399,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 +60715,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 +60845,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 +60897,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 +61027,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 +61329,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 +61454,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 +61826,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 +61953,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 +62263,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 +62393,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 +62445,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 +62575,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 +62634,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 +62770,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 +62817,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 +62933,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 +63130,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 +63248,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 +63543,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 +63664,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 +63713,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 +63834,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 +63883,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 +64004,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 +64051,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 +64167,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 +64364,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 +64482,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 +64777,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 +64898,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 +64947,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 +65068,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 +65368,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 +65493,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 +65703,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 +65830,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 +66135,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 +66251,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 +66450,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 +66568,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 +66612,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 +66733,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 +67038,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 +67159,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 +67181,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 +67210,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 +67331,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 +67780,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 +67905,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 +68115,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 +68242,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/container/v1/container-api.json b/vendor/google.golang.org/api/container/v1/container-api.json index c62d6e0..da999c3 100644 --- a/vendor/google.golang.org/api/container/v1/container-api.json +++ b/vendor/google.golang.org/api/container/v1/container-api.json @@ -1,56 +1,330 @@ { - "rootUrl": "https://container.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com", - "name": "container", - "batchPath": "batch", - "documentationLink": "https://cloud.google.com/container-engine/", - "revision": "20170627", + "revision": "20170814", "id": "container:v1", + "documentationLink": "https://cloud.google.com/container-engine/", "title": "Google Container Engine API", - "discoveryVersion": "v1", "ownerName": "Google", + "discoveryVersion": "v1", "resources": { "projects": { "resources": { "zones": { "methods": { "getServerconfig": { - "description": "Returns configuration info about the Container Engine service.", - "httpMethod": "GET", "response": { "$ref": "ServerConfig" }, + "httpMethod": "GET", "parameterOrder": [ "projectId", "zone" ], - "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 [zone](/compute/docs/zones#available)\nto return operations for.", - "type": "string", - "required": true, - "location": "path" - } - }, "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 [zone](/compute/docs/zones#available)\nto return operations for.", + "type": "string", + "required": true + } + }, "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": { + "operations": { + "methods": { + "get": { + "path": "v1/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" + ], + "parameters": { + "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 + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/zones/{zone}/operations/{operationId}" + }, + "list": { + "response": { + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [ + "projectId", + "zone" + ], + "httpMethod": "GET", + "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 [zone](/compute/docs/zones#available)\nto return operations for, or `-` for all zones.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/zones/{zone}/operations", + "id": "container.projects.zones.operations.list", + "path": "v1/projects/{projectId}/zones/{zone}/operations", + "description": "Lists all operations in a project in a specific zone or all zones." + }, + "cancel": { + "parameters": { + "operationId": { + "description": "The server-assigned `name` of the operation.", + "type": "string", + "required": true, + "location": "path" + }, + "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 operation resides.", + "type": "string", + "required": true + } + }, + "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" + }, + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "operationId" + ], + "response": { + "$ref": "Empty" + } + } + } + }, "clusters": { "methods": { - "locations": { + "completeIpRotation": { + "parameters": { + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).", + "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": { + "description": "The name of the cluster.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", + "id": "container.projects.zones.clusters.completeIpRotation", + "description": "Completes master IP rotation.", + "request": { + "$ref": "CompleteIPRotationRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Operation" + } + }, + "setNetworkPolicy": { + "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://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.", + "type": "string", + "required": true + }, + "clusterId": { + "location": "path", + "description": "The name of the cluster.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy", + "id": "container.projects.zones.clusters.setNetworkPolicy", + "request": { + "$ref": "SetNetworkPolicyRequest" + }, + "description": "Enables/Disables Network Policy for a cluster." + }, + "legacyAbac": { + "request": { + "$ref": "SetLegacyAbacRequest" + }, + "description": "Enables or disables the ABAC authorization mechanism on a cluster.", + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "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 + }, + "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" + } + }, + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac", + "id": "container.projects.zones.clusters.legacyAbac" + }, + "get": { + "response": { + "$ref": "Cluster" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "clusterId": { + "description": "The name of the cluster to retrieve.", + "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" + }, + "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" + } + }, + "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." + }, + "startIpRotation": { + "description": "Start master IP rotation.", + "request": { + "$ref": "StartIPRotationRequest" + }, "response": { "$ref": "Operation" }, @@ -60,15 +334,12 @@ "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).", + "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": { "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", @@ -78,24 +349,61 @@ }, "clusterId": { "location": "path", - "description": "The name of the cluster to upgrade.", + "description": "The name of the cluster.", "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." + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation", + "id": "container.projects.zones.clusters.startIpRotation", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation" }, - "update": { - "request": { - "$ref": "UpdateClusterRequest" + "addons": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "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" + }, + "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 + } }, - "description": "Updates the settings of a specific cluster.", + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons", + "id": "container.projects.zones.clusters.addons", + "request": { + "$ref": "SetAddonsConfigRequest" + }, + "description": "Sets the addons of a specific cluster.", + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Operation" + } + }, + "delete": { + "httpMethod": "DELETE", "response": { "$ref": "Operation" }, @@ -104,11 +412,96 @@ "zone", "clusterId" ], - "httpMethod": "PUT", + "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 delete.", + "type": "string", + "required": true + } + }, "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.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": { + "description": "Sets the locations of a specific cluster.", + "request": { + "$ref": "SetLocationsRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Operation" + }, "parameters": { + "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" + }, + "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 + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations", + "id": "container.projects.zones.clusters.locations" + }, + "update": { + "description": "Updates the settings of a specific cluster.", + "request": { + "$ref": "UpdateClusterRequest" + }, + "httpMethod": "PUT", + "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": { "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", "type": "string", @@ -120,19 +513,18 @@ "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" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "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}", + "id": "container.projects.zones.clusters.update" }, "monitoring": { + "id": "container.projects.zones.clusters.monitoring", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring", "request": { "$ref": "SetMonitoringServiceRequest" }, @@ -151,10 +543,10 @@ ], "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", @@ -163,149 +555,152 @@ "required": true }, "clusterId": { + "location": "path", "description": "The name of the cluster to upgrade.", "type": "string", - "required": true, - "location": "path" + "required": true } }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring", - "id": "container.projects.zones.clusters.monitoring", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring" + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring" }, "master": { - "response": { - "$ref": "Operation" - }, + "httpMethod": "POST", "parameterOrder": [ "projectId", "zone", "clusterId" ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], + "response": { + "$ref": "Operation" + }, "parameters": { - "zone": { + "projectId": { "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": { + "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" }, - "projectId": { - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + "clusterId": { + "location": "path", + "description": "The name of the cluster to upgrade.", "type": "string", - "required": true, - "location": "path" + "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/master", - "id": "container.projects.zones.clusters.master", "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/master", + "id": "container.projects.zones.clusters.master", + "description": "Updates the master of a specific cluster.", "request": { "$ref": "UpdateMasterRequest" - }, - "description": "Updates the master of a specific cluster." + } }, "setMasterAuth": { - "httpMethod": "POST", + "response": { + "$ref": "Operation" + }, "parameterOrder": [ "projectId", "zone", "clusterId" ], - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], + "httpMethod": "POST", "parameters": { - "zone": { - "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 to upgrade.", "type": "string", "required": true, "location": "path" }, - "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 + }, + "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" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth", - "path": "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" - }, - "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." + } }, "logging": { - "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://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", "request": { "$ref": "SetLoggingServiceRequest" }, - "description": "Sets the logging service of a specific cluster." + "description": "Sets the logging service of a specific cluster.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "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 + }, + "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" + } + }, + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/logging", + "id": "container.projects.zones.clusters.logging", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/logging" }, "list": { + "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.", "response": { "$ref": "ListClustersResponse" }, + "httpMethod": "GET", "parameterOrder": [ "projectId", "zone" ], - "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "projectId": { "location": "path", @@ -314,65 +709,62 @@ "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", - "id": "container.projects.zones.clusters.list", - "path": "v1/projects/{projectId}/zones/{zone}/clusters" + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters" }, "resourceLabels": { - "id": "container.projects.zones.clusters.resourceLabels", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels", + "description": "Sets labels on a cluster.", "request": { "$ref": "SetLabelsRequest" }, - "description": "Sets labels on a cluster.", - "response": { - "$ref": "Operation" - }, + "httpMethod": "POST", "parameterOrder": [ "projectId", "zone", "clusterId" ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], + "response": { + "$ref": "Operation" + }, "parameters": { - "projectId": { + "clusterId": { "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 }, - "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).", "type": "string", "required": true, "location": "path" }, - "clusterId": { - "description": "The name of the cluster.", + "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 } }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels", + "id": "container.projects.zones.clusters.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.", + "path": "v1/projects/{projectId}/zones/{zone}/clusters", + "id": "container.projects.zones.clusters.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", @@ -381,6 +773,9 @@ "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).", @@ -388,300 +783,14 @@ "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" - } - }, - "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" - }, - "completeIpRotation": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "projectId", - "zone", - "clusterId" - ], - "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://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.", "type": "string", "required": true - }, - "clusterId": { - "description": "The name of the cluster.", - "type": "string", - "required": true, - "location": "path" } }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", - "id": "container.projects.zones.clusters.completeIpRotation", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", - "request": { - "$ref": "CompleteIPRotationRequest" - }, - "description": "Completes master IP rotation." - }, - "setNetworkPolicy": { - "description": "Enables/Disables Network Policy for a cluster.", - "request": { - "$ref": "SetNetworkPolicyRequest" - }, - "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.", - "type": "string", - "required": true, - "location": "path" - }, - "clusterId": { - "description": "The name of the cluster.", - "type": "string", - "required": true, - "location": "path" - }, - "projectId": { - "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy", - "id": "container.projects.zones.clusters.setNetworkPolicy", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy" - }, - "legacyAbac": { - "description": "Enables or disables the ABAC authorization mechanism on a cluster.", - "request": { - "$ref": "SetLegacyAbacRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "projectId", - "zone", - "clusterId" - ], - "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": { - "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": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac", - "id": "container.projects.zones.clusters.legacyAbac" - }, - "get": { - "httpMethod": "GET", - "response": { - "$ref": "Cluster" - }, - "parameterOrder": [ - "projectId", - "zone", - "clusterId" - ], - "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": { - "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" - } - }, - "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": { - "id": "container.projects.zones.clusters.startIpRotation", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation", - "request": { - "$ref": "StartIPRotationRequest" - }, - "description": "Start master IP rotation.", - "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.", - "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 - } - }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation" - }, - "addons": { - "description": "Sets the addons of a specific cluster.", - "request": { - "$ref": "SetAddonsConfigRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "projectId", - "zone", - "clusterId" - ], - "response": { - "$ref": "Operation" - }, - "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": { - "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 - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons", - "id": "container.projects.zones.clusters.addons" - }, - "delete": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "projectId", - "zone", - "clusterId" - ], - "httpMethod": "DELETE", - "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.", - "type": "string", - "required": true, - "location": "path" - }, - "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" - } - }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", - "id": "container.projects.zones.clusters.delete", - "path": "v1/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." + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters" } }, "resources": { @@ -700,10 +809,10 @@ }, "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 + "required": true, + "location": "path" }, "zone": { "location": "path", @@ -712,10 +821,10 @@ "required": true }, "clusterId": { + "location": "path", "description": "The name of the cluster to update.", "type": "string", - "required": true, - "location": "path" + "required": true }, "nodePoolId": { "description": "The name of the node pool to update.", @@ -750,27 +859,27 @@ "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.", + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", "type": "string", "required": true, "location": "path" }, - "nodePoolId": { + "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 node pool to update.", + "description": "The name of the cluster to update.", "type": "string", "required": true }, - "projectId": { + "nodePoolId": { "location": "path", - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + "description": "The name of the node pool to update.", "type": "string", "required": true } @@ -784,9 +893,7 @@ "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.", + "httpMethod": "DELETE", "response": { "$ref": "Operation" }, @@ -796,40 +903,41 @@ "clusterId", "nodePoolId" ], - "httpMethod": "DELETE", "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).", - "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.", - "type": "string", - "required": true - }, "clusterId": { + "location": "path", "description": "The name of the cluster.", "type": "string", + "required": true + }, + "nodePoolId": { + "description": "The name of the node pool to delete.", + "type": "string", "required": true, "location": "path" }, - "nodePoolId": { + "projectId": { "location": "path", - "description": "The name of the node pool to delete.", + "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" } }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}" + "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.delete", + "description": "Deletes a node pool from a cluster." }, "list": { - "httpMethod": "GET", "response": { "$ref": "ListNodePoolsResponse" }, @@ -838,39 +946,40 @@ "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://developers.google.com/console/help/new/#projectnumber).", "type": "string", - "required": true + "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.", "type": "string", - "required": true + "required": true, + "location": "path" }, "clusterId": { - "location": "path", "description": "The name of the cluster.", "type": "string", - "required": true + "required": true, + "location": "path" } }, "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", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", "description": "Lists the node pools for a cluster." }, "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" }, + "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" }, @@ -881,7 +990,22 @@ "nodePoolId" ], "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { + "clusterId": { + "location": "path", + "description": "The name of the cluster to rollback.", + "type": "string", + "required": true + }, + "nodePoolId": { + "location": "path", + "description": "The name of the node pool to rollback.", + "type": "string", + "required": true + }, "projectId": { "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", "type": "string", @@ -889,44 +1013,32 @@ "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": { - "description": "The name of the cluster to rollback.", - "type": "string", - "required": true, - "location": "path" - }, - "nodePoolId": { "location": "path", - "description": "The name of the node pool to rollback.", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", "type": "string", "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "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" }, "create": { - "response": { - "$ref": "Operation" + "path": "v1/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" ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], + "response": { + "$ref": "Operation" + }, "parameters": { "projectId": { "location": "path", @@ -941,25 +1053,24 @@ "location": "path" }, "clusterId": { + "location": "path", "description": "The name of the cluster.", "type": "string", - "required": true, - "location": "path" + "required": true } }, - "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", - "request": { - "$ref": "CreateNodePoolRequest" - }, - "description": "Creates a node pool for a cluster." + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools" }, "autoscaling": { - "description": "Sets the autoscaling settings of a specific node pool.", + "id": "container.projects.zones.clusters.nodePools.autoscaling", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/autoscaling", "request": { "$ref": "SetNodePoolAutoscalingRequest" }, + "description": "Sets the autoscaling settings of a specific node pool.", "response": { "$ref": "Operation" }, @@ -970,18 +1081,15 @@ "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": { + "location": "path", "description": "The name of the cluster to upgrade.", "type": "string", - "required": true, - "location": "path" + "required": true }, "nodePoolId": { "description": "The name of the node pool to upgrade.", @@ -990,20 +1098,22 @@ "location": "path" }, "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" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "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" + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/autoscaling" }, "get": { + "description": "Retrieves the node pool requested.", "httpMethod": "GET", "response": { "$ref": "NodePool" @@ -1014,64 +1124,41 @@ "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.", + "clusterId": { + "description": "The name of the cluster.", "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, + "location": "path" + }, + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).", + "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.", + "type": "string", "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "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." + "id": "container.projects.zones.clusters.nodePools.get" }, "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", @@ -1083,6 +1170,18 @@ "description": "The name of the node pool 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" + }, + "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 } }, "scopes": [ @@ -1094,125 +1193,21 @@ "description": "Updates the version and/or image type of a specific node pool.", "request": { "$ref": "UpdateNodePoolRequest" - } + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId", + "nodePoolId" + ], + "httpMethod": "POST" } } } } - }, - "operations": { - "methods": { - "cancel": { - "httpMethod": "POST", - "parameterOrder": [ - "projectId", - "zone", - "operationId" - ], - "response": { - "$ref": "Empty" - }, - "parameters": { - "operationId": { - "description": "The server-assigned `name` of the operation.", - "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" - }, - "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 - } - }, - "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" - }, - "parameterOrder": [ - "projectId", - "zone", - "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.", - "type": "string", - "required": true, - "location": "path" - }, - "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 - } - }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/operations/{operationId}", - "id": "container.projects.zones.operations.get", - "path": "v1/projects/{projectId}/zones/{zone}/operations/{operationId}" - }, - "list": { - "httpMethod": "GET", - "response": { - "$ref": "ListOperationsResponse" - }, - "parameterOrder": [ - "projectId", - "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 - } - }, - "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,6 +1215,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": { + "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": { "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", @@ -1231,22 +1257,19 @@ "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" }, - "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" @@ -1255,11 +1278,20 @@ "enum": [ "1", "2" - ], - "description": "V1 error format.", + ] + }, + "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": [ @@ -1267,140 +1299,13 @@ "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" } }, "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": { + "description": "AutoUpgradeOptions defines the set of options for the user to control how\nthe Auto Upgrades will proceed.", + "type": "object", "properties": { "description": { "description": "[Output only] This field is set when upgrades are about to commence\nwith the description of the upgrade.", @@ -1411,11 +1316,12 @@ "type": "string" } }, - "id": "AutoUpgradeOptions", - "description": "AutoUpgradeOptions defines the set of options for the user to control how\nthe Auto Upgrades will proceed.", - "type": "object" + "id": "AutoUpgradeOptions" }, "ListClustersResponse": { + "id": "ListClustersResponse", + "description": "ListClustersResponse is the result of ListClustersRequest.", + "type": "object", "properties": { "missingZones": { "description": "If any zones are listed here, the list of clusters returned\nmay be missing those zones.", @@ -1431,59 +1337,70 @@ }, "type": "array" } - }, - "id": "ListClustersResponse", - "description": "ListClustersResponse is the result of ListClustersRequest.", - "type": "object" + } }, "HttpLoadBalancing": { + "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", "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" + "type": "object", + "properties": { + "networkPolicy": { + "description": "Configuration options for the NetworkPolicy feature.", + "$ref": "NetworkPolicy" + } + } }, "SetMasterAuthRequest": { + "description": "SetMasterAuthRequest updates the admin password of a cluster.", + "type": "object", "properties": { "update": { - "$ref": "MasterAuth", - "description": "A description of the update." + "description": "A description of the update.", + "$ref": "MasterAuth" }, "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." + ], + "enum": [ + "UNKNOWN", + "SET_PASSWORD", + "GENERATE_PASSWORD" ] } }, - "id": "SetMasterAuthRequest", - "description": "SetMasterAuthRequest updates the admin password of a cluster.", - "type": "object" + "id": "SetMasterAuthRequest" + }, + "ClientCertificateConfig": { + "description": "Configuration for client certificates on the cluster.", + "type": "object", + "properties": { + "issueClientCertificate": { + "description": "Issue a client certificate.", + "type": "boolean" + } + }, + "id": "ClientCertificateConfig" }, "NodePoolAutoscaling": { + "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", "properties": { "enabled": { "description": "Is autoscaling enabled for this node pool.", @@ -1499,55 +1416,20 @@ "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": { + "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": { + "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": { + "description": "Master authorized networks is a Beta feature.\nThe desired configuration options for master authorized networks feature.", + "$ref": "MasterAuthorizedNetworksConfig" + }, "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": { @@ -1556,8 +1438,8 @@ "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." + "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.", + "$ref": "NodePoolAutoscaling" }, "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", @@ -1568,8 +1450,8 @@ "type": "string" }, "desiredAddonsConfig": { - "$ref": "AddonsConfig", - "description": "Configurations for the various addons available to run in the cluster." + "description": "Configurations for the various addons available to run in the cluster.", + "$ref": "AddonsConfig" }, "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.", @@ -1578,17 +1460,43 @@ "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" + } + }, + "id": "ClusterUpdate" + }, + "IPAllocationPolicy": { + "description": "Configuration for controlling how IPs are allocated in the cluster.", + "type": "object", + "properties": { + "useIpAliases": { + "description": "Whether alias IPs will be used for pod IPs in the cluster.", + "type": "boolean" }, - "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.", + "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" + }, + "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" + }, + "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" } }, - "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" + "id": "IPAllocationPolicy" }, "SetLoggingServiceRequest": { + "id": "SetLoggingServiceRequest", "description": "SetLoggingServiceRequest sets the logging service of a cluster.", "type": "object", "properties": { @@ -1596,44 +1504,61 @@ "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": { + "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" } }, - "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" + "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." + "description": "NodeManagement configuration for the node pool.", + "$ref": "NodeManagement" } }, "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" + "type": "object", + "properties": {}, + "id": "Empty" + }, + "MasterAuthorizedNetworksConfig": { + "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.", + "type": "object", + "properties": { + "enabled": { + "description": "Whether or not master authorized networks is enabled.", + "type": "boolean" + }, + "cidrBlocks": { + "description": "cidr_blocks define up to 10 external networks that could access\nKubernetes master through HTTPS.", + "items": { + "$ref": "CidrBlock" + }, + "type": "array" + } + } }, "SetNodePoolAutoscalingRequest": { "description": "SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.", "type": "object", "properties": { "autoscaling": { - "description": "Autoscaling configuration for the node pool.", - "$ref": "NodePoolAutoscaling" + "$ref": "NodePoolAutoscaling", + "description": "Autoscaling configuration for the node pool." } }, "id": "SetNodePoolAutoscalingRequest" @@ -1643,8 +1568,8 @@ "type": "object", "properties": { "cluster": { - "$ref": "Cluster", - "description": "A [cluster\nresource](/container-engine/reference/rest/v1/projects.zones.clusters)" + "description": "A [cluster\nresource](/container-engine/reference/rest/v1/projects.zones.clusters)", + "$ref": "Cluster" } }, "id": "CreateClusterRequest" @@ -1664,10 +1589,10 @@ "id": "ListNodePoolsResponse" }, "CompleteIPRotationRequest": { + "id": "CompleteIPRotationRequest", "description": "CompleteIPRotationRequest moves the cluster master back into single-IP mode.", "type": "object", - "properties": {}, - "id": "CompleteIPRotationRequest" + "properties": {} }, "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.", @@ -1675,6 +1600,37 @@ "properties": {}, "id": "StartIPRotationRequest" }, + "UpdateNodePoolRequest": { + "description": "UpdateNodePoolRequests update a node pool's image and/or version.", + "type": "object", + "properties": { + "imageType": { + "description": "The desired image type for the node pool.", + "type": "string" + }, + "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" + } + }, + "id": "UpdateNodePoolRequest" + }, + "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" + } + } + }, "LegacyAbac": { "description": "Configuration for the legacy Attribute Based Access Control authorization\nmode.", "type": "object", @@ -1686,52 +1642,44 @@ }, "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": { - "additionalProperties": { - "type": "string" - }, - "description": "The labels to set for that cluster.", - "type": "object" - }, - "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" + "addonsConfig": { + "$ref": "AddonsConfig", + "description": "The desired configurations for the various addons available to run in the\ncluster." } - }, - "id": "SetLabelsRequest" + } }, "NodePool": { + "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", "properties": { + "status": { + "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." + ], + "enum": [ + "STATUS_UNSPECIFIED", + "PROVISIONING", + "RUNNING", + "RUNNING_WITH_ERROR", + "RECONCILING", + "STOPPING", + "ERROR" + ] + }, "config": { "description": "The node configuration of the pool.", "$ref": "NodeConfig" @@ -1745,18 +1693,18 @@ "type": "string" }, "autoscaling": { - "$ref": "NodePoolAutoscaling", - "description": "Autoscaler configuration for this NodePool. Autoscaler is enabled\nonly if a valid configuration is present." - }, - "management": { - "$ref": "NodeManagement", - "description": "NodeManagement configuration for this NodePool." + "description": "Autoscaler configuration for this NodePool. Autoscaler is enabled\nonly if a valid configuration is present.", + "$ref": "NodePoolAutoscaling" }, "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" }, + "management": { + "description": "NodeManagement configuration for this NodePool.", + "$ref": "NodeManagement" + }, "selfLink": { "description": "[Output only] Server-defined URL for the resource.", "type": "string" @@ -1771,33 +1719,26 @@ "version": { "description": "[Output only] The version of the Kubernetes of this node.", "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": { + "resourceLabels": { + "description": "The labels to set for that cluster.", + "type": "object", + "additionalProperties": { + "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." - ] + "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" } }, - "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": "SetLabelsRequest" }, "NodeManagement": { "description": "NodeManagement defines the set of node management services turned on for the\nnode pool.", @@ -1824,62 +1765,44 @@ "properties": {}, "id": "CancelOperationRequest" }, + "KubernetesDashboard": { + "description": "Configuration for the Kubernetes Dashboard.", + "type": "object", + "properties": { + "disabled": { + "description": "Whether the Kubernetes Dashboard is enabled for this cluster.", + "type": "boolean" + } + }, + "id": "KubernetesDashboard" + }, "SetLegacyAbacRequest": { + "id": "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", - "description": "SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for\na cluster.", - "type": "object" + } }, "Operation": { + "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", "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" - }, - "status": { - "enum": [ - "STATUS_UNSPECIFIED", - "PENDING", - "RUNNING", - "DONE", - "ABORTING" - ], - "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." - ] - }, - "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" - }, - "selfLink": { - "description": "Server-defined URL for the resource.", + "detail": { + "description": "Detailed operation progress, if available.", "type": "string" }, "targetLink": { "description": "Server-defined URL for the target of the operation.", "type": "string" }, - "detail": { - "description": "Detailed operation progress, if available.", - "type": "string" - }, "operationType": { + "description": "The operation type.", + "type": "string", "enumDescriptions": [ "Not set.", "Cluster create.", @@ -1915,31 +1838,66 @@ "SET_MASTER_AUTH", "SET_NODE_POOL_SIZE", "SET_NETWORK_POLICY" + ] + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the operation\nis taking place.", + "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." ], - "description": "The operation type.", + "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" + }, + "selfLink": { + "description": "Server-defined URL for the resource.", "type": "string" } - }, - "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" + } }, "AddonsConfig": { + "id": "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." + }, + "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." } - }, - "id": "AddonsConfig" + } }, "SetLocationsRequest": { + "description": "SetLocationsRequest sets the locations of the cluster.", + "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.", @@ -1949,15 +1907,13 @@ "type": "array" } }, - "id": "SetLocationsRequest", - "description": "SetLocationsRequest sets the locations of the cluster.", - "type": "object" + "id": "SetLocationsRequest" }, "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" + "type": "object", + "properties": {}, + "id": "RollbackNodePoolUpgradeRequest" }, "SetNodePoolSizeRequest": { "description": "SetNodePoolSizeRequest sets the size a node\npool.", @@ -1972,15 +1928,15 @@ "id": "SetNodePoolSizeRequest" }, "UpdateClusterRequest": { + "id": "UpdateClusterRequest", "description": "UpdateClusterRequest updates the settings of a cluster.", "type": "object", "properties": { "update": { - "$ref": "ClusterUpdate", - "description": "A description of the update." + "description": "A description of the update.", + "$ref": "ClusterUpdate" } - }, - "id": "UpdateClusterRequest" + } }, "NetworkPolicy": { "description": "Configuration options for the NetworkPolicy feature.\nhttps://kubernetes.io/docs/concepts/services-networking/networkpolicies/", @@ -1991,133 +1947,62 @@ "type": "boolean" }, "provider": { - "enum": [ - "UNKNOWN", - "CALICO" - ], "description": "The selected network policy provider.", "type": "string", "enumDescriptions": [ "Not set", "Tigera (Calico Felix)." + ], + "enum": [ + "PROVIDER_UNSPECIFIED", + "CALICO" ] } }, "id": "NetworkPolicy" }, "UpdateMasterRequest": { + "id": "UpdateMasterRequest", + "description": "UpdateMasterRequest updates the master of the cluster.", + "type": "object", "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": { + "description": "A Google Container Engine cluster.", + "type": "object", "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" + "resourceLabels": { + "description": "The resource labels for the cluster to use to annotate any related\nGoogle Compute Engine resources.", + "type": "object", + "additionalProperties": { + "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" + "description": "Configuration for cluster IP allocation.", + "$ref": "IPAllocationPolicy" }, "legacyAbac": { "description": "Configuration for the legacy ABAC authorization mode.", "$ref": "LegacyAbac" }, + "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" + }, "createTime": { "description": "[Output only] The time the cluster was created, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", "type": "string" @@ -2157,8 +2042,8 @@ "type": "array" }, "networkPolicy": { - "$ref": "NetworkPolicy", - "description": "Configuration options for the NetworkPolicy feature." + "description": "Configuration options for the NetworkPolicy feature.", + "$ref": "NetworkPolicy" }, "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.", @@ -2180,56 +2065,148 @@ "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": { + "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" + }, + "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": "Master authorized networks is a Beta feature.\nThe 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": { + "description": "The authentication information for accessing the master endpoint.", + "$ref": "MasterAuth" + }, + "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": { + "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" + }, + "subnetwork": { + "description": "The name of the Google Compute Engine\n[subnetwork](/compute/docs/subnetworks) to which the\ncluster is connected.", + "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" } }, - "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." - } - }, - "id": "CreateNodePoolRequest" + "id": "Cluster" }, "ListOperationsResponse": { + "id": "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" + }, + "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" + } + } + }, + "CreateNodePoolRequest": { + "id": "CreateNodePoolRequest", + "description": "CreateNodePoolRequest creates a node pool for a cluster.", + "type": "object", + "properties": { + "nodePool": { + "description": "The node pool to create.", + "$ref": "NodePool" + } + } + }, + "CidrBlock": { + "description": "CidrBlock contains an optional name and one CIDR block.", + "type": "object", + "properties": { + "cidrBlock": { + "description": "cidr_block must be specified in CIDR notation.", + "type": "string" + }, + "displayName": { + "description": "display_name is an optional field for users to identify CIDR blocks.", + "type": "string" } }, - "id": "ListOperationsResponse", - "description": "ListOperationsResponse is the result of ListOperationsRequest.", - "type": "object" + "id": "CidrBlock" }, "SetMonitoringServiceRequest": { + "id": "SetMonitoringServiceRequest", + "description": "SetMonitoringServiceRequest sets the monitoring service of a cluster.", + "type": "object", "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": { + "description": "Container Engine service configuration.", + "type": "object", "properties": { "validMasterVersions": { "description": "List of valid master versions.", @@ -2261,18 +2238,116 @@ "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": { + "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" + }, + "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" + }, + "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" + }, + "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": { + "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", + "additionalProperties": { + "type": "string" + } + }, + "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" + } + }, + "id": "NodeConfig" + }, + "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": { + "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" + }, + "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": { + "description": "[Output only] Base64-encoded public certificate used by clients to\nauthenticate to the cluster endpoint.", + "type": "string" + } + }, + "id": "MasterAuth" } }, - "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": "v1", "baseUrl": "https://container.googleapis.com/", + "canonicalName": "Container", "auth": { "oauth2": { "scopes": { @@ -2284,5 +2359,10 @@ }, "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" + "kind": "discovery#restDescription", + "rootUrl": "https://container.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "container", + "batchPath": "batch" } 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 23773ab..7750819 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,9 @@ type AddonsConfig struct { // cluster. HttpLoadBalancing *HttpLoadBalancing `json:"httpLoadBalancing,omitempty"` + // KubernetesDashboard: Configuration for the Kubernetes Dashboard. + KubernetesDashboard *KubernetesDashboard `json:"kubernetesDashboard,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 +259,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 { @@ -379,6 +450,11 @@ type Cluster struct { // 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 +626,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 @@ -844,7 +926,7 @@ type IPAllocationPolicy struct { // 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 +959,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. @@ -1091,6 +1202,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 +1254,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"` @@ -1131,6 +1283,13 @@ func (s *NetworkPolicy) MarshalJSON() ([]byte, error) { // 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. @@ -1246,7 +1405,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 +1413,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:"-"` 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 68708e9..f27fe8d 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/a1fv-Aed-cpsoMfjjP4jPWAsiNQ\"", "discoveryVersion": "v1", "id": "content:v2", "name": "content", "canonicalName": "Shopping Content", "version": "v2", - "revision": "20170627", + "revision": "20170822", "title": "Content API for Shopping", "description": "Manages product items, inventory, and Merchant Center accounts for Google Shopping.", "ownerDomain": "google.com", @@ -179,6 +179,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 +204,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", @@ -861,6 +894,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\"." @@ -1596,7 +1633,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" } @@ -3351,7 +3388,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 +3466,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 +3726,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.", @@ -4064,7 +4108,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 +4407,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 +4425,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 +4480,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 of false will become active on September 28, 2017.", + "default": "true", + "location": "query" + }, "merchantId": { "type": "string", "description": "The ID of the managing account.", @@ -4456,7 +4506,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 +4605,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 +4645,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 +4703,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 +4796,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 +4863,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 +4903,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", @@ -6121,7 +6171,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 +6262,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 +6302,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 4cdd83b..d9dacd6 100644 --- a/vendor/google.golang.org/api/content/v2/content-gen.go +++ b/vendor/google.golang.org/api/content/v2/content-gen.go @@ -335,6 +335,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 +375,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"` @@ -1382,6 +1424,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"` @@ -2583,7 +2628,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. @@ -5115,8 +5160,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 +5313,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 +5783,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"` @@ -6323,7 +6372,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 +6805,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 +6815,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 +6906,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 +6929,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 +7104,14 @@ 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 of false will become +// active on September 28, 2017. +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 +7189,12 @@ func (c *AccountsDeleteCall) Do(opts ...googleapi.CallOption) error { // "location": "query", // "type": "boolean" // }, + // "force": { + // "default": "true", + // "description": "Flag to delete sub-accounts with products. The default value of false will become active on September 28, 2017.", + // "location": "query", + // "type": "boolean" + // }, // "merchantId": { // "description": "The ID of the managing account.", // "format": "uint64", @@ -7160,8 +7225,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 +7329,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 +7709,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 +7814,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 +7870,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 +7974,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 +8147,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 +8252,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 +8618,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 +8723,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 +8957,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 +9062,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 +9118,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 +9223,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": [ @@ -14730,8 +14799,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 +14904,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 +15280,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 +15385,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 +15441,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 +15546,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 58ca228..7e6432b 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/QLI1M7q1prH-C-6ZsfL_vaGQmBM\"", "discoveryVersion": "v1", "id": "content:v2sandbox", "name": "content", "canonicalName": "Shopping Content", "version": "v2sandbox", - "revision": "20170531", + "revision": "20170803", "title": "Content API for Shopping", "description": "Manages product items, inventory, and Merchant Center accounts for Google Shopping.", "ownerDomain": "google.com", @@ -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" } @@ -1477,7 +1477,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 ff3b5b3..68d9720 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. @@ -2207,7 +2207,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/dataflow/v1b3/dataflow-api.json b/vendor/google.golang.org/api/dataflow/v1b3/dataflow-api.json index a0c594e..a071b72 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,33 @@ { + "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" + } + } + } + }, + "kind": "discovery#restDescription", + "description": "Manages Google Cloud Dataflow projects on Google Cloud Platform.", + "servicePath": "", + "rootUrl": "https://dataflow.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "dataflow", + "batchPath": "batch", "id": "dataflow:v1b3", "documentationLink": "https://cloud.google.com/dataflow", - "revision": "20170623", + "revision": "20170823", "title": "Google Dataflow API", "ownerName": "Google", "discoveryVersion": "v1", @@ -9,20 +35,18 @@ "projects": { "methods": { "workerMessages": { - "response": { - "$ref": "SendWorkerMessagesResponse" + "path": "v1b3/projects/{projectId}/WorkerMessages", + "id": "dataflow.projects.workerMessages", + "request": { + "$ref": "SendWorkerMessagesRequest" }, + "description": "Send a worker_message to the service.", + "httpMethod": "POST", "parameterOrder": [ "projectId" ], - "httpMethod": "POST", - "parameters": { - "projectId": { - "location": "path", - "description": "The project to send the WorkerMessages to.", - "type": "string", - "required": true - } + "response": { + "$ref": "SendWorkerMessagesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -30,23 +54,21 @@ "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" - } + "parameters": { + "projectId": { + "description": "The project to send the WorkerMessages to.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1b3/projects/{projectId}/WorkerMessages" } }, "resources": { "locations": { "methods": { "workerMessages": { - "description": "Send a worker_message to the service.", - "request": { - "$ref": "SendWorkerMessagesRequest" - }, "response": { "$ref": "SendWorkerMessagesResponse" }, @@ -56,17 +78,17 @@ ], "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 + }, + "projectId": { + "location": "path", + "description": "The project to send the WorkerMessages to.", + "type": "string", + "required": true } }, "scopes": [ @@ -77,61 +99,17 @@ ], "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", + "description": "Send a worker_message to the service.", + "request": { + "$ref": "SendWorkerMessagesRequest" + } } }, "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" - }, - "parameterOrder": [ - "projectId", - "location" - ], - "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 - }, - "gcsPath": { - "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" - }, - "location": { - "location": "path", - "description": "The location to which to direct the request.", - "type": "string", - "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}/templates:launch" - }, "get": { - "description": "Get the template associated with a template.", "httpMethod": "GET", "parameterOrder": [ "projectId", @@ -140,12 +118,6 @@ "response": { "$ref": "GetTemplateResponse" }, - "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", @@ -154,18 +126,18 @@ "required": true }, "view": { + "location": "query", "enum": [ "METADATA_ONLY" ], "description": "The view to retrieve. Defaults to METADATA_ONLY.", - "type": "string", - "location": "query" + "type": "string" }, "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", @@ -173,13 +145,18 @@ "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}/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": { - "id": "dataflow.projects.locations.templates.create", - "path": "v1b3/projects/{projectId}/locations/{location}/templates", "request": { "$ref": "CreateJobFromTemplateRequest" }, @@ -199,12 +176,55 @@ "https://www.googleapis.com/auth/userinfo.email" ], "parameters": { + "location": { + "location": "path", + "description": "The location to which to direct the request.", + "type": "string", + "required": true + }, + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "Required. The ID of the Cloud Platform project that the job belongs to." + } + }, + "flatPath": "v1b3/projects/{projectId}/locations/{location}/templates", + "id": "dataflow.projects.locations.templates.create", + "path": "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" + }, + "response": { + "$ref": "LaunchTemplateResponse" + }, + "parameterOrder": [ + "projectId", + "location" + ], + "httpMethod": "POST", + "parameters": { + "validateOnly": { + "location": "query", + "description": "If true, the request is validated but not actually executed.\nDefaults to false.", + "type": "boolean" + }, "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 create\nthe job.\nMust be valid Cloud Storage URL, beginning with 'gs://'.", + "type": "string" + }, "location": { "location": "path", "description": "The location to which to direct the request.", @@ -212,189 +232,37 @@ "required": true } }, - "flatPath": "v1b3/projects/{projectId}/locations/{location}/templates" + "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}/templates:launch" } } }, "jobs": { "methods": { - "list": { - "httpMethod": "GET", - "response": { - "$ref": "ListJobsResponse" - }, - "parameterOrder": [ - "projectId", - "location" - ], - "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": { - "type": "string", - "required": true, - "location": "path", - "description": "The project which owns the jobs." - }, - "filter": { - "location": "query", - "enum": [ - "UNKNOWN", - "ALL", - "TERMINATED", - "ACTIVE" - ], - "description": "The kind of filter to use.", - "type": "string" - }, - "location": { - "description": "The location that contains this job.", - "type": "string", - "required": true, - "location": "path" - }, - "pageToken": { - "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" - }, - "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." - }, - "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" - ] - } - }, - "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." - }, - "get": { - "httpMethod": "GET", - "response": { - "$ref": "Job" - }, - "parameterOrder": [ - "projectId", - "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" - ], - "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": { - "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", - "required": true, - "location": "path", - "description": "The location that contains this job." - } - }, - "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}", - "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}", - "id": "dataflow.projects.locations.jobs.get", - "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" - }, - "httpMethod": "PUT", - "parameterOrder": [ - "projectId", - "location", - "jobId" - ], - "response": { - "$ref": "Job" - }, - "parameters": { - "location": { - "description": "The location that contains this job.", - "type": "string", - "required": true, - "location": "path" - }, - "jobId": { - "location": "path", - "description": "The job ID.", - "type": "string", - "required": true - }, - "projectId": { - "type": "string", - "required": true, - "location": "path", - "description": "The ID of the Cloud Platform project that the job belongs to." - } - }, - "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": { "description": "Creates a Cloud Dataflow job.", "request": { "$ref": "Job" }, - "httpMethod": "POST", + "response": { + "$ref": "Job" + }, "parameterOrder": [ "projectId", "location" ], - "response": { - "$ref": "Job" - }, + "httpMethod": "POST", "parameters": { + "replaceJobId": { + "location": "query", + "description": "Deprecated. This field is now in the Job message.", + "type": "string" + }, "view": { "description": "The level of information requested in response.", "type": "string", @@ -407,21 +275,16 @@ ] }, "projectId": { + "location": "path", "description": "The ID of the Cloud Platform project that the job belongs to.", "type": "string", - "required": true, - "location": "path" + "required": true }, "location": { "location": "path", "description": "The location that contains this job.", "type": "string", "required": true - }, - "replaceJobId": { - "description": "Deprecated. This field is now in the Job message.", - "type": "string", - "location": "query" } }, "scopes": [ @@ -431,11 +294,14 @@ "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" + "id": "dataflow.projects.locations.jobs.create", + "path": "v1b3/projects/{projectId}/locations/{location}/jobs" }, "getMetrics": { + "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/metrics", + "id": "dataflow.projects.locations.jobs.getMetrics", "description": "Request the job status.", + "httpMethod": "GET", "response": { "$ref": "JobMetrics" }, @@ -444,6 +310,48 @@ "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" + ], + "parameters": { + "location": { + "location": "path", + "description": "The location which contains the job specified by job_id.", + "type": "string", + "required": true + }, + "startTime": { + "type": "string", + "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." + }, + "jobId": { + "description": "The job to get messages for.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "description": "A project id.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/metrics" + }, + "list": { + "response": { + "$ref": "ListJobsResponse" + }, + "parameterOrder": [ + "projectId", + "location" + ], "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -452,57 +360,218 @@ "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.", + "filter": { + "enum": [ + "UNKNOWN", + "ALL", + "TERMINATED", + "ACTIVE" + ], + "description": "The kind of filter to use.", "type": "string", "location": "query" }, - "jobId": { + "location": { "location": "path", - "description": "The job to get messages for.", + "description": "The location that contains this job.", "type": "string", "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" + }, + "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": { + "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`." + }, "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.", + "description": "The project which owns the jobs.", "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" + "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs", + "id": "dataflow.projects.locations.jobs.list", + "path": "v1b3/projects/{projectId}/locations/{location}/jobs", + "description": "List the jobs of a project in a given region." + }, + "get": { + "description": "Gets the state of the specified Cloud Dataflow job.", + "response": { + "$ref": "Job" + }, + "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": { + "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": { + "type": "string", + "required": true, + "location": "path", + "description": "The job ID." + }, + "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", + "required": true, + "location": "path" + } + }, + "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}", + "id": "dataflow.projects.locations.jobs.get", + "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}" + }, + "update": { + "description": "Updates the state of an existing Cloud Dataflow job.", + "request": { + "$ref": "Job" + }, + "response": { + "$ref": "Job" + }, + "parameterOrder": [ + "projectId", + "location", + "jobId" + ], + "httpMethod": "PUT", + "parameters": { + "location": { + "description": "The location that contains this job.", + "type": "string", + "required": true, + "location": "path" + }, + "jobId": { + "description": "The job ID.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "location": "path", + "description": "The ID of the Cloud Platform project that the job belongs to.", + "type": "string", + "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}", + "id": "dataflow.projects.locations.jobs.update", + "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}" } }, "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" + "lease": { + "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": { + "type": "string", + "required": true, + "location": "path", + "description": "The location which contains the WorkItem's job." + }, + "jobId": { + "description": "Identifies the workflow job this worker belongs to.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "location": "path", + "description": "Identifies the project this worker belongs to.", + "type": "string", + "required": true + } }, + "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", + "request": { + "$ref": "LeaseWorkItemRequest" + }, + "description": "Leases a dataflow WorkItem to run.", "response": { - "$ref": "ReportWorkItemStatusResponse" + "$ref": "LeaseWorkItemResponse" }, "parameterOrder": [ "projectId", "location", "jobId" ], + "httpMethod": "POST" + }, + "reportStatus": { "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "location", + "jobId" + ], + "response": { + "$ref": "ReportWorkItemStatusResponse" + }, "parameters": { + "location": { + "location": "path", + "description": "The location which contains the WorkItem's job.", + "type": "string", + "required": true + }, "jobId": { "location": "path", "description": "The job which the WorkItem is part of.", @@ -514,12 +583,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,101 +590,68 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/userinfo.email" - ] - }, - "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" - }, - "response": { - "$ref": "LeaseWorkItemResponse" - }, - "parameterOrder": [ - "projectId", - "location", - "jobId" ], - "httpMethod": "POST", - "parameters": { - "jobId": { - "location": "path", - "description": "Identifies the workflow job this worker belongs to.", - "type": "string", - "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.", - "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}/locations/{location}/jobs/{jobId}/workItems:reportStatus", + "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:reportStatus", + "id": "dataflow.projects.locations.jobs.workItems.reportStatus", + "description": "Reports the status of dataflow WorkItems leased by a worker.", + "request": { + "$ref": "ReportWorkItemStatusRequest" + } } } }, "debug": { "methods": { "sendCapture": { - "response": { - "$ref": "SendDebugCaptureResponse" - }, + "httpMethod": "POST", "parameterOrder": [ "projectId", "location", "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" - ], + "response": { + "$ref": "SendDebugCaptureResponse" + }, "parameters": { - "jobId": { + "location": { "location": "path", - "description": "The job id.", + "description": "The location which contains the job specified by job_id.", "type": "string", "required": true }, + "jobId": { + "type": "string", + "required": true, + "location": "path", + "description": "The job id." + }, "projectId": { "location": "path", "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." } }, + "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}/debug/sendCapture", - "id": "dataflow.projects.locations.jobs.debug.sendCapture", "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/debug/sendCapture", + "id": "dataflow.projects.locations.jobs.debug.sendCapture", + "description": "Send encoded debug capture data for component.", "request": { "$ref": "SendDebugCaptureRequest" - }, - "description": "Send encoded debug capture data for component." + } }, "getConfig": { + "request": { + "$ref": "GetDebugConfigRequest" + }, + "description": "Get encoded debug configuration for component. Not cacheable.", "httpMethod": "POST", "parameterOrder": [ "projectId", @@ -638,12 +668,6 @@ "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": { "description": "The job id.", "type": "string", @@ -651,26 +675,27 @@ "location": "path" }, "projectId": { - "location": "path", "description": "The project id.", "type": "string", + "required": true, + "location": "path" + }, + "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}/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." + "id": "dataflow.projects.locations.jobs.debug.getConfig" } } }, "messages": { "methods": { "list": { - "description": "Request the job status.", "response": { "$ref": "ListJobMessagesResponse" }, @@ -687,23 +712,11 @@ "https://www.googleapis.com/auth/userinfo.email" ], "parameters": { - "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" + "type": "string", + "location": "query" }, "location": { "description": "The location which contains the job specified by job_id.", @@ -711,24 +724,26 @@ "required": true, "location": "path" }, + "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).", - "type": "string" - }, - "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" + "description": "If specified, return only messages with timestamps \u003e= start_time.\nThe default is the job creation time (i.e. beginning of messages)." }, "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 +752,25 @@ "JOB_MESSAGE_BASIC", "JOB_MESSAGE_WARNING", "JOB_MESSAGE_ERROR" - ], - "description": "Filter to only get messages with importance \u003e= level", - "type": "string" + ] + }, + "jobId": { + "description": "The job to get messages about.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "A project id." } }, "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,51 +780,6 @@ }, "templates": { "methods": { - "launch": { - "description": "Launch a template.", - "request": { - "$ref": "LaunchTemplateParameters" - }, - "response": { - "$ref": "LaunchTemplateResponse" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "POST", - "parameters": { - "location": { - "location": "query", - "description": "The location to which to direct the request.", - "type": "string" - }, - "validateOnly": { - "type": "boolean", - "location": "query", - "description": "If true, the request is validated but not actually executed.\nDefaults to false." - }, - "projectId": { - "description": "Required. The ID of the Cloud Platform project that the job belongs to.", - "type": "string", - "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" - } - }, - "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:launch", - "id": "dataflow.projects.templates.launch", - "path": "v1b3/projects/{projectId}/templates:launch" - }, "get": { "response": { "$ref": "GetTemplateResponse" @@ -820,17 +801,17 @@ "type": "string" }, "location": { + "location": "query", "description": "The location to which to direct the request.", - "type": "string", - "location": "query" + "type": "string" }, "view": { + "location": "query", "enum": [ "METADATA_ONLY" ], "description": "The view to retrieve. Defaults to METADATA_ONLY.", - "type": "string", - "location": "query" + "type": "string" }, "projectId": { "location": "path", @@ -845,12 +826,10 @@ "description": "Get the template associated with a template." }, "create": { - "path": "v1b3/projects/{projectId}/templates", - "id": "dataflow.projects.templates.create", + "description": "Creates a Cloud Dataflow job from a template.", "request": { "$ref": "CreateJobFromTemplateRequest" }, - "description": "Creates a Cloud Dataflow job from a template.", "httpMethod": "POST", "parameterOrder": [ "projectId" @@ -858,6 +837,36 @@ "response": { "$ref": "Job" }, + "parameters": { + "projectId": { + "location": "path", + "description": "Required. The ID of the Cloud Platform project that the job belongs to.", + "type": "string", + "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}/templates", + "path": "v1b3/projects/{projectId}/templates", + "id": "dataflow.projects.templates.create" + }, + "launch": { + "request": { + "$ref": "LaunchTemplateParameters" + }, + "description": "Launch a template.", + "httpMethod": "POST", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "LaunchTemplateResponse" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", @@ -865,28 +874,44 @@ "https://www.googleapis.com/auth/userinfo.email" ], "parameters": { + "location": { + "location": "query", + "description": "The location to which to direct the request.", + "type": "string" + }, + "validateOnly": { + "location": "query", + "description": "If true, the request is validated but not actually executed.\nDefaults to false.", + "type": "boolean" + }, "projectId": { "description": "Required. The ID of the Cloud Platform project that the job belongs to.", "type": "string", "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" } }, - "flatPath": "v1b3/projects/{projectId}/templates" + "flatPath": "v1b3/projects/{projectId}/templates:launch", + "path": "v1b3/projects/{projectId}/templates:launch", + "id": "dataflow.projects.templates.launch" } } }, "jobs": { "methods": { "list": { - "description": "List the jobs of a project.", - "response": { - "$ref": "ListJobsResponse" - }, + "httpMethod": "GET", "parameterOrder": [ "projectId" ], - "httpMethod": "GET", + "response": { + "$ref": "ListJobsResponse" + }, "parameters": { "projectId": { "description": "The project which owns the jobs.", @@ -905,16 +930,269 @@ "ACTIVE" ] }, + "location": { + "location": "query", + "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" + }, + "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" + }, + "view": { + "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" + } + }, + "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", + "path": "v1b3/projects/{projectId}/jobs", + "id": "dataflow.projects.jobs.list", + "description": "List the jobs of a project in a given region." + }, + "create": { + "description": "Creates a Cloud Dataflow job.", + "request": { + "$ref": "Job" + }, + "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": { + "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" + ] + }, + "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" + }, + "getMetrics": { + "description": "Request the job status.", + "response": { + "$ref": "JobMetrics" + }, + "parameterOrder": [ + "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": { + "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": { + "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": "query", + "description": "The location which contains the job specified by job_id.", + "type": "string" + } + }, + "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/metrics", + "id": "dataflow.projects.jobs.getMetrics", + "path": "v1b3/projects/{projectId}/jobs/{jobId}/metrics" + }, + "get": { + "parameterOrder": [ + "projectId", + "jobId" + ], + "response": { + "$ref": "Job" + }, + "httpMethod": "GET", + "parameters": { + "view": { + "type": "string", + "location": "query", + "enum": [ + "JOB_VIEW_UNKNOWN", + "JOB_VIEW_SUMMARY", + "JOB_VIEW_ALL", + "JOB_VIEW_DESCRIPTION" + ], + "description": "The level of information requested in response." + }, + "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": { "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" + ], + "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." + }, + "update": { + "path": "v1b3/projects/{projectId}/jobs/{jobId}", + "id": "dataflow.projects.jobs.update", + "request": { + "$ref": "Job" + }, + "description": "Updates the state of an existing Cloud Dataflow job.", + "httpMethod": "PUT", + "parameterOrder": [ + "projectId", + "jobId" + ], + "response": { + "$ref": "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" + ], + "parameters": { + "location": { + "location": "query", + "description": "The location that contains this job.", + "type": "string" }, - "pageToken": { - "description": "Set this to the 'next_page_token' field of a previous response\nto request additional results in a long list.", + "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" + } + }, + "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}" + }, + "aggregated": { + "httpMethod": "GET", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "ListJobsResponse" + }, + "parameters": { + "projectId": { + "description": "The project which owns the jobs.", + "type": "string", + "required": true, + "location": "path" + }, + "filter": { + "enum": [ + "UNKNOWN", + "ALL", + "TERMINATED", + "ACTIVE" + ], + "description": "The kind of filter to use.", "type": "string", "location": "query" }, + "location": { + "location": "query", + "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" + }, "pageSize": { "location": "query", "format": "int32", @@ -939,207 +1217,16 @@ "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" + "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." } }, "resources": { "workItems": { "methods": { "reportStatus": { - "request": { - "$ref": "ReportWorkItemStatusRequest" - }, - "description": "Reports the status of dataflow WorkItems leased by a worker.", "response": { "$ref": "ReportWorkItemStatusResponse" }, @@ -1156,27 +1243,27 @@ ], "parameters": { "jobId": { + "location": "path", "description": "The job which the WorkItem is part of.", "type": "string", + "required": true + }, + "projectId": { + "description": "The project which owns the WorkItem's job.", + "type": "string", "required": true, "location": "path" - }, - "projectId": { - "location": "path", - "description": "The project which owns the WorkItem's job.", - "type": "string", - "required": true } }, "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", + "request": { + "$ref": "ReportWorkItemStatusRequest" + }, + "description": "Reports the status of dataflow WorkItems leased by a worker." }, "lease": { - "request": { - "$ref": "LeaseWorkItemRequest" - }, - "description": "Leases a dataflow WorkItem to run.", "response": { "$ref": "LeaseWorkItemResponse" }, @@ -1193,21 +1280,25 @@ ], "parameters": { "jobId": { - "location": "path", - "description": "Identifies the workflow job this worker belongs to.", - "type": "string", - "required": true - }, - "projectId": { "type": "string", "required": true, "location": "path", - "description": "Identifies the project this worker belongs to." + "description": "Identifies the workflow job this worker belongs to." + }, + "projectId": { + "description": "Identifies the project this worker belongs to.", + "type": "string", + "required": true, + "location": "path" } }, "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", + "request": { + "$ref": "LeaseWorkItemRequest" + }, + "description": "Leases a dataflow WorkItem to run." } } }, @@ -1218,14 +1309,14 @@ "$ref": "SendDebugCaptureRequest" }, "description": "Send encoded debug capture data for component.", - "httpMethod": "POST", + "response": { + "$ref": "SendDebugCaptureResponse" + }, "parameterOrder": [ "projectId", "jobId" ], - "response": { - "$ref": "SendDebugCaptureResponse" - }, + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", @@ -1234,10 +1325,10 @@ ], "parameters": { "jobId": { - "location": "path", - "description": "The job id.", "type": "string", - "required": true + "required": true, + "location": "path", + "description": "The job id." }, "projectId": { "description": "The project id.", @@ -1247,8 +1338,8 @@ } }, "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/debug/sendCapture", - "path": "v1b3/projects/{projectId}/jobs/{jobId}/debug/sendCapture", - "id": "dataflow.projects.jobs.debug.sendCapture" + "id": "dataflow.projects.jobs.debug.sendCapture", + "path": "v1b3/projects/{projectId}/jobs/{jobId}/debug/sendCapture" }, "getConfig": { "response": { @@ -1259,42 +1350,39 @@ "jobId" ], "httpMethod": "POST", - "parameters": { - "jobId": { - "location": "path", - "description": "The job id.", - "type": "string", - "required": true - }, - "projectId": { - "location": "path", - "description": "The project id.", - "type": "string", - "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" ], + "parameters": { + "jobId": { + "description": "The job id.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "The project id." + } + }, "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.", "request": { "$ref": "GetDebugConfigRequest" - } + }, + "description": "Get encoded debug configuration for component. Not cacheable." } } }, "messages": { "methods": { "list": { - "path": "v1b3/projects/{projectId}/jobs/{jobId}/messages", - "id": "dataflow.projects.jobs.messages.list", - "description": "Request the job status.", "httpMethod": "GET", "response": { "$ref": "ListJobMessagesResponse" @@ -1303,15 +1391,36 @@ "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" - ], "parameters": { + "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" + }, + "location": { + "location": "query", + "description": "The location which contains the job specified by job_id.", + "type": "string" + }, + "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": { + "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" + }, "minimumImportance": { - "description": "Filter to only get messages with importance \u003e= level", "type": "string", "location": "query", "enum": [ @@ -1321,50 +1430,32 @@ "JOB_MESSAGE_BASIC", "JOB_MESSAGE_WARNING", "JOB_MESSAGE_ERROR" - ] + ], + "description": "Filter to only get messages with importance \u003e= level" }, "jobId": { - "location": "path", - "description": "The job to get messages about.", "type": "string", - "required": true + "required": true, + "location": "path", + "description": "The job to get messages about." }, "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.", - "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" + ], + "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/messages", + "path": "v1b3/projects/{projectId}/jobs/{jobId}/messages", + "id": "dataflow.projects.jobs.messages.list", + "description": "Request the job status." } } } @@ -1374,49 +1465,29 @@ } }, "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": { - "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" - }, "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" }, + "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" @@ -1426,82 +1497,1948 @@ "enumDescriptions": [ "v1 error format", "v2 error format" - ], - "location": "query" - }, - "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" - ] + ], + "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" }, - "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.", + "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": { + "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" } }, "schemas": { + "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": { + "type": "string", + "format": "int64", + "description": "The service-generated short identifier for the metric." + } + }, + "id": "MetricShortId" + }, + "AutoscalingEvent": { + "description": "A structured message reporting an autoscaling decision made by the Dataflow\nservice.", + "type": "object", + "properties": { + "currentNumWorkers": { + "format": "int64", + "description": "The current number of workers the job has.", + "type": "string" + }, + "time": { + "format": "google-datetime", + "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": { + "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", + "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." + ] + }, + "targetNumWorkers": { + "format": "int64", + "description": "The target number of workers the worker pool wants to resize to use.", + "type": "string" + } + }, + "id": "AutoscalingEvent" + }, + "TaskRunnerSettings": { + "id": "TaskRunnerSettings", + "description": "Taskrunner configuration settings.", + "type": "object", + "properties": { + "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" + }, + "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" + }, + "dataflowApiVersion": { + "type": "string", + "description": "The API version of endpoint, e.g. \"v1b3\"" + }, + "oauthScopes": { + "description": "The OAuth2 scopes to be requested by the taskrunner in order to\naccess the Cloud Dataflow API.", + "items": { + "type": "string" + }, + "type": "array" + }, + "streamingWorkerMainClass": { + "description": "The streaming worker main class name.", + "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" + }, + "workflowFileName": { + "description": "The file to store the workflow in.", + "type": "string" + }, + "baseTaskDir": { + "description": "The location on the worker for task-specific subdirectories.", + "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" + }, + "commandlinesFileName": { + "type": "string", + "description": "The file to store preprocessing commands in." + }, + "languageHint": { + "description": "The suggested backend language.", + "type": "string" + }, + "baseUrl": { + "type": "string", + "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/\"" + }, + "logToSerialconsole": { + "description": "Whether to send taskrunner log info to Google Compute Engine VM serial\nconsole.", + "type": "boolean" + } + } + }, + "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": { + "shufflePosition": { + "type": "string", + "description": "CloudPosition is a base64 encoded BatchShufflePosition (with FIXED\nsharding)." + }, + "byteOffset": { + "format": "int64", + "description": "Position is a byte offset.", + "type": "string" + }, + "concatPosition": { + "$ref": "ConcatPosition", + "description": "CloudPosition is a concat position." + }, + "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" + } + }, + "id": "Position" + }, + "Source": { + "description": "A source that records can be read and decoded from.", + "type": "object", + "properties": { + "spec": { + "description": "The source to read from, plus its parameters.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "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": { + "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" + }, + "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": { + "description": "The codec to use to decode data read from the source.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + } + }, + "id": "Source" + }, + "SplitInt64": { + "description": "A representation of an int64, n, that is immune to precision loss when\nencoded in JSON.", + "type": "object", + "properties": { + "lowBits": { + "format": "uint32", + "description": "The low order bits: n & 0xffffffff.", + "type": "integer" + }, + "highBits": { + "type": "integer", + "format": "int32", + "description": "The high order bits, including the sign: n \u003e\u003e 32." + } + }, + "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": { + "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": { + "description": "Configuration for VM IPs.", + "type": "string", + "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" + ] + }, + "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": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Metadata to set on the Google Compute Engine VMs." + }, + "network": { + "description": "Network to which VMs will be assigned. If empty or unspecified,\nthe service will use the network \"default\".", + "type": "string" + }, + "defaultPackageSet": { + "enum": [ + "DEFAULT_PACKAGE_SET_UNKNOWN", + "DEFAULT_PACKAGE_SET_NONE", + "DEFAULT_PACKAGE_SET_JAVA", + "DEFAULT_PACKAGE_SET_PYTHON" + ], + "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." + ] + }, + "numThreadsPerWorker": { + "type": "integer", + "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)." + }, + "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": { + "enum": [ + "TEARDOWN_POLICY_UNKNOWN", + "TEARDOWN_ALWAYS", + "TEARDOWN_ON_SUCCESS", + "TEARDOWN_NEVER" + ], + "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." + ] + }, + "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" + }, + "kind": { + "description": "The kind of the worker pool; currently only `harness` and `shuffle`\nare supported.", + "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": { + "description": "Information about a request to get metadata about a source.", + "$ref": "SourceGetMetadataRequest" + }, + "split": { + "description": "Information about a request to split a source.", + "$ref": "SourceSplitRequest" + } + }, + "id": "SourceOperationRequest" + }, + "WorkItem": { + "description": "WorkItem represents basic information about a WorkItem to be executed\nin the cloud.", + "type": "object", + "properties": { + "reportStatusInterval": { + "format": "google-duration", + "description": "Recommended reporting interval.", + "type": "string" + }, + "streamingSetupTask": { + "$ref": "StreamingSetupTask", + "description": "Additional information for StreamingSetupTask WorkItems." + }, + "sourceOperationTask": { + "$ref": "SourceOperationRequest", + "description": "Additional information for source operation WorkItems." + }, + "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" + }, + "initialReportIndex": { + "format": "int64", + "description": "The initial index to use when reporting the status of the WorkItem.", + "type": "string" + }, + "streamingComputationTask": { + "$ref": "StreamingComputationTask", + "description": "Additional information for StreamingComputationTask WorkItems." + }, + "shellTask": { + "description": "Additional information for ShellTask WorkItems.", + "$ref": "ShellTask" + }, + "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": { + "items": { + "$ref": "Package" + }, + "type": "array", + "description": "Any required packages that need to be fetched in order to execute\nthis WorkItem." + }, + "projectId": { + "description": "Identifies the cloud project this WorkItem belongs to.", + "type": "string" + } + }, + "id": "WorkItem" + }, + "StructuredMessage": { + "id": "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": { + "items": { + "$ref": "Parameter" + }, + "type": "array", + "description": "The structured data associated with this message." + }, + "messageKey": { + "description": "Idenfier for this message type. Used by external systems to\ninternationalize or personalize message.", + "type": "string" + } + } + }, + "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": { + "items": { + "$ref": "CPUTime" + }, + "type": "array", + "description": "CPU utilization samples." + } + }, + "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": { + "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" + }, + "userStageToComputationNameMap": { + "additionalProperties": { + "type": "string" + }, + "description": "Maps user stage names to stable computation names.", + "type": "object" + } + }, + "id": "TopologyConfig" + }, + "SourceSplitOptions": { + "description": "Hints for splitting a Source into bundles (parts for parallel\nprocessing) using SourceSplitRequest.", + "type": "object", + "properties": { + "desiredBundleSizeBytes": { + "type": "string", + "format": "int64", + "description": "The source should be split into a set of bundles where the estimated size\nof each is approximately this many bytes." + }, + "desiredShardSizeBytes": { + "type": "string", + "format": "int64", + "description": "DEPRECATED in favor of desired_bundle_size_bytes." + } + }, + "id": "SourceSplitOptions" + }, + "ReadInstruction": { + "type": "object", + "properties": { + "source": { + "$ref": "Source", + "description": "The source to read from." + } + }, + "id": "ReadInstruction", + "description": "An instruction that reads records.\nTakes no inputs, produces one output." + }, + "WorkerSettings": { + "id": "WorkerSettings", + "description": "Provides data to pass through to the worker harness.", + "type": "object", + "properties": { + "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": { + "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" + } + } + }, + "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": { + "id": "ApproximateSplitRequest", + "description": "A suggestion by the service to the worker to dynamically split the WorkItem.", + "type": "object", + "properties": { + "position": { + "description": "A Position at which to split the work item.", + "$ref": "Position" + }, + "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" + } + } + }, + "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": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + }, + "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" + }, + "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": { + "id": "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": { + "$ref": "StreamingStageLocation", + "description": "The stream is part of another computation within the current\nstreaming Dataflow job." + } + } + }, + "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" + }, + "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": { + "description": "Description of the type, names/ids, and input/outputs for a transform.", + "type": "object", + "properties": { + "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" + }, + "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" + } + }, + "id": "TransformSummary" + }, + "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" + }, + "LaunchTemplateParameters": { + "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": { + "additionalProperties": { + "type": "string" + }, + "description": "The runtime parameters to pass to the job.", + "type": "object" + } + }, + "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": { + "description": "The codec to use to encode data written to the sink.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "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": { + "properties": { + "originalCombineValuesStepName": { + "description": "If this instruction includes a combining function, this is the name of the\nCombineValues instruction lifted into this instruction.", + "type": "string" + }, + "sideInputs": { + "description": "Zero or more side inputs.", + "items": { + "$ref": "SideInputInfo" + }, + "type": "array" + }, + "input": { + "description": "Describes the input to the partial group-by-key instruction.", + "$ref": "InstructionInput" + }, + "inputElementCodec": { + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + }, + "description": "The codec to use for interpreting an element in the input PTable.", + "type": "object" + }, + "valueCombiningFn": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The value combining function to invoke." + }, + "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" + } + }, + "id": "PartialGroupByKeyInstruction", + "description": "An instruction that does a partial group-by-key.\nOne input and one output.", + "type": "object" + }, + "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": { + "format": "int32", + "description": "The output index (origin zero) within the producer.", + "type": "integer" + } + }, + "id": "InstructionInput" + }, + "StringList": { + "properties": { + "elements": { + "description": "Elements of the list.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "StringList", + "description": "A metric value representing a list of strings.", + "type": "object" + }, + "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": { + "type": "string", + "description": "Contains value if the data is of string type." + }, + "durationValue": { + "format": "google-duration", + "description": "Contains value if the data is of duration type.", + "type": "string" + }, + "int64Value": { + "format": "int64", + "description": "Contains value if the data is of int64 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" + }, + "url": { + "description": "An optional full URL.", + "type": "string" + }, + "label": { + "description": "An optional label to display in a dax UI for the element.", + "type": "string" + } + }, + "id": "DisplayData" + }, + "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": { + "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": { + "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", + "description": "Request to lease WorkItems." + }, + "GetTemplateResponse": { + "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", + "description": "The response to a GetTemplate request.", + "type": "object" + }, + "Parameter": { + "type": "object", + "properties": { + "value": { + "description": "Value for this parameter.", + "type": "any" + }, + "key": { + "description": "Key or name for this parameter.", + "type": "string" + } + }, + "id": "Parameter", + "description": "Structured data associated with this message." + }, + "ReportWorkItemStatusRequest": { + "properties": { + "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" + }, + "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" + } + }, + "id": "ReportWorkItemStatusRequest", + "description": "Request to report the status of WorkItems.", + "type": "object" + }, + "StreamingConfigTask": { + "description": "A task that carries configuration information for streaming computations.", + "type": "object", + "properties": { + "userStepToStateFamilyNameMap": { + "additionalProperties": { + "type": "string" + }, + "description": "Map from user step names to state families.", + "type": "object" + }, + "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" + }, + "streamingComputationConfigs": { + "description": "Set of computation configuration information.", + "items": { + "$ref": "StreamingComputationConfig" + }, + "type": "array" + }, + "windmillServiceEndpoint": { + "type": "string", + "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." + } + }, + "id": "StreamingConfigTask" + }, + "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" + }, + "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" + }, + "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": { + "description": "A mapping from each stage to the information about that stage.", + "type": "object", + "additionalProperties": { + "$ref": "JobExecutionStageInfo" + } + } + }, + "id": "JobExecutionInfo" + }, + "FailedLocation": { + "id": "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" + } + } + }, + "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": { + "type": "string", + "description": "Directory in a VM where disk is mounted." + } + }, + "id": "Disk" + }, + "CounterMetadata": { + "id": "CounterMetadata", + "description": "CounterMetadata includes all static non-name non-value counter attributes.", + "type": "object", + "properties": { + "standardUnits": { + "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" + ], + "description": "System defined Units, see above enum." + }, + "otherUnits": { + "type": "string", + "description": "A string referring to the unit type." + }, + "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" + } + } + }, + "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": { + "items": { + "$ref": "AutoscalingEvent" + }, + "type": "array", + "description": "Autoscaling events in ascending timestamp order." + } + }, + "id": "ListJobMessagesResponse" + }, + "ApproximateReportedProgress": { + "description": "A progress measurement of a WorkItem by a worker.", + "type": "object", + "properties": { + "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." + }, + "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": { + "isRead": { + "description": "If true, this family corresponds to a read operation.", + "type": "boolean" + }, + "stateFamily": { + "description": "The state family value.", + "type": "string" + } + }, + "id": "StateFamilyConfig" + }, + "ResourceUtilizationReportResponse": { + "properties": {}, + "id": "ResourceUtilizationReportResponse", + "description": "Service-side response to WorkerMessage reporting resource utilization.", + "type": "object" + }, + "SourceSplitResponse": { + "description": "The response to a SourceSplitRequest.", + "type": "object", + "properties": { + "outcome": { + "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", + "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." + ] + }, + "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": { + "id": "ParallelInstruction", + "description": "Describes a particular operation comprising a MapTask.", + "type": "object", + "properties": { + "outputs": { + "description": "Describes the outputs of the instruction.", + "items": { + "$ref": "InstructionOutput" + }, + "type": "array" + }, + "name": { + "type": "string", + "description": "User-provided name of this operation." + }, + "read": { + "description": "Additional information for Read instructions.", + "$ref": "ReadInstruction" + }, + "parDo": { + "$ref": "ParDoInstruction", + "description": "Additional information for ParDo instructions." + }, + "originalName": { + "description": "System-defined name for the operation in the original workflow graph.", + "type": "string" + }, + "flatten": { + "$ref": "FlattenInstruction", + "description": "Additional information for Flatten instructions." + }, + "write": { + "$ref": "WriteInstruction", + "description": "Additional information for Write instructions." + }, + "systemName": { + "type": "string", + "description": "System-defined name of this operation.\nUnique across the workflow." + }, + "partialGroupByKey": { + "$ref": "PartialGroupByKeyInstruction", + "description": "Additional information for PartialGroupByKey instructions." + } + } + }, + "Package": { + "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", + "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." + }, + "KeyRangeDataDiskAssignment": { + "id": "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": { + "description": "The start (inclusive) of the key range.", + "type": "string" + }, + "end": { + "description": "The end (exclusive) of the key range.", + "type": "string" + } + } + }, + "ParDoInstruction": { + "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.", + "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": { + "description": "The user function to invoke.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "input": { + "$ref": "InstructionInput", + "description": "The input." + } + } + }, + "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": "Optional reason to be attached for the shutdown notice.\nFor example: \"PREEMPTION\" would indicate the VM is being shut down because\nof preemption. Other possible reasons may be added in the future.", + "type": "string" + } + }, + "id": "WorkerShutdownNotice" + }, + "MetricUpdate": { + "description": "Describes the state of a metric.", + "type": "object", + "properties": { + "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" + }, + "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" + }, + "internal": { + "description": "Worker-computed aggregate value for internal use by the Dataflow\nservice.", + "type": "any" + }, + "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" + } + }, + "id": "MetricUpdate" + }, + "CounterStructuredName": { + "properties": { + "componentStepName": { + "description": "Name of the optimized step being executed by the workers.", + "type": "string" + }, + "portion": { + "enum": [ + "ALL", + "KEY", + "VALUE" + ], + "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." + ] + }, + "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." + }, + "executionStepName": { + "description": "Name of the stage. An execution step contains multiple component steps.", + "type": "string" + }, + "name": { + "description": "Counter name. Not necessarily globally-unique, but unique within the\ncontext of the other fields.\nRequired.", + "type": "string" + }, + "origin": { + "type": "string", + "enumDescriptions": [ + "Counter was created by the Dataflow system.", + "Counter was created by the user." + ], + "enum": [ + "SYSTEM", + "USER" + ], + "description": "One of the standard Origins defined above." + } + }, + "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" + }, + "ApproximateProgress": { + "description": "Obsolete in favor of ApproximateReportedProgress and ApproximateSplitRequest.", + "type": "object", + "properties": { + "remainingTime": { + "format": "google-duration", + "description": "Obsolete.", + "type": "string" + }, + "position": { + "$ref": "Position", + "description": "Obsolete." + }, + "percentComplete": { + "format": "float", + "description": "Obsolete.", + "type": "number" + } + }, + "id": "ApproximateProgress" + }, + "WorkerMessageResponse": { + "description": "A worker_message response allows the server to pass information to the\nsender.", + "type": "object", + "properties": { + "workerShutdownNoticeResponse": { + "description": "Service's response to shutdown notice (currently empty).", + "$ref": "WorkerShutdownNoticeResponse" + }, + "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." + } + }, + "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": { + "labels": { + "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", + "additionalProperties": { + "type": "string" + } + }, "time": { "format": "google-datetime", "description": "The timestamp of the worker_message.", "type": "string" }, - "workerHealthReport": { - "description": "The health of a worker.", - "$ref": "WorkerHealthReport" + "workerShutdownNotice": { + "description": "Shutdown notice by workers.", + "$ref": "WorkerShutdownNotice" }, - "workerMetrics": { - "$ref": "ResourceUtilizationReport", - "description": "Resource metrics reported by workers." + "workerHealthReport": { + "$ref": "WorkerHealthReport", + "description": "The health of a worker." }, "workerMessageCode": { "$ref": "WorkerMessageCode", "description": "A worker message code." }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "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" + "workerMetrics": { + "$ref": "ResourceUtilizationReport", + "description": "Resource metrics reported by workers." } }, "id": "WorkerMessage" }, + "WorkerShutdownNoticeResponse": { + "description": "Service-side response to WorkerMessage issuing shutdown notice.", + "type": "object", + "properties": {}, + "id": "WorkerShutdownNoticeResponse" + }, "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 +3446,9 @@ "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" }, "FloatingPointList": { - "id": "FloatingPointList", "description": "A metric value representing a list of floating point numbers.", "type": "object", "properties": { @@ -1525,29 +3460,32 @@ }, "type": "array" } - } + }, + "id": "FloatingPointList" }, "CounterUpdate": { + "description": "An update to a Counter sent from a worker.", + "type": "object", "properties": { "floatingPointList": { "description": "List of floating point numbers, for Set.", "$ref": "FloatingPointList" }, "integer": { - "description": "Integer value for Sum, Max, Min.", - "$ref": "SplitInt64" + "$ref": "SplitInt64", + "description": "Integer value for Sum, Max, Min." }, "structuredNameAndMetadata": { - "$ref": "CounterStructuredNameAndMetadata", - "description": "Counter structured name and metadata." + "description": "Counter structured name and metadata.", + "$ref": "CounterStructuredNameAndMetadata" }, "integerList": { "$ref": "IntegerList", "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", @@ -1563,12 +3501,12 @@ "type": "boolean" }, "floatingPointMean": { - "description": "Floating point mean aggregation value for Mean.", - "$ref": "FloatingPointMean" + "$ref": "FloatingPointMean", + "description": "Floating point mean aggregation value for Mean." }, "boolean": { - "type": "boolean", - "description": "Boolean value for And, Or." + "description": "Boolean value for And, Or.", + "type": "boolean" }, "nameAndKind": { "$ref": "NameAndKind", @@ -1588,18 +3526,16 @@ "type": "string" } }, - "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,6 +3552,10 @@ "description": "A metric value representing a distribution.", "type": "object", "properties": { + "max": { + "description": "The maximum value present in the distribution.", + "$ref": "SplitInt64" + }, "logBuckets": { "description": "(Optional) Logarithmic histogram of values.\nEach log may be in no more than one bucket. Order does not matter.", "items": { @@ -1628,48 +3568,21 @@ "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": { + "type": "number", "format": "double", - "description": "Use a double since the sum of squares is likely to overflow int64.", - "type": "number" + "description": "Use a double since the sum of squares is likely to overflow int64." }, "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" - }, - "max": { - "$ref": "SplitInt64", - "description": "The maximum value present in the distribution." } }, "id": "DistributionUpdate" }, - "SourceFork": { - "type": "object", - "properties": { - "primary": { - "description": "DEPRECATED", - "$ref": "SourceSplitShard" - }, - "primarySource": { - "$ref": "DerivedSource", - "description": "DEPRECATED" - }, - "residual": { - "$ref": "SourceSplitShard", - "description": "DEPRECATED" - }, - "residualSource": { - "description": "DEPRECATED", - "$ref": "DerivedSource" - } - }, - "id": "SourceFork", - "description": "DEPRECATED in favor of DynamicSourceSplit." - }, "WorkerHealthReportResponse": { "description": "WorkerHealthReportResponse contains information returned to the worker\nin response to a health ping.", "type": "object", @@ -1682,10 +3595,63 @@ }, "id": "WorkerHealthReportResponse" }, + "SourceFork": { + "description": "DEPRECATED in favor of DynamicSourceSplit.", + "type": "object", + "properties": { + "primarySource": { + "$ref": "DerivedSource", + "description": "DEPRECATED" + }, + "residual": { + "description": "DEPRECATED", + "$ref": "SourceSplitShard" + }, + "residualSource": { + "$ref": "DerivedSource", + "description": "DEPRECATED" + }, + "primary": { + "$ref": "SourceSplitShard", + "description": "DEPRECATED" + } + }, + "id": "SourceFork" + }, "WorkItemStatus": { "description": "Conveys a worker's progress through the work described by a WorkItem.", "type": "object", "properties": { + "workItemId": { + "description": "Identifies the WorkItem.", + "type": "string" + }, + "errors": { + "items": { + "$ref": "Status" + }, + "type": "array", + "description": "Specifies errors which occurred during processing. If errors are\nprovided, and completed = true, then the WorkItem is considered\nto have failed." + }, + "metricUpdates": { + "description": "DEPRECATED in favor of counter_updates.", + "items": { + "$ref": "MetricUpdate" + }, + "type": "array" + }, + "dynamicSourceSplit": { + "description": "See documentation of stop_position.", + "$ref": "DynamicSourceSplit" + }, + "sourceOperationResponse": { + "$ref": "SourceOperationResponse", + "description": "If the work item represented a SourceOperationRequest, and the work\nis completed, contains the result of the operation." + }, + "progress": { + "description": "DEPRECATED in favor of reported_progress.", + "$ref": "ApproximateProgress" + }, "requestedLeaseDuration": { "format": "google-duration", "description": "Amount of time the worker requests for its lease.", @@ -1709,8 +3675,8 @@ "description": "The worker's progress through this WorkItem." }, "sourceFork": { - "$ref": "SourceFork", - "description": "DEPRECATED in favor of dynamic_source_split." + "description": "DEPRECATED in favor of dynamic_source_split.", + "$ref": "SourceFork" }, "counterUpdates": { "description": "Worker output counters for this WorkItem.", @@ -1718,74 +3684,42 @@ "$ref": "CounterUpdate" }, "type": "array" - }, - "workItemId": { - "description": "Identifies the WorkItem.", - "type": "string" - }, - "errors": { - "description": "Specifies errors which occurred during processing. If errors are\nprovided, and completed = true, then the WorkItem is considered\nto have failed.", - "items": { - "$ref": "Status" - }, - "type": "array" - }, - "metricUpdates": { - "description": "DEPRECATED in favor of counter_updates.", - "items": { - "$ref": "MetricUpdate" - }, - "type": "array" - }, - "dynamicSourceSplit": { - "$ref": "DynamicSourceSplit", - "description": "See documentation of stop_position." - }, - "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." } }, "id": "WorkItemStatus" }, "ComponentSource": { - "description": "Description of an interstitial value between transforms in an execution\nstage.", - "type": "object", "properties": { - "originalTransformOrCollection": { - "type": "string", - "description": "User name for the original user transform or collection with which this\nsource is most closely associated." - }, "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." + "description": "Human-readable name for this transform; 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": "ComponentSource" + "id": "ComponentSource", + "description": "Description of an interstitial value between transforms in an execution\nstage.", + "type": "object" }, "WorkItemServiceState": { + "description": "The Dataflow service's idea of the current state of a WorkItem\nbeing processed by a worker.", + "type": "object", "properties": { - "splitRequest": { - "$ref": "ApproximateSplitRequest", - "description": "The progress point in the WorkItem where the Dataflow service\nsuggests that the worker truncate the task." + "suggestedStopPosition": { + "$ref": "Position", + "description": "Obsolete, always empty." }, "reportStatusInterval": { "format": "google-duration", "description": "New recommended reporting interval.", "type": "string" }, - "suggestedStopPosition": { - "$ref": "Position", - "description": "Obsolete, always empty." - }, "harnessData": { "additionalProperties": { "description": "Properties of the object.", @@ -1807,23 +3741,32 @@ "type": "array" }, "nextReportIndex": { + "type": "string", "format": "int64", - "description": "The index value to use for the next report sent by the worker.\nNote: If the report call fails for whatever reason, the worker should\nreuse this index for subsequent report attempts.", - "type": "string" + "description": "The index value to use for the next report sent by the worker.\nNote: If the report call fails for whatever reason, the worker should\nreuse this index for subsequent report attempts." }, "suggestedStopPoint": { - "$ref": "ApproximateProgress", - "description": "DEPRECATED in favor of split_request." + "description": "DEPRECATED in favor of split_request.", + "$ref": "ApproximateProgress" + }, + "splitRequest": { + "$ref": "ApproximateSplitRequest", + "description": "The progress point in the WorkItem where the Dataflow service\nsuggests that the worker truncate the task." } }, - "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.", "type": "object", "properties": { + "context": { + "additionalProperties": { + "type": "string" + }, + "description": "Zero or more labeled fields which identify the part of the job this\nmetric is associated with, such as the name of a step or collection.\n\nFor example, built-in counters associated with steps will have\ncontext['step'] = \u003cstep-name\u003e. Counters associated with PCollections\nin the SDK will have context['pcollection'] = \u003cpcollection-name\u003e.", + "type": "object" + }, "name": { "description": "Worker-defined metric name.", "type": "string" @@ -1831,33 +3774,28 @@ "origin": { "description": "Origin (namespace) of metric name. May be blank for user-define metrics;\nwill be \"dataflow\" for metrics defined by the Dataflow service or SDK.", "type": "string" - }, - "context": { - "description": "Zero or more labeled fields which identify the part of the job this\nmetric is associated with, such as the name of a step or collection.\n\nFor example, built-in counters associated with steps will have\ncontext['step'] = \u003cstep-name\u003e. Counters associated with PCollections\nin the SDK will have context['pcollection'] = \u003cpcollection-name\u003e.", - "type": "object", - "additionalProperties": { - "type": "string" - } } }, "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": { + "$ref": "Sink", + "description": "The sink to write the output value to." } - } + }, + "id": "SeqMapTaskOutputInfo", + "description": "Information about an output of a SeqMapTask." }, "JobExecutionStageInfo": { + "description": "Contains information about how a particular\ngoogle.dataflow.v1beta3.Step will be executed.", + "type": "object", "properties": { "stepName": { "items": { @@ -1867,13 +3805,17 @@ "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." } }, - "id": "JobExecutionStageInfo", - "description": "Contains information about how a particular\ngoogle.dataflow.v1beta3.Step will be executed.", - "type": "object" + "id": "JobExecutionStageInfo" }, "KeyRangeLocation": { + "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.", "type": "object", "properties": { + "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" @@ -1889,76 +3831,40 @@ "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." + } }, "SourceGetMetadataRequest": { - "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" - }, - "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": { - "$ref": "SideInputInfo" - }, - "type": "array" - }, - "stageName": { - "description": "System-defined name of the stage containing the SeqDo operation.\nUnique across the workflow.", - "type": "string" - }, - "systemName": { - "description": "System-defined name of the SeqDo operation.\nUnique across the workflow.", - "type": "string" - }, - "userFn": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The user function to invoke.", - "type": "object" + "source": { + "$ref": "Source", + "description": "Specification of the source whose metadata should be computed." } }, - "id": "SeqMapTask" + "id": "SourceGetMetadataRequest" }, "NameAndKind": { "description": "Basic metadata about a counter.", "type": "object", "properties": { "name": { - "description": "Name of the counter.", - "type": "string" + "type": "string", + "description": "Name of the counter." }, "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", @@ -1971,37 +3877,67 @@ "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." - ] + "type": "string" } }, "id": "NameAndKind" }, + "SeqMapTask": { + "properties": { + "name": { + "description": "The user-provided name of the SeqDo operation.", + "type": "string" + }, + "outputInfos": { + "items": { + "$ref": "SeqMapTaskOutputInfo" + }, + "type": "array", + "description": "Information about each of the outputs." + }, + "inputs": { + "description": "Information about each of the inputs.", + "items": { + "$ref": "SideInputInfo" + }, + "type": "array" + }, + "systemName": { + "description": "System-defined name of the SeqDo operation.\nUnique across the workflow.", + "type": "string" + }, + "stageName": { + "description": "System-defined name of the stage containing the SeqDo operation.\nUnique across the workflow.", + "type": "string" + }, + "userFn": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The user function to invoke.", + "type": "object" + } + }, + "id": "SeqMapTask", + "description": "Describes a particular function to invoke.", + "type": "object" + }, "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": { - "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": { + "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": { "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" + } + }, + "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" } }, "id": "WorkerMessageCode" @@ -2040,6 +3976,7 @@ "id": "MapTask" }, "FloatingPointMean": { + "type": "object", "properties": { "sum": { "format": "double", @@ -2047,13 +3984,12 @@ "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" + "description": "A representation of a floating point mean metric contribution." }, "ReportWorkItemStatusResponse": { "description": "Response from a request to report the status of WorkItems.", @@ -2094,8 +4030,8 @@ "type": "object" }, "name": { - "type": "string", - "description": "The user-provided name of this output." + "description": "The user-provided name of this output.", + "type": "string" }, "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.", @@ -2105,17 +4041,12 @@ "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" + "$ref": "RuntimeEnvironment", + "description": "The runtime environment for the job." }, "location": { "description": "The location to which to direct the request.", @@ -2131,8 +4062,13 @@ "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.", @@ -2143,8 +4079,8 @@ "$ref": "SplitInt64" }, "sum": { - "description": "The sum of all values being aggregated.", - "$ref": "SplitInt64" + "$ref": "SplitInt64", + "description": "The sum of all values being aggregated." } }, "id": "IntegerMean" @@ -2175,16 +4111,7 @@ "id": "ListJobsResponse" }, "ComputationTopology": { - "description": "All configuration data for a particular Computation.", - "type": "object", "properties": { - "outputs": { - "description": "The outputs from the computation.", - "items": { - "$ref": "StreamLocation" - }, - "type": "array" - }, "stateFamilies": { "description": "The state family values.", "items": { @@ -2192,6 +4119,13 @@ }, "type": "array" }, + "outputs": { + "description": "The outputs from the computation.", + "items": { + "$ref": "StreamLocation" + }, + "type": "array" + }, "systemStageName": { "description": "The system stage name.", "type": "string" @@ -2201,11 +4135,11 @@ "type": "string" }, "inputs": { - "description": "The inputs to the computation.", "items": { "$ref": "StreamLocation" }, - "type": "array" + "type": "array", + "description": "The inputs to the computation." }, "keyRanges": { "description": "The key ranges processed by the computation.", @@ -2215,12 +4149,18 @@ "type": "array" } }, - "id": "ComputationTopology" + "id": "ComputationTopology", + "description": "All configuration data for a particular Computation.", + "type": "object" }, "RuntimeEnvironment": { "description": "The environment values to set at runtime.", "type": "object", "properties": { + "machineType": { + "description": "The machine type to use for the job. Defaults to the value from the\ntemplate if not specified.", + "type": "string" + }, "zone": { "description": "The Compute Engine [availability\nzone](https://cloud.google.com/compute/docs/regions-zones/regions-zones)\nfor launching worker instances to run your pipeline.", "type": "string" @@ -2241,147 +4181,66 @@ "tempLocation": { "description": "The Cloud Storage path to use for temporary files.\nMust be a valid Cloud Storage URL, beginning with `gs://`.", "type": "string" - }, - "machineType": { - "description": "The machine type to use for the job. Defaults to the value from the\ntemplate if not specified.", - "type": "string" } }, "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", "properties": { "dataDisk": { "description": "The name of the data disk.\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" } }, - "id": "MountedDataDisk" + "id": "MountedDataDisk", + "description": "Describes mounted data disk.", + "type": "object" + }, + "StreamingSideInputLocation": { + "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", + "description": "Identifies the location of a streaming side input.", + "type": "object" }, "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" }, - "DerivedSource": { - "description": "Specification of one of the bundles produced as a result of splitting\na Source (e.g. when executing a SourceSplitRequest, or when\nsplitting an active task using WorkItemStatus.dynamic_source_split),\nrelative to the source being split.", - "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.", - "Produce a Source based on the Source being split.", - "Produce a Source based on the base of the Source being split." - ], - "enum": [ - "SOURCE_DERIVATION_MODE_UNKNOWN", - "SOURCE_DERIVATION_MODE_INDEPENDENT", - "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT", - "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT" - ] - }, - "source": { - "$ref": "Source", - "description": "Specification of the source." - } - }, - "id": "DerivedSource" - }, "DynamicSourceSplit": { - "description": "When a task splits using WorkItemStatus.dynamic_source_split, this\nmessage describes the two parts of the split relative to the\ndescription of the current task's input.", - "type": "object", "properties": { "residual": { "description": "Residual part (returned to the pool of work).\nSpecified relative to the previously-current source.", "$ref": "DerivedSource" }, "primary": { - "description": "Primary part (continued to be processed by worker).\nSpecified relative to the previously-current source.\nBecomes current.", - "$ref": "DerivedSource" + "$ref": "DerivedSource", + "description": "Primary part (continued to be processed by worker).\nSpecified relative to the previously-current source.\nBecomes current." } }, - "id": "DynamicSourceSplit" + "id": "DynamicSourceSplit", + "description": "When a task splits using WorkItemStatus.dynamic_source_split, this\nmessage describes the two parts of the split relative to the\ndescription of the current task's input.", + "type": "object" }, "Job": { "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": { - "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.", - "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", @@ -2389,6 +4248,10 @@ "type": "string" } }, + "environment": { + "description": "The environment for the job.", + "$ref": "Environment" + }, "createTime": { "format": "google-datetime", "description": "The timestamp when the job was initially created. Immutable and set by the\nCloud Dataflow service.", @@ -2401,8 +4264,11 @@ }, "type": "array" }, + "projectId": { + "description": "The ID of the Cloud Platform project that the job belongs to.", + "type": "string" + }, "type": { - "type": "string", "enumDescriptions": [ "The type of the job is unspecified, or unknown.", "A batch job with a well-defined end point: data is read, data is\nprocessed, data is written, and the job is done.", @@ -2413,10 +4279,7 @@ "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.", + "description": "The type of Cloud Dataflow job.", "type": "string" }, "pipelineDescription": { @@ -2428,19 +4291,6 @@ "type": "string" }, "requestedState": { - "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 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", "enumDescriptions": [ @@ -2455,59 +4305,161 @@ "`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": { + "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", - "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}" + "type": "array" }, "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." + "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": { + "type": "string", + "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." + }, "steps": { + "description": "The top-level steps that constitute the entire job.", "items": { "$ref": "Step" }, - "type": "array", - "description": "The top-level steps that constitute the entire job." + "type": "array" }, - "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.", + "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": { "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.", + "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.", + "`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" + ] + }, + "location": { + "type": "string", + "description": "The location that contains this job." + }, + "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" + } } }, "id": "Job" }, + "DerivedSource": { + "description": "Specification of one of the bundles produced as a result of splitting\na Source (e.g. when executing a SourceSplitRequest, or when\nsplitting an active task using WorkItemStatus.dynamic_source_split),\nrelative to the source being split.", + "type": "object", + "properties": { + "derivationMode": { + "enum": [ + "SOURCE_DERIVATION_MODE_UNKNOWN", + "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", + "enumDescriptions": [ + "The source derivation is unknown, or unspecified.", + "Produce a completely independent Source with no base.", + "Produce a Source based on the Source being split.", + "Produce a Source based on the base of the Source being split." + ] + }, + "source": { + "$ref": "Source", + "description": "Specification of the source." + } + }, + "id": "DerivedSource" + }, + "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": { + "type": "string", + "description": "The step that receives and usually consumes this side input." + } + }, + "id": "SideInputId" + }, "SourceOperationResponse": { + "id": "SourceOperationResponse", "description": "The result of a SourceOperationRequest, specified in\nReportWorkItemStatusRequest.source_operation when the work item\nis completed.", "type": "object", "properties": { "getMetadata": { - "$ref": "SourceGetMetadataResponse", - "description": "A response to a request to get metadata about a source." + "description": "A response to a request to get metadata about a source.", + "$ref": "SourceGetMetadataResponse" }, "split": { "$ref": "SourceSplitResponse", "description": "A response to a request to split a source." } - }, - "id": "SourceOperationResponse" + } }, "SideInputInfo": { "properties": { @@ -2536,14 +4488,12 @@ "type": "object" }, "SendDebugCaptureResponse": { - "properties": {}, - "id": "SendDebugCaptureResponse", "description": "Response to a send capture request.\nnothing", - "type": "object" + "type": "object", + "properties": {}, + "id": "SendDebugCaptureResponse" }, "WriteInstruction": { - "description": "An instruction that writes records.\nTakes one input, produces no outputs.", - "type": "object", "properties": { "input": { "$ref": "InstructionInput", @@ -2554,7 +4504,9 @@ "description": "The sink to write to." } }, - "id": "WriteInstruction" + "id": "WriteInstruction", + "description": "An instruction that writes records.\nTakes one input, produces no outputs.", + "type": "object" }, "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.", @@ -2587,31 +4539,11 @@ }, "id": "CounterStructuredNameAndMetadata" }, - "StreamingComputationRanges": { - "type": "object", - "properties": { - "computationId": { - "description": "The ID of the computation.", - "type": "string" - }, - "rangeAssignments": { - "description": "Data disk assignments for ranges from this computation.", - "items": { - "$ref": "KeyRangeDataDiskAssignment" - }, - "type": "array" - } - }, - "id": "StreamingComputationRanges", - "description": "Describes full or partial data disk assignment information of the computation\nranges." - }, "AutoscalingSettings": { "description": "Settings for WorkerPool autoscaling.", "type": "object", "properties": { "algorithm": { - "description": "The algorithm to use for autoscaling.", - "type": "string", "enumDescriptions": [ "The algorithm is unknown, or unspecified.", "Disable autoscaling.", @@ -2621,7 +4553,9 @@ "AUTOSCALING_ALGORITHM_UNKNOWN", "AUTOSCALING_ALGORITHM_NONE", "AUTOSCALING_ALGORITHM_BASIC" - ] + ], + "description": "The algorithm to use for autoscaling.", + "type": "string" }, "maxNumWorkers": { "format": "int32", @@ -2631,10 +4565,50 @@ }, "id": "AutoscalingSettings" }, + "StreamingComputationRanges": { + "description": "Describes full or partial data disk assignment information of the computation\nranges.", + "type": "object", + "properties": { + "computationId": { + "description": "The ID of the computation.", + "type": "string" + }, + "rangeAssignments": { + "items": { + "$ref": "KeyRangeDataDiskAssignment" + }, + "type": "array", + "description": "Data disk assignments for ranges from this computation." + } + }, + "id": "StreamingComputationRanges" + }, "ExecutionStageSummary": { "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": { + "outputSource": { + "description": "Output sources for this stage.", + "items": { + "$ref": "StageSource" + }, + "type": "array" + }, + "name": { + "description": "Dataflow service generated name for this stage.", + "type": "string" + }, + "inputSource": { + "description": "Input sources for this stage.", + "items": { + "$ref": "StageSource" + }, + "type": "array" + }, + "id": { + "type": "string", + "description": "Dataflow service generated id for this stage." + }, "componentTransform": { "description": "Transforms that comprise this execution stage.", "items": { @@ -2650,17 +4624,6 @@ "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", @@ -2673,33 +4636,39 @@ "SHUFFLE_KIND" ], "description": "Type of tranform this stage is executing.", - "type": "string" - }, - "outputSource": { - "description": "Output sources for this stage.", - "items": { - "$ref": "StageSource" - }, - "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.", - "type": "string" + "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." + ] } }, "id": "ExecutionStageSummary" }, + "LogBucket": { + "description": "Bucket of values for Distribution's logarithmic histogram.", + "type": "object", + "properties": { + "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" + }, + "count": { + "format": "int64", + "description": "Number of values in this bucket.", + "type": "string" + } + }, + "id": "LogBucket" + }, "SendWorkerMessagesRequest": { "description": "A request for sending worker messages to the service.", "type": "object", @@ -2718,32 +4687,10 @@ }, "id": "SendWorkerMessagesRequest" }, - "LogBucket": { - "description": "Bucket of values for Distribution's logarithmic histogram.", + "SourceSplitShard": { "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": { "properties": { "derivationMode": { - "enumDescriptions": [ - "The source derivation is unknown, or unspecified.", - "Produce a completely independent Source with no base.", - "Produce a Source based on the Source being split.", - "Produce a Source based on the base of the Source being split." - ], "enum": [ "SOURCE_DERIVATION_MODE_UNKNOWN", "SOURCE_DERIVATION_MODE_INDEPENDENT", @@ -2751,7 +4698,13 @@ "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT" ], "description": "DEPRECATED", - "type": "string" + "type": "string", + "enumDescriptions": [ + "The source derivation is unknown, or unspecified.", + "Produce a completely independent Source with no base.", + "Produce a Source based on the Source being split.", + "Produce a Source based on the base of the Source being split." + ] }, "source": { "$ref": "Source", @@ -2759,13 +4712,15 @@ } }, "id": "SourceSplitShard", - "description": "DEPRECATED in favor of DerivedSource.", - "type": "object" + "description": "DEPRECATED in favor of DerivedSource." }, "CPUTime": { - "description": "Modeled after information exposed by /proc/stat.", - "type": "object", "properties": { + "rate": { + "format": "double", + "description": "Average CPU utilization rate (% non-idle cpu / second) since previous\nsample.", + "type": "number" + }, "timestamp": { "format": "google-datetime", "description": "Timestamp of the measurement.", @@ -2775,48 +4730,21 @@ "format": "uint64", "description": "Total active CPU time across all cores (ie., non-idle) in milliseconds\nsince start-up.", "type": "string" - }, - "rate": { - "type": "number", - "format": "double", - "description": "Average CPU utilization rate (% non-idle cpu / second) since previous\nsample." } }, - "id": "CPUTime" + "id": "CPUTime", + "description": "Modeled after information exposed by /proc/stat.", + "type": "object" }, "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": { + "sdkPipelineOptions": { + "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", "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" + "type": "any", + "description": "Properties of the object." + } }, "userAgent": { "additionalProperties": { @@ -2826,14 +4754,6 @@ "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" @@ -2848,10 +4768,42 @@ "$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" + }, + "internalExperiments": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Experimental settings.", + "type": "object" + }, + "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" + }, + "serviceAccountEmail": { + "type": "string", + "description": "Identity to run virtual machines as. Defaults to the default account." } }, "id": "Environment", - "description": "Describes the environment in which a Dataflow Job runs." + "description": "Describes the environment in which a Dataflow Job runs.", + "type": "object" }, "StreamingComputationTask": { "description": "A task which describes what action should be performed for the specified\nstreaming computation ranges.", @@ -2865,18 +4817,18 @@ "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" + "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)." + ] }, "computationRanges": { "description": "Contains ranges of a streaming computation this task should apply to.", @@ -2893,10 +4845,6 @@ "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" @@ -2908,6 +4856,10 @@ "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" } } }, @@ -2916,14 +4868,20 @@ "type": "object", "properties": { "config": { - "type": "string", - "description": "The encoded debug configuration for the requested component." + "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": { + "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" @@ -2931,21 +4889,15 @@ "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" + "id": "ComponentTransform" }, "StreamingSetupTask": { "properties": { "streamingComputationTopology": { - "description": "The global topology of the streaming Dataflow job.", - "$ref": "TopologyConfig" + "$ref": "TopologyConfig", + "description": "The global topology of the streaming Dataflow job." }, "drain": { "description": "The user has requested drain.", @@ -2957,9 +4909,9 @@ "type": "integer" }, "receiveWorkPort": { - "type": "integer", "format": "int32", - "description": "The TCP port on which the worker should listen for messages from\nother streaming computation workers." + "description": "The TCP port on which the worker should listen for messages from\nother streaming computation workers.", + "type": "integer" } }, "id": "StreamingSetupTask", @@ -2967,8 +4919,29 @@ "type": "object" }, "PubsubLocation": { + "description": "Identifies a pubsub location to use for transferring data into or\nout of a streaming Dataflow job.", "type": "object", "properties": { + "withAttributes": { + "description": "If true, then the client has requested to get pubsub attributes.", + "type": "boolean" + }, + "idLabel": { + "type": "string", + "description": "If set, contains a pubsub label from which to extract record ids.\nIf left empty, record deduplication will be strictly best effort." + }, + "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": { + "type": "string", + "description": "A pubsub topic, in the form of\n\"pubsub.googleapis.com/topics/\u003cproject-id\u003e/\u003ctopic-name\u003e\"" + }, + "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" @@ -2976,43 +4949,20 @@ "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." + "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": "object" + } }, "type": "array" }, @@ -3022,26 +4972,25 @@ "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." + "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" + "id": "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" }, "JobMessage": { "description": "A particular message pertaining to a Dataflow job.", "type": "object", "properties": { - "id": { - "description": "Deprecated.", - "type": "string" - }, "messageImportance": { + "description": "Importance level of the message.", "type": "string", "enumDescriptions": [ "The message importance isn't specified, or is unknown.", @@ -3058,8 +5007,7 @@ "JOB_MESSAGE_BASIC", "JOB_MESSAGE_WARNING", "JOB_MESSAGE_ERROR" - ], - "description": "Importance level of the message." + ] }, "messageText": { "description": "The text of the message.", @@ -3069,14 +5017,28 @@ "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": { + "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" + }, "helpText": { "description": "Required. The help text to display for the parameter.", "type": "string" @@ -3088,20 +5050,10 @@ "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" + "id": "ParameterMetadata", + "description": "Metadata for a specific parameter." }, "MultiOutputInfo": { "description": "Information about an output of a multi-output DoFn.", @@ -3123,8 +5075,8 @@ "description": "Hints for tuning the splitting process." }, "source": { - "$ref": "Source", - "description": "Specification of the source to be split." + "description": "Specification of the source to be split.", + "$ref": "Source" } }, "id": "SourceSplitRequest" @@ -3139,1851 +5091,13 @@ } }, "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" + "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": "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" - } - } - } - }, - "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" + "baseUrl": "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 3946733..a472f83 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"` @@ -4176,6 +4189,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 +4960,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 @@ -6057,6 +6104,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 +6227,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 +6504,46 @@ 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: Optional reason to be attached for the shutdown notice. + // For example: "PREEMPTION" would indicate the VM is being shut down + // because + // of preemption. Other possible reasons may be added in the future. + 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 +6713,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 +7524,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 +7676,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 +9485,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 +9632,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 4297086..97292b3 100644 --- a/vendor/google.golang.org/api/dataproc/v1/dataproc-api.json +++ b/vendor/google.golang.org/api/dataproc/v1/dataproc-api.json @@ -1,403 +1,32 @@ { + "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", + "revision": "20170822", "documentationLink": "https://cloud.google.com/dataproc/", - "revision": "20170523", + "id": "dataproc:v1", "title": "Google Cloud Dataproc API", - "ownerName": "Google", "discoveryVersion": "v1", + "ownerName": "Google", "resources": { "projects": { "resources": { "regions": { "resources": { - "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" - }, - "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "required": true, - "type": "string", - "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:cancel" - }, - "delete": { - "parameters": { - "name": { - "description": "The name of the operation resource to be deleted.", - "required": true, - "type": "string", - "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}", - "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" - }, - "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": [ - "name" - ], - "response": { - "$ref": "ListOperationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "location": "path", - "description": "The name of the operation's parent resource.", - "required": true, - "type": "string", - "pattern": "^projects/[^/]+/regions/[^/]+/operations$" - }, - "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, - "type": "string", - "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", - "location": "path" - } - }, - "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" - }, - "parameterOrder": [ - "projectId", - "region", - "jobId" - ], - "httpMethod": "GET", - "parameters": { - "projectId": { - "location": "path", - "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", - "required": true, - "type": "string" - }, - "jobId": { - "description": "Required. The job ID.", - "required": true, - "type": "string", - "location": "path" - }, - "region": { - "required": true, - "type": "string", - "location": "path", - "description": "Required. The Cloud Dataproc region in which to handle the request." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}" - }, - "submit": { - "request": { - "$ref": "SubmitJobRequest" - }, - "description": "Submits a job to a cluster.", - "httpMethod": "POST", - "parameterOrder": [ - "projectId", - "region" - ], - "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" - ], - "flatPath": "v1/projects/{projectId}/regions/{region}/jobs:submit", - "id": "dataproc.projects.regions.jobs.submit", - "path": "v1/projects/{projectId}/regions/{region}/jobs:submit" - }, - "delete": { - "description": "Deletes the job from the project. If the job is active, the delete fails, and the response returns FAILED_PRECONDITION.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "projectId", - "region", - "jobId" - ], - "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.", - "required": true, - "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.delete" - }, - "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" - }, - "parameterOrder": [ - "projectId", - "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.", - "required": true, - "type": "string" - }, - "clusterName": { - "description": "Optional. If set, the returned jobs list includes only jobs that were submitted to the named cluster.", - "type": "string", - "location": "query" - }, - "projectId": { - "required": true, - "type": "string", - "location": "path", - "description": "Required. The ID of the Google Cloud Platform project that the job belongs to." - }, - "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" - } - }, - "flatPath": "v1/projects/{projectId}/regions/{region}/jobs" - }, - "cancel": { - "httpMethod": "POST", - "parameterOrder": [ - "projectId", - "region", - "jobId" - ], - "response": { - "$ref": "Job" - }, - "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", - "description": "Starts a job cancellation request. To access the job resource after cancellation, call regions/{region}/jobs.list or regions/{region}/jobs.get.", - "request": { - "$ref": "CancelJobRequest" - } - } - } - }, "clusters": { "methods": { "list": { @@ -409,34 +38,57 @@ "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" - }, - "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" - }, "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" + }, + "pageSize": { + "format": "int32", + "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.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/projects/{projectId}/regions/{region}/clusters", + "id": "dataproc.projects.regions.clusters.list", + "path": "v1/projects/{projectId}/regions/{region}/clusters", + "description": "Lists all regions/{region}/clusters in a project." + }, + "create": { + "parameters": { + "region": { + "location": "path", + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true + }, + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to." } }, "scopes": [ @@ -444,16 +96,499 @@ ], "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." - }, - "create": { + "id": "dataproc.projects.regions.clusters.create", + "description": "Creates a cluster in a project.", "request": { "$ref": "Cluster" }, - "description": "Creates a cluster in a project.", + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "region" + ], "response": { "$ref": "Operation" + } + }, + "get": { + "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "id": "dataproc.projects.regions.clusters.get", + "description": "Gets the resource representation for a cluster in a project.", + "httpMethod": "GET", + "parameterOrder": [ + "projectId", + "region", + "clusterName" + ], + "response": { + "$ref": "Cluster" + }, + "parameters": { + "clusterName": { + "description": "Required. The cluster name.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to." + }, + "region": { + "type": "string", + "required": true, + "location": "path", + "description": "Required. The Cloud Dataproc region in which to handle the request." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}" + }, + "patch": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "region", + "clusterName" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "updateMask": { + "type": "string", + "location": "query", + "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" + }, + "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 + }, + "projectId": { + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project the cluster belongs to.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "id": "dataproc.projects.regions.clusters.patch", + "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "request": { + "$ref": "Cluster" + }, + "description": "Updates a cluster in a project." + }, + "diagnose": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "region", + "clusterName" + ], + "httpMethod": "POST", + "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 + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose", + "id": "dataproc.projects.regions.clusters.diagnose", + "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose", + "description": "Gets cluster diagnostic information. After the operation completes, the Operation.response field contains DiagnoseClusterOutputLocation.", + "request": { + "$ref": "DiagnoseClusterRequest" + } + }, + "delete": { + "httpMethod": "DELETE", + "parameterOrder": [ + "projectId", + "region", + "clusterName" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "clusterName": { + "location": "path", + "description": "Required. The cluster name.", + "type": "string", + "required": true + }, + "projectId": { + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", + "type": "string", + "required": true + }, + "region": { + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "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.delete", + "description": "Deletes a cluster in a project." + } + } + }, + "operations": { + "methods": { + "cancel": { + "path": "v1/{+name}:cancel", + "id": "dataproc.projects.regions.operations.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", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "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": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:cancel" + }, + "delete": { + "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.", + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "name": { + "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", + "location": "path", + "description": "The name of the operation resource to be deleted.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}" + }, + "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": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}", + "id": "dataproc.projects.regions.operations.get", + "path": "v1/{+name}" + }, + "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.", + "response": { + "$ref": "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": { + "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/[^/]+/regions/[^/]+/operations$" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + } + }, + "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations", + "id": "dataproc.projects.regions.operations.list", + "path": "v1/{+name}" + } + } + }, + "jobs": { + "methods": { + "list": { + "flatPath": "v1/projects/{projectId}/regions/{region}/jobs", + "path": "v1/projects/{projectId}/regions/{region}/jobs", + "id": "dataproc.projects.regions.jobs.list", + "description": "Lists regions/{region}/jobs in a project.", + "httpMethod": "GET", + "parameterOrder": [ + "projectId", + "region" + ], + "response": { + "$ref": "ListJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "filter": { + "type": "string", + "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 = *" + }, + "jobStateMatcher": { + "type": "string", + "location": "query", + "enum": [ + "ALL", + "ACTIVE", + "NON_ACTIVE" + ], + "description": "Optional. Specifies enumerated categories of jobs to list (default = match ALL jobs)." + }, + "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", + "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" + } + } + }, + "cancel": { + "flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel", + "id": "dataproc.projects.regions.jobs.cancel", + "path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel", + "description": "Starts a job cancellation request. To access the job resource after cancellation, call regions/{region}/jobs.list or regions/{region}/jobs.get.", + "request": { + "$ref": "CancelJobRequest" + }, + "response": { + "$ref": "Job" + }, + "parameterOrder": [ + "projectId", + "region", + "jobId" + ], + "httpMethod": "POST", + "parameters": { + "jobId": { + "type": "string", + "required": true, + "location": "path", + "description": "Required. The job ID." + }, + "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" + ] + }, + "get": { + "flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", + "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.", + "httpMethod": "GET", + "response": { + "$ref": "Job" + }, + "parameterOrder": [ + "projectId", + "region", + "jobId" + ], + "parameters": { + "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" + }, + "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" + ] + }, + "patch": { + "response": { + "$ref": "Job" + }, + "parameterOrder": [ + "projectId", + "region", + "jobId" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "updateMask": { + "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", + "location": "query" + }, + "region": { + "type": "string", + "required": true, + "location": "path", + "description": "Required. The Cloud Dataproc region in which to handle the request." + }, + "jobId": { + "description": "Required. The job ID.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to." + } + }, + "flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", + "id": "dataproc.projects.regions.jobs.patch", + "path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", + "request": { + "$ref": "Job" + }, + "description": "Updates a job in a project." + }, + "submit": { + "response": { + "$ref": "Job" }, "parameterOrder": [ "projectId", @@ -462,188 +597,66 @@ "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" - }, - "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" - }, - "projectId": { - "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", - "required": true, "type": "string", + "required": true, + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to." + }, + "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}/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", + "flatPath": "v1/projects/{projectId}/regions/{region}/jobs:submit", + "id": "dataproc.projects.regions.jobs.submit", + "path": "v1/projects/{projectId}/regions/{region}/jobs:submit", + "description": "Submits a job to a cluster.", "request": { - "$ref": "Cluster" - }, - "description": "Updates a cluster in a project.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "projectId", - "region", - "clusterName" - ], - "httpMethod": "PATCH" + "$ref": "SubmitJobRequest" + } }, "delete": { - "description": "Deletes a cluster in a project.", "httpMethod": "DELETE", - "response": { - "$ref": "Operation" - }, "parameterOrder": [ "projectId", "region", - "clusterName" + "jobId" ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "region": { - "description": "Required. The Cloud Dataproc region in which to handle the request.", - "required": true, - "type": "string", - "location": "path" - }, - "clusterName": { - "location": "path", - "description": "Required. The cluster name.", - "required": true, - "type": "string" - }, - "projectId": { - "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", - "required": true, - "type": "string", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", - "id": "dataproc.projects.regions.clusters.delete", - "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}" - }, - "diagnose": { - "request": { - "$ref": "DiagnoseClusterRequest" - }, - "description": "Gets cluster diagnostic information. After the operation completes, the Operation.response field contains DiagnoseClusterOutputLocation.", "response": { - "$ref": "Operation" + "$ref": "Empty" }, - "parameterOrder": [ - "projectId", - "region", - "clusterName" - ], - "httpMethod": "POST", "parameters": { "region": { - "description": "Required. The Cloud Dataproc region in which to handle the request.", - "required": true, "type": "string", - "location": "path" + "required": true, + "location": "path", + "description": "Required. The Cloud Dataproc region in which to handle the request." }, - "clusterName": { - "description": "Required. The cluster name.", - "required": true, + "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 cluster belongs to.", + "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}/clusters/{clusterName}:diagnose", - "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose", - "id": "dataproc.projects.regions.clusters.diagnose" + "flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", + "path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", + "id": "dataproc.projects.regions.jobs.delete", + "description": "Deletes the job from the project. If the job is active, the delete fails, and the response returns FAILED_PRECONDITION." } } } @@ -653,31 +666,10 @@ } }, "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": { - "description": "Pretty-print response.", - "type": "boolean", - "default": "true", - "location": "query" - }, "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" }, "bearer_token": { "location": "query", @@ -685,45 +677,51 @@ "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", "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": { + "uploadType": { "location": "query", - "description": "JSONP", + "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" + "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": [ @@ -731,80 +729,238 @@ "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" + "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": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" } }, "schemas": { - "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.", + "ClusterOperationMetadata": { + "description": "Metadata describing the operation.", "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", + "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" + }, + "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": { + "type": "string", + "description": "Output-only. Name of the cluster for the operation." + }, + "clusterUuid": { + "description": "Output-only. Cluster UUID for the operation.", + "type": "string" + } + }, + "id": "ClusterOperationMetadata" + }, + "HiveJob": { + "description": "A Cloud Dataproc job for running Apache Hive (https://hive.apache.org/) queries on YARN.", + "type": "object", + "properties": { + "queryList": { + "description": "A list of queries.", + "$ref": "QueryList" + }, + "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 CLASSPATHs of the Python driver and tasks.", - "type": "array", "items": { "type": "string" + }, + "type": "array", + "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." + }, + "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" + } + }, + "id": "HiveJob" + }, + "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" + }, + "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": { + "description": "Optional. The Google Compute Engine config settings for additional worker instances in a cluster.", + "$ref": "InstanceGroupConfig" + }, + "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": { + "$ref": "InstanceGroupConfig", + "description": "Optional. The Google Compute Engine config settings for worker instances in a cluster." + }, + "gceClusterConfig": { + "$ref": "GceClusterConfig", + "description": "Required. The shared Google Compute Engine config settings for all instances in a cluster." + }, + "softwareConfig": { + "description": "Optional. The config settings for software inside the cluster.", + "$ref": "SoftwareConfig" + } + }, + "id": "ClusterConfig" + }, + "PySparkJob": { + "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" - } + }, + "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" }, "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" }, + "type": "array" + }, + "fileUris": { + "items": { + "type": "string" + }, + "type": "array", "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" - } + }, + "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" + "id": "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" }, "GceClusterConfig": { "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" + "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,82 +969,85 @@ "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": { + "type": "boolean", + "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." + }, "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" - } + }, + "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. Example: https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0.", + "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). 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].", + "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" } }, "id": "GceClusterConfig" }, - "ClusterMetrics": { - "properties": { - "yarnMetrics": { - "additionalProperties": { - "format": "int64", - "type": "string" - }, - "description": "The YARN metrics.", - "type": "object" - }, - "hdfsMetrics": { - "additionalProperties": { - "format": "int64", - "type": "string" - }, - "description": "The HDFS metrics.", - "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)", + "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": { - "description": "The number of the accelerator cards of this type exposed to this instance.", "format": "int32", + "description": "The number of the accelerator cards of this type exposed to this instance.", "type": "integer" } }, "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": { + "description": "The YARN metrics.", + "type": "object", + "additionalProperties": { + "format": "int64", + "type": "string" + } + }, + "hdfsMetrics": { + "description": "The HDFS metrics.", + "type": "object", + "additionalProperties": { + "format": "int64", + "type": "string" + } + } + }, + "id": "ClusterMetrics" + }, "LoggingConfig": { + "description": "The runtime logging config of the job.", + "type": "object", "properties": { "driverLogLevels": { "additionalProperties": { + "type": "string", "enum": [ "LEVEL_UNSPECIFIED", "ALL", @@ -899,54 +1058,40 @@ "ERROR", "FATAL", "OFF" - ], - "type": "string" + ] }, "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" } }, - "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": { + "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": { + "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": { + "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.", @@ -956,67 +1101,31 @@ }, "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" + "id": "JobReference", + "description": "Encapsulates the full scoping used to reference a job." }, "SubmitJobRequest": { + "description": "A request to submit a job.", "type": "object", "properties": { "job": { - "description": "Required. The job resource.", - "$ref": "Job" + "$ref": "Job", + "description": "Required. The job resource." } }, - "id": "SubmitJobRequest", - "description": "A request to submit a job." + "id": "SubmitJobRequest" }, "Status": { "id": "Status", @@ -1024,8 +1133,8 @@ "type": "object", "properties": { "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": { @@ -1033,20 +1142,31 @@ "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", "items": { + "type": "object", "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." } } }, + "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": { @@ -1067,93 +1187,82 @@ "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." + "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" }, "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", + "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." }, "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" - } }, - "id": "JobScheduling", - "description": "Job scheduling options.Beta Feature: These options are available for testing purposes only. They may be changed before final release." + "id": "InstanceGroupConfig" }, "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" - } + }, + "type": "array" }, "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." + "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": { - "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.", "type": "string" } }, - "id": "NodeInitializationAction" + "id": "NodeInitializationAction", + "description": "Specifies an executable to run on a fully configured node and a timeout period for executable completion." }, "CancelJobRequest": { - "description": "A request to cancel a job.", "type": "object", "properties": {}, - "id": "CancelJobRequest" + "id": "CancelJobRequest", + "description": "A request to cancel a job." }, "SparkSqlJob": { + "id": "SparkSqlJob", "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." + "jarFileUris": { + "description": "Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.", + "items": { + "type": "string" + }, + "type": "array" }, "scriptVariables": { "additionalProperties": { @@ -1162,16 +1271,9 @@ "description": "Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET name=\"value\";).", "type": "object" }, - "jarFileUris": { - "description": "Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.", - "type": "array", - "items": { - "type": "string" - } - }, "loggingConfig": { - "$ref": "LoggingConfig", - "description": "Optional. The runtime log config for job execution." + "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 SQL's SparkConf. Properties that conflict with values set by the Cloud Dataproc API may be overwritten.", @@ -1179,13 +1281,18 @@ "additionalProperties": { "type": "string" } + }, + "queryFileUri": { + "description": "The HCFS URI of the script that contains SQL queries.", + "type": "string" + }, + "queryList": { + "description": "A list of queries.", + "$ref": "QueryList" } - }, - "id": "SparkSqlJob" + } }, "Cluster": { - "description": "Describes the identifying information, config, and status of a cluster of Google Compute Engine instances.", - "type": "object", "properties": { "labels": { "additionalProperties": { @@ -1195,240 +1302,113 @@ "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" + "$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." }, "status": { "description": "Output-only. Cluster status.", "$ref": "ClusterStatus" }, - "statusHistory": { - "description": "Output-only. The previous cluster status.", - "type": "array", - "items": { - "$ref": "ClusterStatus" - } - }, "config": { "$ref": "ClusterConfig", "description": "Required. The cluster config. Note that Cloud Dataproc may set default values, and values may change when clusters are updated." }, - "clusterName": { - "description": "Required. The cluster name. Cluster names within a project must be unique. Names of deleted clusters can be reused.", - "type": "string" + "statusHistory": { + "description": "Output-only. The previous cluster status.", + "items": { + "$ref": "ClusterStatus" + }, + "type": "array" }, "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" + "id": "Cluster", + "description": "Describes the identifying information, config, and status of a cluster of Google Compute Engine instances.", + "type": "object" }, "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" - }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "type": "array", - "items": { - "$ref": "Operation" - } } }, "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": { + "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": { "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", + "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" - }, - "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", - "description": "Specifies the selection and config of software inside the cluster." - }, - "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", - "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" - ] - } - }, - "id": "ClusterStatus" + "id": "SoftwareConfig" }, "PigJob": { + "description": "A Cloud Dataproc job for running Apache Pig (https://pig.apache.org/) queries on YARN.", "type": "object", "properties": { "scriptVariables": { + "type": "object", "additionalProperties": { "type": "string" }, - "description": "Optional. Mapping of query variable names to values (equivalent to the Pig command: name=[value]).", - "type": "object" + "description": "Optional. Mapping of query variable names to values (equivalent to the Pig command: name=[value])." }, "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", + "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." }, "loggingConfig": { - "$ref": "LoggingConfig", - "description": "Optional. The runtime log config for job execution." + "description": "Optional. The runtime log config for job execution.", + "$ref": "LoggingConfig" }, "properties": { "additionalProperties": { @@ -1442,39 +1422,108 @@ "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." + "id": "PigJob" }, - "ListClustersResponse": { - "description": "The list of all clusters in a project.", + "ClusterStatus": { + "description": "The status of a cluster and its instances.", "type": "object", "properties": { - "clusters": { - "description": "Output-only. The clusters in the project.", - "type": "array", - "items": { - "$ref": "Cluster" - } + "detail": { + "description": "Output-only. Optional details of cluster's state.", + "type": "string" }, - "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.", + "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" + }, + "substate": { + "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" + ], + "description": "Output-only. Additional state information that includes status reported by the agent.", + "type": "string" + }, + "stateStartTime": { + "format": "google-datetime", + "description": "Output-only. Time when this state was entered.", "type": "string" } }, - "id": "ListClustersResponse" + "id": "ClusterStatus" + }, + "ListClustersResponse": { + "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", + "description": "The list of all clusters in a project." }, "Job": { "description": "A Cloud Dataproc job resource.", "type": "object", "properties": { + "placement": { + "$ref": "JobPlacement", + "description": "Required. Job information, including how, when, and where to run the job." + }, + "status": { + "$ref": "JobStatus", + "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." + }, + "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": { + "description": "Optional. Job scheduling configuration.", + "$ref": "JobScheduling" + }, + "pigJob": { + "$ref": "PigJob", + "description": "Job is a Pig job." + }, "hiveJob": { "$ref": "HiveJob", "description": "Job is a Hive job." @@ -1490,31 +1539,31 @@ "description": "Output-only. A URI pointing to the location of the stdout of the job's driver program.", "type": "string" }, + "sparkSqlJob": { + "$ref": "SparkSqlJob", + "description": "Job is a SparkSql job." + }, + "statusHistory": { + "description": "Output-only. The previous job status.", + "items": { + "$ref": "JobStatus" + }, + "type": "array" + }, "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" - } + }, + "type": "array" }, "pysparkJob": { - "description": "Job is a Pyspark job.", - "$ref": "PySparkJob" + "$ref": "PySparkJob", + "description": "Job is a Pyspark job." }, "reference": { "$ref": "JobReference", @@ -1523,89 +1572,83 @@ "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": { + "description": "A Cloud Dataproc job for running Apache Spark (http://spark.apache.org/) applications on YARN.", + "type": "object", "properties": { + "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.", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, "loggingConfig": { - "description": "Optional. The runtime log config for job execution.", - "$ref": "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 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" - }, - "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" - } + }, + "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.", - "type": "array", "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.", - "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" + "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", @@ -1619,72 +1662,59 @@ "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." + "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." + ] + }, + "stateStartTime": { + "format": "google-datetime", + "description": "Output-only. The time when this state was entered.", + "type": "string" } }, - "id": "JobStatus" + "id": "JobStatus", + "description": "Cloud Dataproc job status.", + "type": "object" }, "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" + }, + "instanceGroupManagerName": { + "description": "Output-only. The name of the Instance Group Manager for this group.", + "type": "string" } }, - "id": "ManagedGroupConfig", - "description": "Specifies the resources used to actively manage an instance group." + "id": "ManagedGroupConfig" }, "ClusterOperationStatus": { + "id": "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", @@ -1692,51 +1722,35 @@ "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" + "type": "string", + "enumDescriptions": [ + "Unused.", + "The operation has been created.", + "The operation is running.", + "The operation is done; either cancelled or completed." + ] }, "innerState": { - "description": "Output-only. A message containing the detailed operation state.", - "type": "string" + "type": "string", + "description": "Output-only. A message containing the detailed operation state." }, "stateStartTime": { - "description": "Output-only. The time this state was entered.", "format": "google-datetime", + "description": "Output-only. The time this state was entered.", "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", + "jarFileUris": { + "description": "Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop driver and tasks.", "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" - } + "type": "array" }, "loggingConfig": { "description": "Optional. The runtime log config for job execution.", @@ -1751,21 +1765,50 @@ }, "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" - } + }, + "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.", - "type": "array", "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" + }, + "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" } }, "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": { "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.", @@ -1776,11 +1819,22 @@ "type": "string" }, "progress": { - "description": "Required. The numerical progress of the application, from 1 to 100.", "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", @@ -1793,18 +1847,7 @@ "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." - ] + "type": "string" }, "name": { "description": "Required. The application name.", @@ -1812,20 +1855,6 @@ } } }, - "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", @@ -1833,184 +1862,28 @@ "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", + "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": { + "type": "integer", + "format": "int32", + "description": "Optional. Size in GB of the boot disk (default is 500GB)." } }, - "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.", + "id": "DiskConfig", + "description": "Specifies the config of disk options for a group of VM instances.", "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" } }, + "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": "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/" + "baseUrl": "https://dataproc.googleapis.com/" } 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 3fad6fb..f700362 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/datastore/v1/datastore-api.json b/vendor/google.golang.org/api/datastore/v1/datastore-api.json index 553e0d9..7f7114c 100644 --- a/vendor/google.golang.org/api/datastore/v1/datastore-api.json +++ b/vendor/google.golang.org/api/datastore/v1/datastore-api.json @@ -1,37 +1,47 @@ { + "basePath": "", + "ownerDomain": "google.com", + "name": "datastore", + "batchPath": "batch", + "id": "datastore:v1", + "documentationLink": "https://cloud.google.com/datastore/", + "revision": "20170821", + "title": "Google Cloud Datastore API", + "discoveryVersion": "v1", + "ownerName": "Google", + "version_module": true, "resources": { "projects": { "methods": { - "commit": { + "allocateIds": { + "path": "v1/projects/{projectId}:allocateIds", + "id": "datastore.projects.allocateIds", "request": { - "$ref": "CommitRequest" - }, - "description": "Commits a transaction, optionally creating, deleting or modifying some\nentities.", - "response": { - "$ref": "CommitResponse" + "$ref": "AllocateIdsRequest" }, + "description": "Allocates IDs for the given keys, which is useful for referencing an entity\nbefore it is inserted.", + "httpMethod": "POST", "parameterOrder": [ "projectId" ], - "httpMethod": "POST", + "response": { + "$ref": "AllocateIdsResponse" + }, "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 + "required": true, + "location": "path" } }, - "flatPath": "v1/projects/{projectId}:commit", - "id": "datastore.projects.commit", - "path": "v1/projects/{projectId}:commit" + "flatPath": "v1/projects/{projectId}:allocateIds" }, "beginTransaction": { - "flatPath": "v1/projects/{projectId}:beginTransaction", "id": "datastore.projects.beginTransaction", "path": "v1/projects/{projectId}:beginTransaction", "description": "Begins a new transaction.", @@ -45,55 +55,6 @@ "projectId" ], "httpMethod": "POST", - "parameters": { - "projectId": { - "location": "path", - "description": "The ID of the project against which to make the request.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/datastore" - ] - }, - "runQuery": { - "response": { - "$ref": "RunQueryResponse" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "POST", - "parameters": { - "projectId": { - "location": "path", - "description": "The ID of the project 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": "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.", @@ -106,50 +67,100 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/datastore" ], + "flatPath": "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": { + "path": "v1/projects/{projectId}:runQuery", + "id": "datastore.projects.runQuery", + "description": "Queries for entities.", + "request": { + "$ref": "RunQueryRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "RunQueryResponse" + }, + "parameters": { + "projectId": { + "location": "path", + "description": "The ID of the project 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": "v1/projects/{projectId}:runQuery" + }, + "rollback": { + "response": { + "$ref": "RollbackResponse" + }, + "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}:rollback", - "path": "v1/projects/{projectId}:rollback", "id": "datastore.projects.rollback", - "description": "Rolls back a transaction.", + "path": "v1/projects/{projectId}:rollback", "request": { "$ref": "RollbackRequest" - } + }, + "description": "Rolls back a transaction." }, "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" - }, - "allocateIds": { - "request": { - "$ref": "AllocateIdsRequest" - }, - "description": "Allocates IDs for the given keys, which is useful for referencing an entity\nbefore it is inserted.", - "response": { - "$ref": "AllocateIdsResponse" - }, "parameterOrder": [ "projectId" ], @@ -160,15 +171,141 @@ ], "parameters": { "projectId": { + "location": "path", "description": "The ID of the project against which to make the request.", "type": "string", - "required": true, - "location": "path" + "required": true } }, - "flatPath": "v1/projects/{projectId}:allocateIds", - "id": "datastore.projects.allocateIds", - "path": "v1/projects/{projectId}:allocateIds" + "flatPath": "v1/projects/{projectId}:lookup", + "id": "datastore.projects.lookup", + "path": "v1/projects/{projectId}:lookup" + } + }, + "resources": { + "operations": { + "methods": { + "get": { + "httpMethod": "GET", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "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.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": { + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ], + "parameters": { + "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": { + "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", + "path": "v1/{+name}/operations", + "id": "datastore.projects.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." + }, + "cancel": { + "httpMethod": "POST", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "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", + "https://www.googleapis.com/auth/datastore" + ], + "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel", + "path": "v1/{+name}:cancel", + "id": "datastore.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": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "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", + "https://www.googleapis.com/auth/datastore" + ], + "flatPath": "v1/projects/{projectsId}/operations/{operationsId}", + "id": "datastore.projects.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`." + } + } } } } @@ -180,20 +317,20 @@ "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", + "type": "boolean", "location": "query" }, "uploadType": { - "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" + "type": "string", + "location": "query" + }, + "fields": { + "type": "string", + "location": "query", + "description": "Selector specifying which fields to include in a partial response." }, "callback": { "location": "query", @@ -201,8 +338,6 @@ "type": "string" }, "$.xgafv": { - "description": "V1 error format.", - "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -211,14 +346,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", @@ -227,22 +359,27 @@ ], "location": "query", "description": "Data format for response.", - "default": "json" + "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": { "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": { + "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.", - "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." }, "pp": { "location": "query", @@ -256,476 +393,41 @@ "type": "string" }, "bearer_token": { - "description": "OAuth bearer token.", "type": "string", - "location": "query" + "location": "query", + "description": "OAuth bearer token." } }, "schemas": { - "Filter": { - "properties": { - "compositeFilter": { - "$ref": "CompositeFilter", - "description": "A composite filter." - }, - "propertyFilter": { - "$ref": "PropertyFilter", - "description": "A filter on a property." - } - }, - "id": "Filter", - "description": "A holder for any type of filter.", - "type": "object" - }, - "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" - } - }, - "id": "RollbackRequest" - }, - "RunQueryRequest": { - "properties": { - "gqlQuery": { - "$ref": "GqlQuery", - "description": "The GQL query to run." - }, - "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." - }, - "readOptions": { - "$ref": "ReadOptions", - "description": "The options for this query." - }, - "query": { - "description": "The query to run.", - "$ref": "Query" - } - }, - "id": "RunQueryRequest", - "description": "The request for Datastore.RunQuery.", - "type": "object" - }, - "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": { - "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" - } - }, - "id": "CompositeFilter" - }, - "AllocateIdsResponse": { - "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", - "description": "The response for Datastore.AllocateIds.", - "type": "object" - }, - "Query": { - "description": "A query for entities.", - "type": "object", - "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." - }, - "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" - } - }, - "id": "Query" - }, - "PropertyFilter": { - "description": "A filter on a specific property.", - "type": "object", - "properties": { - "value": { - "description": "The value to compare the property to.", - "$ref": "Value" - }, - "property": { - "$ref": "PropertyReference", - "description": "The property to filter by." - }, - "op": { - "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", - "enumDescriptions": [ - "Unspecified. This value must not be used.", - "Less than.", - "Less than or equal.", - "Greater than.", - "Greater than or equal.", - "Equal.", - "Has ancestor." - ] - } - }, - "id": "PropertyFilter" - }, - "EntityResult": { - "description": "The result of fetching an entity from Datastore.", - "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" - }, - "Value": { - "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" - }, - "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": { - "enumDescriptions": [ - "Null value." - ], - "enum": [ - "NULL_VALUE" - ], - "description": "A null value.", - "type": "string" - }, - "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": { - "$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`." - } - }, - "id": "Value", - "description": "A message that can hold any of the supported value types and associated\nmetadata.", - "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" - }, - "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": { - "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" - }, - "Entity": { - "properties": { - "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" - }, - "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.", - "type": "string" - }, - "skippedCursor": { - "format": "byte", - "description": "A cursor that points to the position after the last skipped result.\nWill be set when `skipped_results` != 0.", - "type": "string" - }, - "skippedResults": { - "format": "int32", - "description": "The number of results skipped, typically because of an offset.", - "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.", - "A projected subset of properties. The entity may have no key.", - "Only the key." - ], - "enum": [ - "RESULT_TYPE_UNSPECIFIED", - "FULL", - "PROJECTION", - "KEY_ONLY" - ] - } - }, - "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" - }, - "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" - }, - "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": "PathElement" - }, - "GqlQueryParameter": { - "description": "A binding parameter for a GQL query.", - "type": "object", - "properties": { - "cursor": { - "format": "byte", - "description": "A query cursor. Query cursors are returned in query\nresult batches.", - "type": "string" - }, - "value": { - "description": "A value parameter.", - "$ref": "Value" - } - }, - "id": "GqlQueryParameter" - }, "BeginTransactionResponse": { "description": "The response for Datastore.BeginTransaction.", "type": "object", "properties": { "transaction": { + "type": "string", "format": "byte", - "description": "The transaction identifier (always present).", - "type": "string" + "description": "The transaction identifier (always present)." } }, "id": "BeginTransactionResponse" }, + "RunQueryResponse": { + "id": "RunQueryResponse", + "description": "The response for Datastore.RunQuery.", + "type": "object", + "properties": { + "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)." + } + } + }, "AllocateIdsRequest": { + "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.", @@ -736,10 +438,10 @@ } }, "id": "AllocateIdsRequest", - "description": "The request for Datastore.AllocateIds.", - "type": "object" + "description": "The request for Datastore.AllocateIds." }, "LookupResponse": { + "id": "LookupResponse", "description": "The response for Datastore.Lookup.", "type": "object", "properties": { @@ -764,32 +466,16 @@ }, "type": "array" } - }, - "id": "LookupResponse" - }, - "RunQueryResponse": { - "description": "The response for Datastore.RunQuery.", - "type": "object", - "properties": { - "query": { - "description": "The parsed form of the `GqlQuery` from the request, if it was set.", - "$ref": "Query" - }, - "batch": { - "$ref": "QueryResultBatch", - "description": "A batch of query results (always present)." - } - }, - "id": "RunQueryResponse" + } }, "CommitRequest": { "description": "The request for Datastore.Commit.", "type": "object", "properties": { "transaction": { + "type": "string", "format": "byte", - "description": "The identifier of the transaction associated with the commit. A\ntransaction identifier is returned by a call to\nDatastore.BeginTransaction.", - "type": "string" + "description": "The identifier of the transaction associated with the commit. A\ntransaction identifier is returned by a call to\nDatastore.BeginTransaction." }, "mode": { "enumDescriptions": [ @@ -816,12 +502,20 @@ "id": "CommitRequest" }, "BeginTransactionRequest": { + "properties": { + "transactionOptions": { + "$ref": "TransactionOptions", + "description": "Options for a new transaction." + } + }, + "id": "BeginTransactionRequest", "description": "The request for Datastore.BeginTransaction.", - "type": "object", - "properties": {}, - "id": "BeginTransactionRequest" + "type": "object" }, "PropertyOrder": { + "id": "PropertyOrder", + "description": "The desired order for a specific property.", + "type": "object", "properties": { "direction": { "enum": [ @@ -838,16 +532,12 @@ ] }, "property": { - "$ref": "PropertyReference", - "description": "The property to order by." + "description": "The property to order by.", + "$ref": "PropertyReference" } - }, - "id": "PropertyOrder", - "description": "The desired order for a specific property.", - "type": "object" + } }, "KindExpression": { - "description": "A representation of a kind.", "type": "object", "properties": { "name": { @@ -855,26 +545,30 @@ "type": "string" } }, - "id": "KindExpression" + "id": "KindExpression", + "description": "A representation of a kind." }, "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" + }, + "latitude": { + "format": "double", + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", + "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": { + "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", "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.", @@ -884,54 +578,143 @@ "type": "array" }, "partitionId": { - "description": "Entities are partitioned into subsets, currently identified by a project\nID and namespace ID.\nQueries are scoped to a single partition.", - "$ref": "PartitionId" + "$ref": "PartitionId", + "description": "Entities are partitioned into subsets, currently identified by a project\nID and namespace ID.\nQueries are scoped to a single partition." } - }, - "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" + } }, "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.", + "id": "PropertyReference" + }, + "GoogleDatastoreAdminV1beta1EntityFilter": { + "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", + "description": "Identifies a subset of entities in a project. This is specified as\ncombinations of kind + namespace (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" }, + "GoogleDatastoreAdminV1beta1CommonMetadata": { + "id": "GoogleDatastoreAdminV1beta1CommonMetadata", + "description": "Metadata common to all Datastore Admin operations.", + "type": "object", + "properties": { + "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" + }, + "state": { + "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\nlongrunning.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\nlongrunning.Operations.CancelOperation." + ], + "enum": [ + "STATE_UNSPECIFIED", + "INITIALIZING", + "PROCESSING", + "CANCELLING", + "FINALIZING", + "SUCCESSFUL", + "FAILED", + "CANCELLED" + ] + }, + "operationType": { + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "EXPORT_ENTITIES", + "IMPORT_ENTITIES", + "BUILD_INDEX", + "CLEAR_INDEX" + ], + "description": "The type of the operation. Can be used as a filter in\nListOperationsRequest.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "ExportEntities.", + "ImportEntities.", + "Build an index.", + "Clear an index." + ] + }, + "startTime": { + "format": "google-datetime", + "description": "The time that work began on the operation.", + "type": "string" + } + } + }, "Projection": { + "description": "A representation of a property in a projection.", + "type": "object", "properties": { "property": { "$ref": "PropertyReference", "description": "The property to project." } }, - "id": "Projection", - "description": "A representation of a property in a projection.", - "type": "object" + "id": "Projection" }, "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" + "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." } }, "id": "ArrayValue" }, "Mutation": { + "id": "Mutation", "description": "A mutation to apply to an entity.", "type": "object", "properties": { + "upsert": { + "$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." + }, "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." @@ -942,45 +725,40 @@ "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" + "$ref": "Entity", + "description": "The entity to insert. The entity must not already exist.\nThe entity key's final path element may be incomplete." }, "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": { + "description": "The options shared by read requests.", + "type": "object", "properties": { "transaction": { + "type": "string", "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" + "description": "The identifier of the transaction in which to read. A\ntransaction identifier is returned by a call to\nDatastore.BeginTransaction." }, "readConsistency": { + "enum": [ + "READ_CONSISTENCY_UNSPECIFIED", + "STRONG", + "EVENTUAL" + ], "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" + "id": "ReadOptions" }, "RollbackResponse": { "description": "The response for Datastore.Rollback.\n(an empty message).", @@ -988,6 +766,17 @@ "properties": {}, "id": "RollbackResponse" }, + "GoogleDatastoreAdminV1beta1ExportEntitiesResponse": { + "description": "The response for\ngoogle.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.", + "type": "object", + "properties": { + "outputUrl": { + "type": "string", + "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." + } + }, + "id": "GoogleDatastoreAdminV1beta1ExportEntitiesResponse" + }, "MutationResult": { "description": "The result of applying a mutation.", "type": "object", @@ -1002,13 +791,15 @@ "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" } }, "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).", @@ -1022,27 +813,666 @@ "type": "array" }, "namedBindings": { + "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", "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": "GqlQuery" + }, + "Filter": { + "description": "A holder for any type of filter.", + "type": "object", + "properties": { + "compositeFilter": { + "$ref": "CompositeFilter", + "description": "A composite filter." + }, + "propertyFilter": { + "$ref": "PropertyFilter", + "description": "A filter on a property." + } + }, + "id": "Filter" + }, + "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" + } + }, + "id": "RollbackRequest" + }, + "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" + }, + "RunQueryRequest": { + "id": "RunQueryRequest", + "description": "The request for Datastore.RunQuery.", + "type": "object", + "properties": { + "readOptions": { + "$ref": "ReadOptions", + "description": "The options for this query." + }, + "query": { + "description": "The query to run.", + "$ref": "Query" + }, + "gqlQuery": { + "$ref": "GqlQuery", + "description": "The GQL query to run." + }, + "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." + } + } + }, + "GoogleDatastoreAdminV1beta1ExportEntitiesMetadata": { + "type": "object", + "properties": { + "common": { + "$ref": "GoogleDatastoreAdminV1beta1CommonMetadata", + "description": "Metadata common to all Datastore Admin operations." + }, + "progressBytes": { + "description": "An estimate of the number of bytes processed.", + "$ref": "GoogleDatastoreAdminV1beta1Progress" + }, + "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": { + "description": "An estimate of the number of entities processed.", + "$ref": "GoogleDatastoreAdminV1beta1Progress" + } + }, + "id": "GoogleDatastoreAdminV1beta1ExportEntitiesMetadata", + "description": "Metadata for ExportEntities operations." + }, + "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": { + "$ref": "ReadOnly", + "description": "The transaction should only allow reads." + }, + "readWrite": { + "description": "The transaction should allow both reads and writes.", + "$ref": "ReadWrite" + } + }, + "id": "TransactionOptions" + }, + "CompositeFilter": { + "properties": { + "op": { + "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." + ], + "enum": [ + "OPERATOR_UNSPECIFIED", + "AND" + ] + }, + "filters": { + "description": "The list of filters to combine.\nMust contain at least one filter.", + "items": { + "$ref": "Filter" + }, + "type": "array" + } + }, + "id": "CompositeFilter", + "description": "A filter that merges multiple other filters using the given operator.", "type": "object" + }, + "GoogleDatastoreAdminV1beta1ImportEntitiesMetadata": { + "description": "Metadata for ImportEntities operations.", + "type": "object", + "properties": { + "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": { + "$ref": "GoogleDatastoreAdminV1beta1Progress", + "description": "An estimate of the number of bytes processed." + }, + "entityFilter": { + "$ref": "GoogleDatastoreAdminV1beta1EntityFilter", + "description": "Description of which entities are being imported." + } + }, + "id": "GoogleDatastoreAdminV1beta1ImportEntitiesMetadata" + }, + "AllocateIdsResponse": { + "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", + "description": "The response for Datastore.AllocateIds." + }, + "Query": { + "properties": { + "projection": { + "items": { + "$ref": "Projection" + }, + "type": "array", + "description": "The projection to return. Defaults to returning all properties." + }, + "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" + }, + "filter": { + "description": "The filter to apply.", + "$ref": "Filter" + }, + "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" + }, + "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" + }, + "order": { + "description": "The order to apply to the query results (if empty, order is unspecified).", + "items": { + "$ref": "PropertyOrder" + }, + "type": "array" + } + }, + "id": "Query", + "description": "A query for entities.", + "type": "object" + }, + "GoogleLongrunningOperation": { + "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\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" + }, + "response": { + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + }, + "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": "GoogleLongrunningOperation", + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call." + }, + "ReadOnly": { + "type": "object", + "properties": {}, + "id": "ReadOnly", + "description": "Options specific to read-only transactions." + }, + "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": { + "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" + }, + "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": { + "$ref": "Entity", + "description": "The resulting entity." + } + }, + "id": "EntityResult", + "description": "The result of fetching an entity from Datastore." + }, + "CommitResponse": { + "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" + } + }, + "id": "CommitResponse", + "description": "The response for Datastore.Commit.", + "type": "object" + }, + "Value": { + "description": "A message that can hold any of the supported value types and associated\nmetadata.", + "type": "object", + "properties": { + "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": { + "$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`." + }, + "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": { + "description": "A geo point value representing a point on the surface of Earth.", + "$ref": "LatLng" + }, + "keyValue": { + "description": "A key value.", + "$ref": "Key" + }, + "integerValue": { + "format": "int64", + "description": "An integer value.", + "type": "string" + }, + "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": { + "type": "number", + "format": "double", + "description": "A double value." + } + }, + "id": "Value" + }, + "PartitionId": { + "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": "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." + }, + "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": { + "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": { + "$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." + } + }, + "id": "Entity" + }, + "ReadWrite": { + "description": "Options specific to read / write transactions.", + "type": "object", + "properties": { + "previousTransaction": { + "type": "string", + "format": "byte", + "description": "The transaction identifier of the transaction being retried." + } + }, + "id": "ReadWrite" + }, + "LookupRequest": { + "description": "The request for Datastore.Lookup.", + "type": "object", + "properties": { + "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" + }, + "QueryResultBatch": { + "description": "A batch of results produced by a query.", + "type": "object", + "properties": { + "skippedCursor": { + "format": "byte", + "description": "A cursor that points to the position after the last skipped result.\nWill be set when `skipped_results` != 0.", + "type": "string" + }, + "skippedResults": { + "format": "int32", + "description": "The number of results skipped, typically because of an offset.", + "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.", + "A projected subset of properties. The entity may have no key.", + "Only the key." + ], + "enum": [ + "RESULT_TYPE_UNSPECIFIED", + "FULL", + "PROJECTION", + "KEY_ONLY" + ] + }, + "entityResults": { + "description": "The results for this batch.", + "items": { + "$ref": "EntityResult" + }, + "type": "array" + }, + "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 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" + ] + }, + "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.", + "type": "string" + } + }, + "id": "QueryResultBatch" + }, + "GoogleDatastoreAdminV1beta1Progress": { + "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": "Note that this may be greater than work_estimated.", + "type": "string" + } + }, + "id": "GoogleDatastoreAdminV1beta1Progress", + "description": "Measures the progress of a particular metric.", + "type": "object" + }, + "PathElement": { + "type": "object", + "properties": { + "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" + }, + "kind": { + "type": "string", + "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 `\"\"`." + }, + "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." + }, + "GqlQueryParameter": { + "description": "A binding parameter for a GQL query.", + "type": "object", + "properties": { + "cursor": { + "format": "byte", + "description": "A query cursor. Query cursors are returned in query\nresult batches.", + "type": "string" + }, + "value": { + "$ref": "Value", + "description": "A value parameter." + } + }, + "id": "GqlQueryParameter" + }, + "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" + }, + "GoogleLongrunningListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "type": "object", + "properties": { + "nextPageToken": { + "type": "string", + "description": "The standard List next-page token." + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "GoogleLongrunningOperation" + }, + "type": "array" + } + }, + "id": "GoogleLongrunningListOperationsResponse" } }, - "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://datastore.googleapis.com/", "auth": { @@ -1060,16 +1490,5 @@ "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", - "batchPath": "batch", - "id": "datastore:v1", - "documentationLink": "https://cloud.google.com/datastore/", - "revision": "20170626", - "title": "Google Cloud Datastore API", - "ownerName": "Google", - "discoveryVersion": "v1", - "version_module": "True" + "rootUrl": "https://datastore.googleapis.com/" } 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 dc3f54e..9094f31 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. + // "BUILD_INDEX" - Build an index. + // "CLEAR_INDEX" - Clear an index. + 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 + // 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 + // 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 kind + namespace (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: 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/v1beta3/datastore-api.json b/vendor/google.golang.org/api/datastore/v1beta3/datastore-api.json index 19478cb..22950c8 100644 --- a/vendor/google.golang.org/api/datastore/v1beta3/datastore-api.json +++ b/vendor/google.golang.org/api/datastore/v1beta3/datastore-api.json @@ -1,214 +1,20 @@ { - "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", - "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" - }, - "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}:runQuery", - "id": "datastore.projects.runQuery", - "path": "v1beta3/projects/{projectId}:runQuery" - }, - "rollback": { - "flatPath": "v1beta3/projects/{projectId}:rollback", - "path": "v1beta3/projects/{projectId}:rollback", - "id": "datastore.projects.rollback", - "description": "Rolls back a transaction.", - "request": { - "$ref": "RollbackRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "projectId" - ], - "response": { - "$ref": "RollbackResponse" - }, - "parameters": { - "projectId": { - "location": "path", - "description": "The ID of the project against which to make the request.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/datastore" - ] - }, - "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": "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\").", "type": "string" }, "prettyPrint": { - "location": "query", "description": "Returns response with indentations and line breaks.", "default": "true", - "type": "boolean" + "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", @@ -216,26 +22,24 @@ "type": "string" }, "callback": { + "type": "string", "location": "query", - "description": "JSONP", - "type": "string" + "description": "JSONP" }, "$.xgafv": { - "enum": [ - "1", - "2" - ], "description": "V1 error format.", "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" ], - "location": "query" + "location": "query", + "enum": [ + "1", + "2" + ] }, "alt": { - "description": "Data format for response.", - "default": "json", "enum": [ "json", "media", @@ -247,587 +51,45 @@ "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": { - "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" }, + "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" } }, "schemas": { - "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": { - "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" - }, - "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": { - "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." - }, - "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" - } - }, - "id": "Entity" - }, - "QueryResultBatch": { - "description": "A batch of results produced by a query.", - "type": "object", - "properties": { - "skippedCursor": { - "format": "byte", - "description": "A cursor that points to the position after the last skipped result.\nWill be set when `skipped_results` != 0.", - "type": "string" - }, - "skippedResults": { - "format": "int32", - "description": "The number of results skipped, typically because of an offset.", - "type": "integer" - }, - "entityResultType": { - "enumDescriptions": [ - "Unspecified. This value is never used.", - "The key and properties.", - "A projected subset of properties. The entity may have no key.", - "Only the key." - ], - "enum": [ - "RESULT_TYPE_UNSPECIFIED", - "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": { - "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." - ], - "enum": [ - "MORE_RESULTS_TYPE_UNSPECIFIED", - "NOT_FINISHED", - "MORE_RESULTS_AFTER_LIMIT", - "MORE_RESULTS_AFTER_CURSOR", - "NO_MORE_RESULTS" - ] - }, - "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.", - "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" - }, - "PathElement": { - "properties": { - "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" - }, - "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" - }, - "GqlQueryParameter": { - "description": "A binding parameter for a GQL query.", - "type": "object", - "properties": { - "cursor": { - "format": "byte", - "description": "A query cursor. Query cursors are returned in query\nresult batches.", - "type": "string" - }, - "value": { - "$ref": "Value", - "description": "A value parameter." - } - }, - "id": "GqlQueryParameter" - }, - "BeginTransactionResponse": { - "description": "The response for Datastore.BeginTransaction.", - "type": "object", - "properties": { - "transaction": { - "format": "byte", - "description": "The transaction identifier (always present).", - "type": "string" - } - }, - "id": "BeginTransactionResponse" - }, - "RunQueryResponse": { - "description": "The response for Datastore.RunQuery.", - "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" - } - }, - "id": "RunQueryResponse" - }, - "LookupResponse": { - "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": { - "$ref": "EntityResult" - }, - "type": "array" - }, - "found": { - "description": "Entities found as `ResultType.FULL` entities. The order of results in this\nfield is undefined and has no relation to the order of the keys in the\ninput.", - "items": { - "$ref": "EntityResult" - }, - "type": "array" - } - }, - "id": "LookupResponse", - "description": "The response for Datastore.Lookup.", - "type": "object" - }, - "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" - }, - "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" - }, - "CommitRequest": { - "properties": { - "transaction": { - "format": "byte", - "description": "The identifier of the transaction associated with the commit. A\ntransaction identifier is returned by a call to\nDatastore.BeginTransaction.", - "type": "string" - }, - "mode": { - "description": "The type of commit to perform. Defaults to `TRANSACTIONAL`.", - "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." - ], - "enum": [ - "MODE_UNSPECIFIED", - "TRANSACTIONAL", - "NON_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" - } - }, - "id": "CommitRequest", - "description": "The request for Datastore.Commit.", - "type": "object" - }, - "BeginTransactionRequest": { - "properties": {}, - "id": "BeginTransactionRequest", - "description": "The request for Datastore.BeginTransaction.", - "type": "object" - }, - "KindExpression": { - "properties": { - "name": { - "description": "The name of the kind.", - "type": "string" - } - }, - "id": "KindExpression", - "description": "A representation of a kind.", - "type": "object" - }, - "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", - "description": "Entities are partitioned into subsets, currently identified by a project\nID and namespace ID.\nQueries are scoped to a single partition." - }, - "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.", - "items": { - "$ref": "PathElement" - }, - "type": "array" - } - }, - "id": "Key" - }, - "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": { - "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" - }, - "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" - }, - "Projection": { - "properties": { - "property": { - "description": "The property to project.", - "$ref": "PropertyReference" - } - }, - "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", - "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": { - "$ref": "Entity", - "description": "The entity to insert. The entity must not already exist.\nThe entity key's final path element may be incomplete." - }, - "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" - }, - "RollbackResponse": { - "properties": {}, - "id": "RollbackResponse", - "description": "The response for Datastore.Rollback.\n(an empty message).", - "type": "object" - }, - "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).", - "type": "object" - }, - "Filter": { - "description": "A holder for any type of filter.", - "type": "object", - "properties": { - "propertyFilter": { - "description": "A filter on a property.", - "$ref": "PropertyFilter" - }, - "compositeFilter": { - "$ref": "CompositeFilter", - "description": "A composite filter." - } - }, - "id": "Filter" - }, - "RunQueryRequest": { - "properties": { - "readOptions": { - "$ref": "ReadOptions", - "description": "The options for this query." - }, - "query": { - "description": "The query to run.", - "$ref": "Query" - }, - "gqlQuery": { - "$ref": "GqlQuery", - "description": "The GQL query to run." - }, - "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." - } - }, - "id": "RunQueryRequest", - "description": "The request for Datastore.RunQuery.", - "type": "object" - }, - "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" - } - }, - "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" - }, - "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" - } - }, - "id": "CompositeFilter" - }, "AllocateIdsResponse": { + "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.", @@ -838,18 +100,12 @@ } }, "id": "AllocateIdsResponse", - "description": "The response for Datastore.AllocateIds.", - "type": "object" + "description": "The response for Datastore.AllocateIds." }, "Query": { + "description": "A query for entities.", + "type": "object", "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": { @@ -894,21 +150,32 @@ "$ref": "PropertyReference" }, "type": "array" + }, + "order": { + "description": "The order to apply to the query results (if empty, order is unspecified).", + "items": { + "$ref": "PropertyOrder" + }, + "type": "array" } }, - "id": "Query", - "description": "A query for entities.", - "type": "object" + "id": "Query" + }, + "ReadOnly": { + "id": "ReadOnly", + "description": "Options specific to read-only transactions.", + "type": "object", + "properties": {} }, "PropertyFilter": { "properties": { "value": { - "description": "The value to compare the property to.", - "$ref": "Value" + "$ref": "Value", + "description": "The value to compare the property to." }, "property": { - "description": "The property to filter by.", - "$ref": "PropertyReference" + "$ref": "PropertyReference", + "description": "The property to filter by." }, "op": { "enumDescriptions": [ @@ -938,6 +205,8 @@ "type": "object" }, "EntityResult": { + "description": "The result of fetching an entity from Datastore.", + "type": "object", "properties": { "cursor": { "format": "byte", @@ -950,37 +219,58 @@ "type": "string" }, "entity": { - "$ref": "Entity", - "description": "The resulting entity." + "description": "The resulting entity.", + "$ref": "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" + "id": "EntityResult" }, "Value": { "description": "A message that can hold any of the supported value types and associated\nmetadata.", "type": "object", "properties": { + "doubleValue": { + "type": "number", + "format": "double", + "description": "A double value." + }, + "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": { + "$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`." + }, + "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": { "$ref": "LatLng", "description": "A geo point value representing a point on the surface of Earth." @@ -999,60 +289,793 @@ "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." + "type": "boolean", + "description": "If the value should be excluded from all indexes including those defined\nexplicitly." } }, "id": "Value" + }, + "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" + } + }, + "id": "CommitResponse" + }, + "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": { + "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" + }, + "Entity": { + "properties": { + "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." + }, + "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" + } + }, + "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" + }, + "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" + }, + "LookupRequest": { + "description": "The request for Datastore.Lookup.", + "type": "object", + "properties": { + "keys": { + "description": "Keys of entities to look up.", + "items": { + "$ref": "Key" + }, + "type": "array" + }, + "readOptions": { + "$ref": "ReadOptions", + "description": "The options for this lookup request." + } + }, + "id": "LookupRequest" + }, + "QueryResultBatch": { + "properties": { + "skippedCursor": { + "format": "byte", + "description": "A cursor that points to the position after the last skipped result.\nWill be set when `skipped_results` != 0.", + "type": "string" + }, + "skippedResults": { + "type": "integer", + "format": "int32", + "description": "The number of results skipped, typically because of an offset." + }, + "entityResultType": { + "enumDescriptions": [ + "Unspecified. This value is never used.", + "The key and properties.", + "A projected subset of properties. The entity may have no key.", + "Only the key." + ], + "enum": [ + "RESULT_TYPE_UNSPECIFIED", + "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": { + "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", + "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." + ] + }, + "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.", + "type": "string" + } + }, + "id": "QueryResultBatch", + "description": "A batch of results produced by a query.", + "type": "object" + }, + "GoogleDatastoreAdminV1beta1Progress": { + "description": "Measures the progress of a particular metric.", + "type": "object", + "properties": { + "workEstimated": { + "type": "string", + "format": "int64", + "description": "An estimate of how much work needs to be performed. May be zero if the\nwork estimate is unavailable." + }, + "workCompleted": { + "format": "int64", + "description": "Note that this may be greater than work_estimated.", + "type": "string" + } + }, + "id": "GoogleDatastoreAdminV1beta1Progress" + }, + "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": { + "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" + }, + "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": { + "id": "GqlQueryParameter", + "description": "A binding parameter for a GQL query.", + "type": "object", + "properties": { + "value": { + "description": "A value parameter.", + "$ref": "Value" + }, + "cursor": { + "format": "byte", + "description": "A query cursor. Query cursors are returned in query\nresult batches.", + "type": "string" + } + } + }, + "BeginTransactionResponse": { + "type": "object", + "properties": { + "transaction": { + "format": "byte", + "description": "The transaction identifier (always present).", + "type": "string" + } + }, + "id": "BeginTransactionResponse", + "description": "The response for Datastore.BeginTransaction." + }, + "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" + }, + "LookupResponse": { + "description": "The response for Datastore.Lookup.", + "type": "object", + "properties": { + "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": { + "$ref": "EntityResult" + }, + "type": "array" + }, + "found": { + "description": "Entities found as `ResultType.FULL` entities. The order of results in this\nfield is undefined and has no relation to the order of the keys in the\ninput.", + "items": { + "$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" + }, + "RunQueryResponse": { + "description": "The response for Datastore.RunQuery.", + "type": "object", + "properties": { + "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)." + } + }, + "id": "RunQueryResponse" + }, + "CommitRequest": { + "id": "CommitRequest", + "description": "The request for Datastore.Commit.", + "type": "object", + "properties": { + "mode": { + "description": "The type of commit to perform. Defaults to `TRANSACTIONAL`.", + "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." + ], + "enum": [ + "MODE_UNSPECIFIED", + "TRANSACTIONAL", + "NON_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" + }, + "transaction": { + "type": "string", + "format": "byte", + "description": "The identifier of the transaction associated with the commit. A\ntransaction identifier is returned by a call to\nDatastore.BeginTransaction." + } + } + }, + "BeginTransactionRequest": { + "description": "The request for Datastore.BeginTransaction.", + "type": "object", + "properties": { + "transactionOptions": { + "$ref": "TransactionOptions", + "description": "Options for a new transaction." + } + }, + "id": "BeginTransactionRequest" + }, + "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": { + "$ref": "PropertyReference", + "description": "The property to order by." + } + }, + "id": "PropertyOrder" + }, + "KindExpression": { + "id": "KindExpression", + "description": "A representation of a kind.", + "type": "object", + "properties": { + "name": { + "description": "The name of the kind.", + "type": "string" + } + } + }, + "LatLng": { + "properties": { + "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", + "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" + }, + "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", + "description": "Entities are partitioned into subsets, currently identified by a project\nID and namespace ID.\nQueries are scoped to a single partition." + }, + "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.", + "items": { + "$ref": "PathElement" + }, + "type": "array" + } + }, + "id": "Key" + }, + "PropertyReference": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the property.\nIf name includes \".\"s, it may be interpreted as a property name path." + } + }, + "id": "PropertyReference", + "description": "A reference to a property relative to the kind expressions." + }, + "GoogleDatastoreAdminV1beta1EntityFilter": { + "description": "Identifies a subset of entities in a project. This is specified as\ncombinations of kind + namespace (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": { + "items": { + "type": "string" + }, + "type": "array", + "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." + } + }, + "id": "GoogleDatastoreAdminV1beta1EntityFilter" + }, + "GoogleDatastoreAdminV1beta1CommonMetadata": { + "type": "object", + "properties": { + "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" + }, + "state": { + "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\nlongrunning.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\nlongrunning.Operations.CancelOperation." + ], + "enum": [ + "STATE_UNSPECIFIED", + "INITIALIZING", + "PROCESSING", + "CANCELLING", + "FINALIZING", + "SUCCESSFUL", + "FAILED", + "CANCELLED" + ], + "description": "The current state of the Operation." + }, + "operationType": { + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "EXPORT_ENTITIES", + "IMPORT_ENTITIES", + "BUILD_INDEX", + "CLEAR_INDEX" + ], + "description": "The type of the operation. Can be used as a filter in\nListOperationsRequest.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "ExportEntities.", + "ImportEntities.", + "Build an index.", + "Clear an index." + ] + } + }, + "id": "GoogleDatastoreAdminV1beta1CommonMetadata", + "description": "Metadata common to all Datastore Admin operations." + }, + "Projection": { + "description": "A representation of a property in a projection.", + "type": "object", + "properties": { + "property": { + "$ref": "PropertyReference", + "description": "The property to project." + } + }, + "id": "Projection" + }, + "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", + "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": { + "$ref": "Entity", + "description": "The entity to update. The entity must already exist.\nMust have a complete key path." + }, + "upsert": { + "$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": { + "type": "string", + "format": "byte", + "description": "The identifier of the transaction in which to read. A\ntransaction identifier is returned by a call to\nDatastore.BeginTransaction." + }, + "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": { + "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", + "description": "The response for\ngoogle.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities." + }, + "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": { + "key": { + "$ref": "Key", + "description": "The automatically allocated key.\nSet only when the mutation allocated a 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" + }, + "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" + } + }, + "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": { + "propertyFilter": { + "description": "A filter on a property.", + "$ref": "PropertyFilter" + }, + "compositeFilter": { + "description": "A composite filter.", + "$ref": "CompositeFilter" + } + }, + "id": "Filter" + }, + "RollbackRequest": { + "properties": { + "transaction": { + "format": "byte", + "description": "The transaction identifier, returned by a call to\nDatastore.BeginTransaction.", + "type": "string" + } + }, + "id": "RollbackRequest", + "description": "The request for Datastore.Rollback.", + "type": "object" + }, + "RunQueryRequest": { + "description": "The request for Datastore.RunQuery.", + "type": "object", + "properties": { + "readOptions": { + "$ref": "ReadOptions", + "description": "The options for this query." + }, + "query": { + "$ref": "Query", + "description": "The query to run." + }, + "gqlQuery": { + "$ref": "GqlQuery", + "description": "The GQL query to run." + }, + "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." + } + }, + "id": "RunQueryRequest" + }, + "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": { + "$ref": "GoogleDatastoreAdminV1beta1EntityFilter", + "description": "Description of which entities are being exported." + }, + "progressEntities": { + "$ref": "GoogleDatastoreAdminV1beta1Progress", + "description": "An estimate of the number of entities processed." + }, + "common": { + "description": "Metadata common to all Datastore Admin operations.", + "$ref": "GoogleDatastoreAdminV1beta1CommonMetadata" + } + }, + "id": "GoogleDatastoreAdminV1beta1ExportEntitiesMetadata" + }, + "TransactionOptions": { + "properties": { + "readOnly": { + "$ref": "ReadOnly", + "description": "The transaction should only allow reads." + }, + "readWrite": { + "$ref": "ReadWrite", + "description": "The transaction should allow both reads and writes." + } + }, + "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" + }, + "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": { + "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." + ], + "enum": [ + "OPERATOR_UNSPECIFIED", + "AND" + ] + } + }, + "id": "CompositeFilter" + }, + "GoogleDatastoreAdminV1beta1ImportEntitiesMetadata": { + "description": "Metadata for ImportEntities operations.", + "type": "object", + "properties": { + "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" + }, + "common": { + "description": "Metadata common to all Datastore Admin operations.", + "$ref": "GoogleDatastoreAdminV1beta1CommonMetadata" + } + }, + "id": "GoogleDatastoreAdminV1beta1ImportEntitiesMetadata" } }, - "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": "v1beta3", "baseUrl": "https://datastore.googleapis.com/", "auth": { @@ -1067,9 +1090,193 @@ } } }, - "servicePath": "", "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.\n", "kind": "discovery#restDescription", + "servicePath": "", "rootUrl": "https://datastore.googleapis.com/", - "basePath": "" + "basePath": "", + "ownerDomain": "google.com", + "name": "datastore", + "batchPath": "batch", + "id": "datastore:v1beta3", + "documentationLink": "https://cloud.google.com/datastore/", + "revision": "20170821", + "title": "Google Cloud Datastore API", + "discoveryVersion": "v1", + "ownerName": "Google", + "version_module": true, + "resources": { + "projects": { + "methods": { + "allocateIds": { + "flatPath": "v1beta3/projects/{projectId}:allocateIds", + "id": "datastore.projects.allocateIds", + "path": "v1beta3/projects/{projectId}:allocateIds", + "request": { + "$ref": "AllocateIdsRequest" + }, + "description": "Allocates IDs for the given keys, which is useful for referencing an entity\nbefore it is inserted.", + "response": { + "$ref": "AllocateIdsResponse" + }, + "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" + } + } + }, + "beginTransaction": { + "response": { + "$ref": "BeginTransactionResponse" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "POST", + "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" + ], + "flatPath": "v1beta3/projects/{projectId}:beginTransaction", + "id": "datastore.projects.beginTransaction", + "path": "v1beta3/projects/{projectId}:beginTransaction", + "description": "Begins a new transaction.", + "request": { + "$ref": "BeginTransactionRequest" + } + }, + "commit": { + "httpMethod": "POST", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "CommitResponse" + }, + "parameters": { + "projectId": { + "location": "path", + "description": "The ID of the project 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": "v1beta3/projects/{projectId}:commit", + "path": "v1beta3/projects/{projectId}:commit", + "id": "datastore.projects.commit", + "description": "Commits a transaction, optionally creating, deleting or modifying some\nentities.", + "request": { + "$ref": "CommitRequest" + } + }, + "runQuery": { + "response": { + "$ref": "RunQueryResponse" + }, + "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": "v1beta3/projects/{projectId}:runQuery", + "id": "datastore.projects.runQuery", + "path": "v1beta3/projects/{projectId}:runQuery", + "request": { + "$ref": "RunQueryRequest" + }, + "description": "Queries for entities." + }, + "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", + "id": "datastore.projects.rollback", + "path": "v1beta3/projects/{projectId}:rollback", + "description": "Rolls back a transaction.", + "request": { + "$ref": "RollbackRequest" + } + }, + "lookup": { + "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" + ], + "flatPath": "v1beta3/projects/{projectId}: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": "LookupResponse" + } + } + } + } + } } 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 dfb8ff4..cb270d0 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. + // "BUILD_INDEX" - Build an index. + // "CLEAR_INDEX" - Clear an index. + 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 + // 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 + // 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 kind + namespace (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: 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 f3cb84c..6a2f90e 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/lwXBv2oKnZHlWhFoVnP7MCvgxkM\"", "discoveryVersion": "v1", "id": "deploymentmanager:alpha", "name": "deploymentmanager", "canonicalName": "Deployment Manager Alpha", "version": "alpha", - "revision": "20170615", + "revision": "20170810", "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", @@ -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", @@ -554,6 +565,10 @@ "counter": { "$ref": "LogConfigCounterOptions", "description": "Counter options." + }, + "dataAccess": { + "$ref": "LogConfigDataAccessOptions", + "description": "Data access options." } } }, @@ -562,6 +577,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 +590,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 +602,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", @@ -1816,7 +1846,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 +2032,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 +2104,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 9c2c972..c32b39f 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"` @@ -1088,6 +1118,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 +1146,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 +1178,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,6 +1231,36 @@ 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 *ConfigFile `json:"config,omitempty"` @@ -4271,7 +4362,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 +5132,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 +5427,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 6f0dc73..4ade52a 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/eM7CIlPIGQ4hwjtk5wTBsMjDIYI\"", "discoveryVersion": "v1", "id": "deploymentmanager:v2", "name": "deploymentmanager", "canonicalName": "Deployment Manager", "version": "v2", - "revision": "20170615", + "revision": "20170810", "title": "Google Cloud Deployment Manager API", "description": "Declares, configures, and deploys complex solutions on Google Cloud Platform.", "ownerDomain": "google.com", @@ -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", @@ -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", @@ -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 492aa1f..0b66cc9 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: @@ -765,6 +795,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 +823,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 +855,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,6 +908,36 @@ 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 *ConfigFile `json:"config,omitempty"` @@ -2558,7 +2649,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 +3419,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 +3714,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 e680e45..ce890af 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/zH6ziBf72Kyq5Tdoo3r-ue24Pmg\"", "discoveryVersion": "v1", "id": "deploymentmanager:v2beta", "name": "deploymentmanager", "canonicalName": "Deployment Manager V2Beta", "version": "v2beta", - "revision": "20170615", + "revision": "20170810", "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", @@ -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", @@ -554,6 +565,10 @@ "counter": { "$ref": "LogConfigCounterOptions", "description": "Counter options." + }, + "dataAccess": { + "$ref": "LogConfigDataAccessOptions", + "description": "Data access options." } } }, @@ -562,6 +577,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 +590,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 +602,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", @@ -1816,7 +1846,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 +2032,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 +2104,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 6a60dd6..8abd2d2 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 @@ -1088,6 +1118,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 +1146,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 +1178,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,6 +1231,36 @@ 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 *ConfigFile `json:"config,omitempty"` @@ -4270,7 +4361,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 +5131,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 +5426,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 84887ca..b4e85d9 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", @@ -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 c4fe7f6..e102041 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" @@ -38552,6 +38538,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 +38675,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 ad3d632..e52586c 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", @@ -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 3a49b36..b9e78d0 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" @@ -38850,6 +38843,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 +38980,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 b240e12..bf037a3 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", @@ -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 49e9085..0dc563c 100644 --- a/vendor/google.golang.org/api/dlp/v2beta1/dlp-api.json +++ b/vendor/google.golang.org/api/dlp/v2beta1/dlp-api.json @@ -1,360 +1,418 @@ { - "discoveryVersion": "v1", - "version_module": "True", - "schemas": { - "GooglePrivacyDlpV2beta1KindExpression": { - "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" + "ownerDomain": "google.com", + "name": "dlp", + "batchPath": "batch", + "title": "DLP API", + "ownerName": "Google", + "resources": { + "inspect": { + "resources": { + "results": { + "resources": { + "findings": { + "methods": { + "list": { + "response": { + "$ref": "GooglePrivacyDlpV2beta1ListInspectFindingsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "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": { + "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, + "pattern": "^inspect/results/[^/]+$" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum number of results to return.\nIf 0, the implementation selects a reasonable value.", + "type": "integer" + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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." + } + } + } + } }, "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "items": { - "$ref": "GoogleLongrunningOperation" + "methods": { + "cancel": { + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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": "^inspect/operations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2beta1/inspect/operations/{operationsId}:cancel", + "id": "dlp.inspect.operations.cancel", + "path": "v2beta1/{+name}:cancel", + "request": { + "$ref": "GoogleLongrunningCancelOperationRequest" + }, + "description": "Cancels an operation. Use the get method to check whether the cancellation succeeded or whether the operation completed despite cancellation." + }, + "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`.", + "httpMethod": "DELETE", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "parameterOrder": [ + "name" + ], + "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": "^inspect/operations/[^/]+$", + "location": "path" + } + } + }, + "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": { + "name": { + "description": "The name of the operation resource.", + "type": "string", + "required": true, + "pattern": "^inspect/operations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2beta1/inspect/operations/{operationsId}", + "id": "dlp.inspect.operations.get", + "path": "v2beta1/{+name}" + }, + "list": { + "id": "dlp.inspect.operations.list", + "path": "v2beta1/{+name}", + "description": "Fetch the list of long running operations.", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "pageSize": { + "format": "int32", + "description": "The list page size. The max allowed value is 256 and default is 100.", + "type": "integer", + "location": "query" + }, + "filter": { + "location": "query", + "description": "This parameter supports filtering by done, ie done=true or done=false.", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, + "name": { + "pattern": "^inspect/operations$", + "location": "path", + "description": "The name of the operation's parent resource.", + "type": "string", + "required": true + } + }, + "flatPath": "v2beta1/inspect/operations" + }, + "create": { + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "flatPath": "v2beta1/inspect/operations", + "id": "dlp.inspect.operations.create", + "path": "v2beta1/inspect/operations", + "request": { + "$ref": "GooglePrivacyDlpV2beta1CreateInspectOperationRequest" + }, + "description": "Schedules a job scanning content in a Google Cloud Platform data\nrepository." + } + } + } + } + }, + "rootCategories": { + "methods": { + "list": { + "httpMethod": "GET", + "parameterOrder": [], + "response": { + "$ref": "GooglePrivacyDlpV2beta1ListRootCategoriesResponse" }, - "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" - }, - "GooglePrivacyDlpV2beta1FileSet": { - "description": "Set of files to scan.", - "type": "object", - "properties": { - "url": { - "description": "The url, in the format `gs://\u003cbucket\u003e/\u003cpath\u003e`. Trailing wildcard in the\npath is allowed.", - "type": "string" - } - }, - "id": "GooglePrivacyDlpV2beta1FileSet" - }, - "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." - }, - "projection": { - "description": "Properties to scan. If none are specified, all properties will be scanned\nby default.", - "items": { - "$ref": "GooglePrivacyDlpV2beta1Projection" + "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" + } }, - "type": "array" - }, - "kind": { - "description": "The kind to process.", - "$ref": "GooglePrivacyDlpV2beta1KindExpression" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta1/rootCategories", + "path": "v2beta1/rootCategories", + "id": "dlp.rootCategories.list", + "description": "Returns the list of root categories of sensitive information." } }, - "id": "GooglePrivacyDlpV2beta1DatastoreOptions" - }, - "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.", - "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" - }, + "resources": { "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.", - "items": { - "$ref": "GooglePrivacyDlpV2beta1InfoType" + "methods": { + "list": { + "response": { + "$ref": "GooglePrivacyDlpV2beta1ListInfoTypesResponse" + }, + "parameterOrder": [ + "category" + ], + "httpMethod": "GET", + "parameters": { + "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": { + "pattern": "^[^/]+$", + "location": "path", + "description": "Category name as returned by ListRootCategories.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta1/rootCategories/{rootCategoriesId}/infoTypes", + "id": "dlp.rootCategories.infoTypes.list", + "path": "v2beta1/rootCategories/{+category}/infoTypes", + "description": "Returns sensitive information types for given category." + } + } + } + } + }, + "content": { + "methods": { + "inspect": { + "response": { + "$ref": "GooglePrivacyDlpV2beta1InspectContentResponse" }, - "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." + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" ], - "enum": [ - "LIKELIHOOD_UNSPECIFIED", - "VERY_UNLIKELY", - "UNLIKELY", - "POSSIBLE", - "LIKELY", - "VERY_LIKELY" + "parameters": {}, + "flatPath": "v2beta1/content:inspect", + "id": "dlp.content.inspect", + "path": "v2beta1/content: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." + }, + "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", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" ], - "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" + "parameters": {}, + "flatPath": "v2beta1/content:redact", + "id": "dlp.content.redact", + "path": "v2beta1/content:redact" } - }, - "id": "GooglePrivacyDlpV2beta1InspectConfig" + } + } + }, + "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" }, - "GooglePrivacyDlpV2beta1Projection": { - "description": "A representation of a Datastore property in a projection.", - "type": "object", - "properties": { - "property": { - "$ref": "GooglePrivacyDlpV2beta1PropertyReference", - "description": "The property to project." - } - }, - "id": "GooglePrivacyDlpV2beta1Projection" + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" }, - "GooglePrivacyDlpV2beta1DatastoreKey": { - "description": "Record key for a finding in Cloud Datastore.", - "type": "object", - "properties": { - "entityKey": { - "$ref": "GooglePrivacyDlpV2beta1Key", - "description": "Datastore entity key." - } - }, - "id": "GooglePrivacyDlpV2beta1DatastoreKey" + "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" }, - "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" + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" }, - "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" + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" }, - "GooglePrivacyDlpV2beta1RecordKey": { - "properties": { - "datastoreKey": { - "$ref": "GooglePrivacyDlpV2beta1DatastoreKey" - }, - "cloudStorageKey": { - "$ref": "GooglePrivacyDlpV2beta1CloudStorageKey" - } - }, - "id": "GooglePrivacyDlpV2beta1RecordKey", - "description": "Message for a unique key indicating a record that contains a finding.", - "type": "object" + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" }, - "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": { - "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": { - "$ref": "GooglePrivacyDlpV2beta1PathElement" - }, - "type": "array" - }, - "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." - } - }, - "id": "GooglePrivacyDlpV2beta1Key" + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" }, - "GooglePrivacyDlpV2beta1InspectContentRequest": { - "description": "Request to search for potentially sensitive info in a list of items.", - "type": "object", - "properties": { - "inspectConfig": { - "$ref": "GooglePrivacyDlpV2beta1InspectConfig", - "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.", - "items": { - "$ref": "GooglePrivacyDlpV2beta1ContentItem" - }, - "type": "array" - } - }, - "id": "GooglePrivacyDlpV2beta1InspectContentRequest" + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" }, - "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" + "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": { + "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", + "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": "v2beta1", + "baseUrl": "https://dlp.googleapis.com/", + "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.", + "servicePath": "", + "basePath": "", + "revision": "20170822", + "documentationLink": "https://cloud.google.com/dlp/docs/", + "id": "dlp:v2beta1", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { "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", - "description": "The operational data.", - "type": "object" - }, - "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." - } - }, - "id": "GooglePrivacyDlpV2beta1InfoTypeStatistics" - }, - "GooglePrivacyDlpV2beta1RedactContentResponse": { - "description": "Results of redacting a list of items.", - "type": "object", - "properties": { - "items": { - "description": "The redacted content.", - "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" + "id": "GooglePrivacyDlpV2beta1InspectOperationResult" }, "GooglePrivacyDlpV2beta1Range": { - "description": "Generic half-open interval [start, end)", - "type": "object", "properties": { "start": { "format": "int64", @@ -367,52 +425,38 @@ "type": "string" } }, - "id": "GooglePrivacyDlpV2beta1Range" - }, - "GooglePrivacyDlpV2beta1PropertyReference": { - "description": "A reference to a property relative to the Datastore 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": "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.", + "id": "GooglePrivacyDlpV2beta1Range", + "description": "Generic half-open interval [start, end)", "type": "object" }, - "GooglePrivacyDlpV2beta1InspectResult": { - "description": "All the findings for a single scanned item.", + "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": { + "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" + }, + "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" + } + }, + "id": "GoogleTypeTimeOfDay" + }, + "GooglePrivacyDlpV2beta1InspectResult": { "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.", @@ -426,7 +470,9 @@ "type": "array" } }, - "id": "GooglePrivacyDlpV2beta1InspectResult" + "id": "GooglePrivacyDlpV2beta1InspectResult", + "description": "All the findings for a single scanned item.", + "type": "object" }, "GooglePrivacyDlpV2beta1ImageLocation": { "description": "Bounding box encompassing detected text within an image.", @@ -455,123 +501,32 @@ }, "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": { - "storagePath": { - "$ref": "GooglePrivacyDlpV2beta1CloudStoragePath", - "description": "The path to a Google Cloud Storage location to store output." - } - }, - "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.", - "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.", - "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": "GoogleRpcStatus" - }, "GooglePrivacyDlpV2beta1StorageConfig": { "description": "Shared message indicating Cloud storage type.", "type": "object", "properties": { "cloudStorageOptions": { - "description": "Google Cloud Storage options specification.", - "$ref": "GooglePrivacyDlpV2beta1CloudStorageOptions" + "$ref": "GooglePrivacyDlpV2beta1CloudStorageOptions", + "description": "Google Cloud Storage options specification." }, "datastoreOptions": { "description": "Google Cloud Datastore options specification.", "$ref": "GooglePrivacyDlpV2beta1DatastoreOptions" + }, + "bigQueryOptions": { + "$ref": "GooglePrivacyDlpV2beta1BigQueryOptions", + "description": "BigQuery options specification." } }, "id": "GooglePrivacyDlpV2beta1StorageConfig" }, - "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" - }, - "metadata": { - "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.", - "type": "boolean" - }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "This field will contain an InspectOperationResult object.", - "type": "object" - }, - "name": { - "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.", "type": "object", "properties": { - "value": { - "description": "String data to inspect or redact.", - "type": "string" + "table": { + "description": "Structured content for inspection.", + "$ref": "GooglePrivacyDlpV2beta1Table" }, "data": { "format": "byte", @@ -581,71 +536,54 @@ "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" } }, "id": "GooglePrivacyDlpV2beta1ContentItem" }, - "GooglePrivacyDlpV2beta1InspectOperationMetadata": { - "description": "Metadata returned within GetOperation for an inspect request.", + "GooglePrivacyDlpV2beta1OperationConfig": { + "properties": { + "maxItemFindings": { + "format": "int64", + "description": "Max number of findings per file, Datastore entity, or database row.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1OperationConfig", + "description": "Additional configuration for inspect long running operations.", + "type": "object" + }, + "GooglePrivacyDlpV2beta1BigQueryOptions": { + "description": "Options defining BigQuery table and row identifiers.", "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.", - "type": "string" - }, - "infoTypeStats": { + "identifyingFields": { + "description": "References to fields uniquely identifying rows within the table.\nNested fields in the format, like `person.birthdate.year`, are allowed.", "items": { - "$ref": "GooglePrivacyDlpV2beta1InfoTypeStatistics" + "$ref": "GooglePrivacyDlpV2beta1FieldId" }, "type": "array" }, - "requestInspectConfig": { - "description": "The inspect config used to create the Operation.", - "$ref": "GooglePrivacyDlpV2beta1InspectConfig" - }, - "requestOutputConfig": { - "description": "Optional location to store findings.", - "$ref": "GooglePrivacyDlpV2beta1OutputStorageConfig" + "tableReference": { + "description": "Complete BigQuery table reference.", + "$ref": "GooglePrivacyDlpV2beta1BigQueryTable" } }, - "id": "GooglePrivacyDlpV2beta1InspectOperationMetadata" - }, - "GooglePrivacyDlpV2beta1InfoType": { - "description": "Type of information detected by the API.", - "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.", - "type": "string" - } - }, - "id": "GooglePrivacyDlpV2beta1InfoType" + "id": "GooglePrivacyDlpV2beta1BigQueryOptions" }, "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" + }, + "infoType": { + "$ref": "GooglePrivacyDlpV2beta1InfoType", + "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." } }, "id": "GooglePrivacyDlpV2beta1ReplaceConfig" @@ -672,44 +610,73 @@ }, "id": "GooglePrivacyDlpV2beta1Color" }, - "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.", + "GooglePrivacyDlpV2beta1Table": { + "description": "Structured content to inspect. Up to 50,000 `Value`s per request allowed.", "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" + "rows": { + "items": { + "$ref": "GooglePrivacyDlpV2beta1Row" + }, + "type": "array" }, - "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" + "headers": { + "items": { + "$ref": "GooglePrivacyDlpV2beta1FieldId" + }, + "type": "array" } }, - "id": "GooglePrivacyDlpV2beta1PathElement" + "id": "GooglePrivacyDlpV2beta1Table" }, - "GooglePrivacyDlpV2beta1CategoryDescription": { - "description": "Info Type Category description.", + "GooglePrivacyDlpV2beta1InfoTypeLimit": { + "description": "Max findings configuration per info type, per content item or long running\noperation.", "type": "object", "properties": { - "name": { - "description": "Internal name of the category.", - "type": "string" + "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." }, - "displayName": { - "description": "Human readable form of the category name.", - "type": "string" + "maxFindings": { + "format": "int32", + "description": "Max findings limit for the given infoType.", + "type": "integer" } }, - "id": "GooglePrivacyDlpV2beta1CategoryDescription" + "id": "GooglePrivacyDlpV2beta1InfoTypeLimit" + }, + "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" }, "GooglePrivacyDlpV2beta1ListInfoTypesResponse": { - "description": "Response to the ListInfoTypes request.", - "type": "object", "properties": { "infoTypes": { "description": "Set of sensitive info types belonging to a category.", @@ -719,21 +686,9 @@ "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" + "id": "GooglePrivacyDlpV2beta1ListInfoTypesResponse", + "description": "Response to the ListInfoTypes request.", + "type": "object" }, "GooglePrivacyDlpV2beta1CloudStorageKey": { "description": "Record key for a finding in a Cloud Storage file.", @@ -751,11 +706,111 @@ }, "id": "GooglePrivacyDlpV2beta1CloudStorageKey" }, - "GooglePrivacyDlpV2beta1Finding": { - "description": "Container structure describing a single finding within a string or image.", + "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": { - "likelihood": { + "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" + }, + "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.", + "items": { + "$ref": "GooglePrivacyDlpV2beta1InspectResult" + }, + "type": "array" + } + }, + "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": { + "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": { + "$ref": "GooglePrivacyDlpV2beta1InspectConfig", + "description": "Configuration for the inspector." + }, + "items": { + "description": "The list of items to inspect. Up to 100 are allowed per request.", + "items": { + "$ref": "GooglePrivacyDlpV2beta1ContentItem" + }, + "type": "array" + } + }, + "id": "GooglePrivacyDlpV2beta1RedactContentRequest" + }, + "GooglePrivacyDlpV2beta1FieldId": { + "description": "General identifier of a data field in a storage service.", + "type": "object", + "properties": { + "columnName": { + "description": "Name describing the field.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1FieldId" + }, + "GooglePrivacyDlpV2beta1DatastoreOptions": { + "description": "Options defining a data set within Google Cloud Datastore.", + "type": "object", + "properties": { + "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.", + "$ref": "GooglePrivacyDlpV2beta1PartitionId" + }, + "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" + } + }, + "id": "GooglePrivacyDlpV2beta1DatastoreOptions" + }, + "GoogleLongrunningCancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "type": "object", + "properties": {}, + "id": "GoogleLongrunningCancelOperationRequest" + }, + "GooglePrivacyDlpV2beta1InspectConfig": { + "description": "Configuration description of the scanning process.\nWhen used with redactContent only info_types and min_likelihood are currently\nused.", + "type": "object", + "properties": { + "minLikelihood": { "enumDescriptions": [ "Default value; information with all likelihoods is included.", "Few matching elements.", @@ -772,9 +827,445 @@ "LIKELY", "VERY_LIKELY" ], - "description": "Estimate of how likely it is that the info_type is correct.", + "description": "Only returns findings equal or above this threshold.", "type": "string" }, + "infoTypeLimits": { + "description": "Configuration of findings limit given for specified info types.", + "items": { + "$ref": "GooglePrivacyDlpV2beta1InfoTypeLimit" + }, + "type": "array" + }, + "maxFindings": { + "format": "int32", + "description": "Limits the number of findings per content item or long running operation.", + "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.", + "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" + }, + "excludeTypes": { + "description": "When true, excludes type information of the findings.", + "type": "boolean" + } + }, + "id": "GooglePrivacyDlpV2beta1InspectConfig" + }, + "GooglePrivacyDlpV2beta1Projection": { + "properties": { + "property": { + "$ref": "GooglePrivacyDlpV2beta1PropertyReference", + "description": "The property to project." + } + }, + "id": "GooglePrivacyDlpV2beta1Projection", + "description": "A representation of a Datastore property in a projection.", + "type": "object" + }, + "GooglePrivacyDlpV2beta1CreateInspectOperationRequest": { + "description": "Request for scheduling a scan of a data subset from a Google Platform data\nrepository.", + "type": "object", + "properties": { + "operationConfig": { + "$ref": "GooglePrivacyDlpV2beta1OperationConfig", + "description": "Additional configuration settings for long running operations." + }, + "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\u003etimestamp\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\u003cbr/\u003e\n\u003cp\u003eFor BigQuery the next columns are: \u003cli\u003erow_number \u003cli\u003eproject_id\n\u003cli\u003edataset_id \u003cli\u003etable_id", + "$ref": "GooglePrivacyDlpV2beta1OutputStorageConfig" + } + }, + "id": "GooglePrivacyDlpV2beta1CreateInspectOperationRequest" + }, + "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.", + "items": { + "$ref": "GooglePrivacyDlpV2beta1PathElement" + }, + "type": "array" + } + }, + "id": "GooglePrivacyDlpV2beta1Key" + }, + "GooglePrivacyDlpV2beta1InspectContentRequest": { + "properties": { + "inspectConfig": { + "description": "Configuration for the inspector.", + "$ref": "GooglePrivacyDlpV2beta1InspectConfig" + }, + "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.", + "items": { + "$ref": "GooglePrivacyDlpV2beta1ContentItem" + }, + "type": "array" + } + }, + "id": "GooglePrivacyDlpV2beta1InspectContentRequest", + "description": "Request to search for potentially sensitive info in a list of items.", + "type": "object" + }, + "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": { + "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" + } + }, + "id": "GoogleTypeDate" + }, + "GooglePrivacyDlpV2beta1RedactContentResponse": { + "properties": { + "items": { + "description": "The redacted content.", + "items": { + "$ref": "GooglePrivacyDlpV2beta1ContentItem" + }, + "type": "array" + } + }, + "id": "GooglePrivacyDlpV2beta1RedactContentResponse", + "description": "Results of redacting a list of items.", + "type": "object" + }, + "GooglePrivacyDlpV2beta1ImageRedactionConfig": { + "description": "Configuration for determing how redaction of images should occur.", + "type": "object", + "properties": { + "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" + }, + "redactionColor": { + "$ref": "GooglePrivacyDlpV2beta1Color", + "description": "The color to use when redacting content from an image. If not specified,\nthe default is black." + }, + "redactAllText": { + "description": "If true, all text found in the image, regardless whether it matches an\ninfo_type, is redacted.", + "type": "boolean" + } + }, + "id": "GooglePrivacyDlpV2beta1ImageRedactionConfig" + }, + "GooglePrivacyDlpV2beta1InfoTypeStatistics": { + "description": "Statistics regarding a specific InfoType.", + "type": "object", + "properties": { + "infoType": { + "description": "The type of finding this stat is for.", + "$ref": "GooglePrivacyDlpV2beta1InfoType" + }, + "count": { + "format": "int64", + "description": "Number of findings for this info type.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1InfoTypeStatistics" + }, + "GooglePrivacyDlpV2beta1PropertyReference": { + "description": "A reference to a property relative to the Datastore 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": "GooglePrivacyDlpV2beta1PropertyReference" + }, + "GooglePrivacyDlpV2beta1Location": { + "description": "Specifies the location of a finding within its source item.", + "type": "object", + "properties": { + "recordKey": { + "description": "Key of the finding.", + "$ref": "GooglePrivacyDlpV2beta1RecordKey" + }, + "tableLocation": { + "description": "Location within a `ContentItem.Table`.", + "$ref": "GooglePrivacyDlpV2beta1TableLocation" + }, + "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": { + "$ref": "GooglePrivacyDlpV2beta1Range", + "description": "Zero-based byte offsets within a content item." + } + }, + "id": "GooglePrivacyDlpV2beta1Location" + }, + "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": { + "properties": { + "table": { + "description": "Store findings in a new table in the dataset.", + "$ref": "GooglePrivacyDlpV2beta1BigQueryTable" + }, + "storagePath": { + "description": "The path to a Google Cloud Storage location to store output.", + "$ref": "GooglePrivacyDlpV2beta1CloudStoragePath" + } + }, + "id": "GooglePrivacyDlpV2beta1OutputStorageConfig", + "description": "Cloud repository for storing output.", + "type": "object" + }, + "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": { + "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": "GoogleRpcStatus" + }, + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object", + "properties": { + "error": { + "$ref": "GoogleRpcStatus", + "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": "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.", + "type": "boolean" + }, + "response": { + "description": "This field will contain an InspectOperationResult object.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "name": { + "description": "The server-assigned name, The `name` should have the format of `inspect/operations/\u003cidentifier\u003e`.", + "type": "string" + } + }, + "id": "GoogleLongrunningOperation" + }, + "GooglePrivacyDlpV2beta1InspectOperationMetadata": { + "description": "Metadata returned within GetOperation for an inspect request.", + "type": "object", + "properties": { + "requestOutputConfig": { + "description": "Optional location to store findings.", + "$ref": "GooglePrivacyDlpV2beta1OutputStorageConfig" + }, + "createTime": { + "format": "google-datetime", + "description": "The time which this request was started.", + "type": "string" + }, + "requestStorageConfig": { + "description": "The storage config used to create the Operation.", + "$ref": "GooglePrivacyDlpV2beta1StorageConfig" + }, + "processedBytes": { + "format": "int64", + "description": "Total size in bytes that were processed.", + "type": "string" + }, + "infoTypeStats": { + "items": { + "$ref": "GooglePrivacyDlpV2beta1InfoTypeStatistics" + }, + "type": "array" + }, + "totalEstimatedBytes": { + "format": "int64", + "description": "Estimate of the number of bytes to process.", + "type": "string" + }, + "requestInspectConfig": { + "$ref": "GooglePrivacyDlpV2beta1InspectConfig", + "description": "The inspect config used to create the Operation." + } + }, + "id": "GooglePrivacyDlpV2beta1InspectOperationMetadata" + }, + "GooglePrivacyDlpV2beta1InfoType": { + "properties": { + "name": { + "description": "Name of the information type.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1InfoType", + "description": "Type of information detected by the API.", + "type": "object" + }, + "GooglePrivacyDlpV2beta1PathElement": { + "properties": { + "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" + }, + "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": "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" + }, + "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" + } + }, + "id": "GooglePrivacyDlpV2beta1CategoryDescription" + }, + "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": { + "properties": { + "categories": { + "description": "List of all into type categories supported by the API.", + "items": { + "$ref": "GooglePrivacyDlpV2beta1CategoryDescription" + }, + "type": "array" + } + }, + "id": "GooglePrivacyDlpV2beta1ListRootCategoriesResponse", + "description": "Response for ListRootCategories request.", + "type": "object" + }, + "GooglePrivacyDlpV2beta1Finding": { + "properties": { "createTime": { "format": "google-datetime", "description": "Timestamp when finding was detected.", @@ -791,38 +1282,161 @@ "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" + "likelihood": { + "enum": [ + "LIKELIHOOD_UNSPECIFIED", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Estimate of how likely it is that the info_type is correct.", + "type": "string", + "enumDescriptions": [ + "Default value; information with all likelihoods is included.", + "Few matching elements.", + "", + "Some matching elements.", + "", + "Many matching elements." + ] } }, - "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.", + "id": "GooglePrivacyDlpV2beta1Finding", + "description": "Container structure describing a single finding within a string or image.", "type": "object" }, - "GooglePrivacyDlpV2beta1InspectContentResponse": { - "description": "Results of inspecting a list of items.", + "GooglePrivacyDlpV2beta1KindExpression": { + "properties": { + "name": { + "description": "The name of the kind.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1KindExpression", + "description": "A representation of a Datastore kind.", + "type": "object" + }, + "GoogleLongrunningListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", "type": "object", "properties": { - "results": { - "description": "Each content_item from the request has a result in this list, in the\nsame order as the request.", + "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": "GooglePrivacyDlpV2beta1InspectResult" + "$ref": "GoogleLongrunningOperation" }, "type": "array" } }, - "id": "GooglePrivacyDlpV2beta1InspectContentResponse" + "id": "GoogleLongrunningListOperationsResponse" + }, + "GooglePrivacyDlpV2beta1Row": { + "type": "object", + "properties": { + "values": { + "items": { + "$ref": "GooglePrivacyDlpV2beta1Value" + }, + "type": "array" + } + }, + "id": "GooglePrivacyDlpV2beta1Row" + }, + "GooglePrivacyDlpV2beta1FileSet": { + "description": "Set of files to scan.", + "type": "object", + "properties": { + "url": { + "description": "The url, in the format `gs://\u003cbucket\u003e/\u003cpath\u003e`. Trailing wildcard in the\npath is allowed.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1FileSet" + }, + "GooglePrivacyDlpV2beta1ListInspectFindingsResponse": { + "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", + "description": "Response to the ListInspectFindings request.", + "type": "object" + }, + "GoogleProtobufEmpty": { + "properties": {}, + "id": "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" + }, + "GooglePrivacyDlpV2beta1TableLocation": { + "description": "Location of a finding within a `ContentItem.Table`.", + "type": "object", + "properties": { + "rowIndex": { + "format": "int64", + "description": "The zero-based index of the row where the finding is located.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1TableLocation" + }, + "GooglePrivacyDlpV2beta1DatastoreKey": { + "description": "Record key for a finding in Cloud Datastore.", + "type": "object", + "properties": { + "entityKey": { + "$ref": "GooglePrivacyDlpV2beta1Key", + "description": "Datastore entity key." + } + }, + "id": "GooglePrivacyDlpV2beta1DatastoreKey" + }, + "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" + }, + "GooglePrivacyDlpV2beta1RecordKey": { + "description": "Message for a unique key indicating a record that contains a finding.", + "type": "object", + "properties": { + "cloudStorageKey": { + "$ref": "GooglePrivacyDlpV2beta1CloudStorageKey" + }, + "datastoreKey": { + "$ref": "GooglePrivacyDlpV2beta1DatastoreKey" + } + }, + "id": "GooglePrivacyDlpV2beta1RecordKey" + }, + "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" } }, "icons": { @@ -840,404 +1454,5 @@ } } }, - "rootUrl": "https://dlp.googleapis.com/", - "ownerDomain": "google.com", - "name": "dlp", - "batchPath": "batch", - "title": "DLP API", - "ownerName": "Google", - "resources": { - "inspect": { - "resources": { - "results": { - "resources": { - "findings": { - "methods": { - "list": { - "response": { - "$ref": "GooglePrivacyDlpV2beta1ListInspectFindingsResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "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.", - "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." - } - } - } - } - }, - "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": { - "response": { - "$ref": "GoogleLongrunningListOperationsResponse" - }, - "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", - "required": true, - "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" - ], - "flatPath": "v2beta1/inspect/operations", - "id": "dlp.inspect.operations.create", - "path": "v2beta1/inspect/operations" - }, - "cancel": { - "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" - }, - "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": "^inspect/operations/[^/]+$", - "location": "path" - } - }, - "flatPath": "v2beta1/inspect/operations/{operationsId}:cancel", - "id": "dlp.inspect.operations.cancel", - "path": "v2beta1/{+name}:cancel" - }, - "delete": { - "description": "This method is not supported and the server returns `UNIMPLEMENTED`.", - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "location": "path", - "description": "The name of the operation resource to be deleted.", - "type": "string", - "required": true, - "pattern": "^inspect/operations/[^/]+$" - } - }, - "flatPath": "v2beta1/inspect/operations/{operationsId}", - "id": "dlp.inspect.operations.delete", - "path": "v2beta1/{+name}" - } - } - } - } - }, - "rootCategories": { - "methods": { - "list": { - "description": "Returns the list of root categories of sensitive information.", - "response": { - "$ref": "GooglePrivacyDlpV2beta1ListRootCategoriesResponse" - }, - "parameterOrder": [], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "languageCode": { - "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" - } - }, - "flatPath": "v2beta1/rootCategories", - "id": "dlp.rootCategories.list", - "path": "v2beta1/rootCategories" - } - }, - "resources": { - "infoTypes": { - "methods": { - "list": { - "httpMethod": "GET", - "parameterOrder": [ - "category" - ], - "response": { - "$ref": "GooglePrivacyDlpV2beta1ListInfoTypesResponse" - }, - "parameters": { - "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": { - "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.", - "request": { - "$ref": "GooglePrivacyDlpV2beta1InspectContentRequest" - }, - "response": { - "$ref": "GooglePrivacyDlpV2beta1InspectContentResponse" - }, - "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" - } - } - } - }, - "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" - }, - "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": { - "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" - }, - "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": "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.", - "basePath": "", - "revision": "20170627", - "documentationLink": "https://cloud.google.com/dlp/docs/", - "id": "dlp:v2beta1" + "rootUrl": "https://dlp.googleapis.com/" } 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 f74ff0b..c0e7c4d 100644 --- a/vendor/google.golang.org/api/dlp/v2beta1/dlp-gen.go +++ b/vendor/google.golang.org/api/dlp/v2beta1/dlp-gen.go @@ -251,6 +251,86 @@ func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) { 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) +} + // GooglePrivacyDlpV2beta1CategoryDescription: Info Type Category // description. type GooglePrivacyDlpV2beta1CategoryDescription struct { @@ -434,6 +514,9 @@ 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,6 +558,10 @@ type GooglePrivacyDlpV2beta1CreateInspectOperationRequest struct { // InspectConfig: Configuration for the inspector. InspectConfig *GooglePrivacyDlpV2beta1InspectConfig `json:"inspectConfig,omitempty"` + // OperationConfig: Additional configuration settings for long running + // operations. + OperationConfig *GooglePrivacyDlpV2beta1OperationConfig `json:"operationConfig,omitempty"` + // OutputConfig: Optional location to store findings. The bucket must // already exist and // the Google APIs service account for DLP must have write permission @@ -493,13 +580,16 @@ type GooglePrivacyDlpV2beta1CreateInspectOperationRequest struct { // following columns regardless of storage type scanned:
  • id //
  • info_type //
  • likelihood
  • byte size of finding
  • quote - //
  • time_stamp
    + //
  • 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 + //
  • namespace_id
  • path
  • column_name
  • offset
    + //

    For BigQuery the next columns are:

  • row_number + //
  • project_id + //
  • dataset_id
  • table_id OutputConfig *GooglePrivacyDlpV2beta1OutputStorageConfig `json:"outputConfig,omitempty"` // StorageConfig: Specification of the data set to process. @@ -599,7 +689,7 @@ func (s *GooglePrivacyDlpV2beta1DatastoreOptions) MarshalJSON() ([]byte, error) // 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 @@ -749,15 +839,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 +882,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 @@ -858,6 +942,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 { @@ -904,6 +1027,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 @@ -1348,6 +1475,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,6 +1501,37 @@ func (s *GooglePrivacyDlpV2beta1Location) MarshalJSON() ([]byte, error) { 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 { @@ -1378,6 +1539,9 @@ type GooglePrivacyDlpV2beta1OutputStorageConfig struct { // output. 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, @@ -1723,24 +1887,53 @@ 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"` +type GooglePrivacyDlpV2beta1Row struct { + Values []*GooglePrivacyDlpV2beta1Value `json:"values,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. "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. "CloudStorageOptions") to + // 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 +1949,120 @@ func (s *GooglePrivacyDlpV2beta1StorageConfig) MarshalJSON() ([]byte, error) { 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) +} + +// 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 +} + // 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 +2165,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 +2200,103 @@ 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.inspect": type ContentInspectCall struct { @@ -3032,7 +3436,7 @@ func (c *InspectResultsFindingsListCall) Do(opts ...googleapi.CallOption) (*Goog // "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 CreateInspectOperation.\nShould be in the format of `inspect/results/{id}`.", // "location": "path", // "pattern": "^inspect/results/[^/]+$", // "required": true, 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 9ca6818..53611dd 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", @@ -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 99139b0..5bc468e 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/firebasedynamiclinks/v1/firebasedynamiclinks-api.json b/vendor/google.golang.org/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json index e576cd4..5f625a6 100644 --- a/vendor/google.golang.org/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json +++ b/vendor/google.golang.org/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json @@ -9,7 +9,7 @@ } } }, - "rootUrl": "https://firebasedynamiclinks.googleapis.com/", + "rootUrl": "https://firebasedynamiclinks-ipv6.googleapis.com/", "ownerDomain": "google.com", "name": "firebasedynamiclinks", "batchPath": "batch", @@ -19,10 +19,6 @@ "shortLinks": { "methods": { "create": { - "request": { - "$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.", "response": { "$ref": "CreateShortDynamicLinkResponse" }, @@ -33,16 +29,18 @@ ], "parameters": {}, "flatPath": "v1/shortLinks", + "path": "v1/shortLinks", "id": "firebasedynamiclinks.shortLinks.create", - "path": "v1/shortLinks" + "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.", + "request": { + "$ref": "CreateShortDynamicLinkRequest" + } } } }, "v1": { "methods": { "getLinkStats": { - "id": "firebasedynamiclinks.getLinkStats", - "path": "v1/{dynamicLink}/linkStats", "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,45 +49,86 @@ "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" ], - "flatPath": "v1/{dynamicLink}/linkStats" + "parameters": { + "durationDays": { + "description": "The span of time requested in days.", + "format": "int64", + "type": "string", + "location": "query" + }, + "dynamicLink": { + "description": "Dynamic Link URL. e.g. https://abcd.app.goo.gl/wxyz", + "required": true, + "type": "string", + "location": "path" + } + }, + "flatPath": "v1/{dynamicLink}/linkStats", + "path": "v1/{dynamicLink}/linkStats", + "id": "firebasedynamiclinks.getLinkStats" } } } }, "parameters": { - "fields": { + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "key": { "location": "query", - "description": "Selector specifying which fields to include in a partial response.", + "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" + }, + "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.", + "type": "boolean", + "default": "true" + }, "uploadType": { - "type": "string", "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." - }, - "callback": { - "location": "query", - "description": "JSONP", + "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": { + "description": "V1 error format.", + "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -98,11 +137,15 @@ "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", @@ -115,66 +158,255 @@ "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", - "location": "query" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean", - "location": "query" + ] } }, "version": "v1", - "baseUrl": "https://firebasedynamiclinks.googleapis.com/", - "servicePath": "", - "description": "Programmatically creates and manages Firebase Dynamic Links.", + "baseUrl": "https://firebasedynamiclinks-ipv6.googleapis.com/", "kind": "discovery#restDescription", + "description": "Programmatically creates and manages Firebase Dynamic Links.", + "servicePath": "", "basePath": "", - "id": "firebasedynamiclinks:v1", - "revision": "20170703", + "revision": "20170829", "documentationLink": "https://firebase.google.com/docs/dynamic-links/", + "id": "firebasedynamiclinks:v1", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "NavigationInfo": { + "description": "Information of navigation behavior.", + "type": "object", + "properties": { + "enableForcedRedirect": { + "description": "If this option is on, FDL click will be forced to redirect rather than\nshow an interstitial page.", + "type": "boolean" + } + }, + "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.", + "type": "string" + }, + "iosAppStoreId": { + "description": "iOS App Store ID.", + "type": "string" + }, + "iosIpadFallbackLink": { + "description": "If specified, this overrides the ios_fallback_link value on iPads.", + "type": "string" + }, + "iosIpadBundleId": { + "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" + } + }, + "id": "IosInfo" + }, + "AnalyticsInfo": { + "description": "Tracking parameters supported by Dynamic Link.", + "type": "object", + "properties": { + "itunesConnectAnalytics": { + "description": "iTunes Connect App Analytics.", + "$ref": "ITunesConnectAnalytics" + }, + "googlePlayAnalytics": { + "description": "Google Play Campaign Measurements.", + "$ref": "GooglePlayAnalytics" + } + }, + "id": "AnalyticsInfo" + }, + "CreateShortDynamicLinkRequest": { + "description": "Request to create a short Dynamic Link.", + "type": "object", + "properties": { + "suffix": { + "description": "Short Dynamic Link suffix. Optional.", + "$ref": "Suffix" + }, + "dynamicLinkInfo": { + "description": "Information about the Dynamic Link to be shortened.\n[Learn more](https://firebase.google.com/docs/dynamic-links/android#create-a-dynamic-link-programmatically).", + "$ref": "DynamicLinkInfo" + }, + "longDynamicLink": { + "description": "Full long Dynamic Link URL with desired query parameters specified.\nFor example,\n\"https://sample.app.goo.gl/?link=http://www.google.com&apn=com.sample\",\n[Learn more](https://firebase.google.com/docs/dynamic-links/android#create-a-dynamic-link-programmatically).", + "type": "string" + } + }, + "id": "CreateShortDynamicLinkRequest" + }, + "DynamicLinkEventStat": { + "description": "Dynamic Link event stat.", + "type": "object", + "properties": { + "count": { + "description": "The number of times this event occurred.", + "format": "int64", + "type": "string" + }, + "event": { + "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" + ], + "description": "Link event.", + "type": "string" + }, + "platform": { + "enumDescriptions": [ + "Unspecified platform.", + "Represents Android platform.\nAll apps and browsers on Android are classfied in this category.", + "Represents iOS platform.\nAll apps and browsers on iOS are classfied in this category.", + "Represents desktop.\nNote: other platforms like Windows, Blackberry, Amazon fall into this\ncategory." + ], + "enum": [ + "DYNAMIC_LINK_PLATFORM_UNSPECIFIED", + "ANDROID", + "IOS", + "DESKTOP" + ], + "description": "Requested platform.", + "type": "string" + } + }, + "id": "DynamicLinkEventStat" + }, + "CreateShortDynamicLinkResponse": { + "description": "Response to create a short Dynamic Link.", + "type": "object", + "properties": { + "warning": { + "description": "Information about potential warnings on link creation.", + "type": "array", + "items": { + "$ref": "DynamicLinkWarning" + } + }, + "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" + } + }, + "id": "CreateShortDynamicLinkResponse" + }, + "Suffix": { + "description": "Short Dynamic Link suffix.", + "type": "object", + "properties": { + "option": { + "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" + ], + "description": "Suffix option.", + "type": "string" + } + }, + "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": { + "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": { + "description": "Information about a Dynamic Link.", + "type": "object", + "properties": { + "analyticsInfo": { + "$ref": "AnalyticsInfo", + "description": "Parameters used for tracking. See all tracking parameters in the\n[documentation](https://firebase.google.com/docs/dynamic-links/create-manually)." + }, + "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": { + "description": "iOS related information. See iOS related parameters in the\n[documentation](https://firebase.google.com/docs/dynamic-links/create-manually).", + "$ref": "IosInfo" + }, + "socialMetaTagInfo": { + "description": "Parameters for social meta tag params.\nUsed to set meta tag data for link previews on social sites.", + "$ref": "SocialMetaTagInfo" + }, + "androidInfo": { + "description": "Android related information. See Android related parameters in the\n[documentation](https://firebase.google.com/docs/dynamic-links/create-manually).", + "$ref": "AndroidInfo" + }, + "navigationInfo": { + "$ref": "NavigationInfo", + "description": "Information of navigation behavior of a Firebase Dynamic Links." + } + }, + "id": "DynamicLinkInfo" + }, "ITunesConnectAnalytics": { - "id": "ITunesConnectAnalytics", "description": "Parameters for iTunes Connect App Analytics.", "type": "object", "properties": { @@ -182,22 +414,22 @@ "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" }, "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,29 +437,21 @@ "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.", "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" @@ -235,16 +459,31 @@ "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" + }, + "androidFallbackLink": { + "description": "Link to open on Android if the app is not installed.", + "type": "string" } - } + }, + "id": "AndroidInfo" }, "DynamicLinkWarning": { "description": "Dynamic Links warning messages.", "type": "object", "properties": { + "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" + }, "warningCode": { - "description": "The warning code.", - "type": "string", "enumDescriptions": [ "Unknown code.", "The Android package does not match any in developer's DevConsole project.", @@ -306,266 +545,31 @@ "LINK_LENGTH_TOO_LONG", "LINK_WITH_FRAGMENTS", "NOT_MATCHING_IOS_BUNDLE_ID_AND_STORE_ID" - ] - }, - "warningMessage": { - "description": "The warning message to help developers improve their requests.", + ], + "description": "The warning code.", "type": "string" } }, "id": "DynamicLinkWarning" }, "DynamicLinkStats": { + "description": "Analytics stats of a Dynamic Link for a given timeframe.", + "type": "object", "properties": { "linkEventStats": { "description": "Dynamic Link event stats.", + "type": "array", "items": { "$ref": "DynamicLinkEventStat" - }, - "type": "array" + } } }, - "id": "DynamicLinkStats", - "description": "Analytics stats of a Dynamic Link for a given timeframe.", - "type": "object" - }, - "NavigationInfo": { - "description": "Information of navigation behavior.", - "type": "object", - "properties": { - "enableForcedRedirect": { - "description": "If this option is on, FDL click will be forced to redirect rather than\nshow an interstitial page.", - "type": "boolean" - } - }, - "id": "NavigationInfo" - }, - "IosInfo": { - "properties": { - "iosFallbackLink": { - "description": "Link to open on iOS if the app is not installed.", - "type": "string" - }, - "iosAppStoreId": { - "description": "iOS App Store ID.", - "type": "string" - }, - "iosIpadFallbackLink": { - "description": "If specified, this overrides the ios_fallback_link value on iPads.", - "type": "string" - }, - "iosIpadBundleId": { - "type": "string", - "description": "iPad bundle ID of the app." - }, - "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" - } - }, - "id": "IosInfo", - "description": "iOS related attributes to the Dynamic Link..", - "type": "object" - }, - "AnalyticsInfo": { - "description": "Tracking parameters supported by Dynamic Link.", - "type": "object", - "properties": { - "itunesConnectAnalytics": { - "description": "iTunes Connect App Analytics.", - "$ref": "ITunesConnectAnalytics" - }, - "googlePlayAnalytics": { - "$ref": "GooglePlayAnalytics", - "description": "Google Play Campaign Measurements." - } - }, - "id": "AnalyticsInfo" - }, - "CreateShortDynamicLinkRequest": { - "type": "object", - "properties": { - "dynamicLinkInfo": { - "$ref": "DynamicLinkInfo", - "description": "Information about the Dynamic Link to be shortened.\n[Learn more](https://firebase.google.com/docs/dynamic-links/android#create-a-dynamic-link-programmatically)." - }, - "longDynamicLink": { - "description": "Full long Dynamic Link URL with desired query parameters specified.\nFor example,\n\"https://sample.app.goo.gl/?link=http://www.google.com&apn=com.sample\",\n[Learn more](https://firebase.google.com/docs/dynamic-links/android#create-a-dynamic-link-programmatically).", - "type": "string" - }, - "suffix": { - "description": "Short Dynamic Link suffix. Optional.", - "$ref": "Suffix" - } - }, - "id": "CreateShortDynamicLinkRequest", - "description": "Request to create a short Dynamic Link." - }, - "DynamicLinkEventStat": { - "description": "Dynamic Link event stat.", - "type": "object", - "properties": { - "platform": { - "type": "string", - "enumDescriptions": [ - "Unspecified platform.", - "Represents Android platform.\nAll apps and browsers on Android are classfied in this category.", - "Represents iOS platform.\nAll apps and browsers on iOS are classfied in this category.", - "Represents desktop.\nNote: other platforms like Windows, Blackberry, Amazon fall into this\ncategory." - ], - "enum": [ - "DYNAMIC_LINK_PLATFORM_UNSPECIFIED", - "ANDROID", - "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." - ] - } - }, - "id": "DynamicLinkEventStat" - }, - "CreateShortDynamicLinkResponse": { - "id": "CreateShortDynamicLinkResponse", - "description": "Response to create a short Dynamic Link.", - "type": "object", - "properties": { - "previewLink": { - "description": "Preivew link to show the link flow chart.", - "type": "string" - }, - "warning": { - "description": "Information about potential warnings on link creation.", - "items": { - "$ref": "DynamicLinkWarning" - }, - "type": "array" - }, - "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", - "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." - ] - } - }, - "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": "DynamicLinkStats" } }, + "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" + } } 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 ed1f1dd..158a335 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 ( @@ -482,6 +482,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"` 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 577205e..3b049f8 100644 --- a/vendor/google.golang.org/api/firebaserules/v1/firebaserules-api.json +++ b/vendor/google.golang.org/api/firebaserules/v1/firebaserules-api.json @@ -1,4 +1,397 @@ { + "discoveryVersion": "v1", + "version_module": true, + "schemas": { + "TestCase": { + "type": "object", + "properties": { + "functionMocks": { + "items": { + "$ref": "FunctionMock" + }, + "type": "array", + "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." + }, + "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." + }, + "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" + } + }, + "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." + }, + "Issue": { + "type": "object", + "properties": { + "sourcePosition": { + "description": "Position of the issue in the `Source`.", + "$ref": "SourcePosition" + }, + "severity": { + "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" + ], + "description": "The severity of the issue." + }, + "description": { + "description": "Short error description.", + "type": "string" + } + }, + "id": "Issue", + "description": "Issues include warnings, errors, and deprecation notices." + }, + "TestRulesetRequest": { + "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", + "description": "The request for FirebaseRulesService.TestRuleset." + }, + "Ruleset": { + "properties": { + "source": { + "description": "`Source` for the `Ruleset`.", + "$ref": "Source" + }, + "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" + } + }, + "id": "Ruleset", + "description": "`Ruleset` is an immutable copy of `Source` with a globally unique identifier\nand a creation time.", + "type": "object" + }, + "ListReleasesResponse": { + "description": "The response for FirebaseRulesService.ListReleases.", + "type": "object", + "properties": { + "releases": { + "items": { + "$ref": "Release" + }, + "type": "array", + "description": "List of `Release` 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": "ListReleasesResponse" + }, + "FunctionCall": { + "description": "Represents a service-defined function call that was invoked during test\nexecution.", + "type": "object", + "properties": { + "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" + }, + "File": { + "id": "File", + "description": "`File` containing source content.", + "type": "object", + "properties": { + "name": { + "description": "File name.", + "type": "string" + }, + "content": { + "type": "string", + "description": "Textual Content." + }, + "fingerprint": { + "format": "byte", + "description": "Fingerprint (e.g. github sha) associated with the `File`.", + "type": "string" + } + } + }, + "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": { + "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" + }, + "createTime": { + "format": "google-datetime", + "description": "Time the release was created.\nOutput only.", + "type": "string" + }, + "updateTime": { + "format": "google-datetime", + "description": "Time the release was updated.\nOutput only.", + "type": "string" + } + }, + "id": "Release" + }, + "TestRulesetResponse": { + "description": "The response for FirebaseRulesService.TestRuleset.", + "type": "object", + "properties": { + "issues": { + "description": "Syntactic and semantic `Source` issues of varying severity. Issues of\n`ERROR` severity will prevent tests from executing.", + "items": { + "$ref": "Issue" + }, + "type": "array" + }, + "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`.", + "items": { + "$ref": "TestResult" + }, + "type": "array" + } + }, + "id": "TestRulesetResponse" + }, + "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" + }, + "TestResult": { + "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", + "properties": { + "functionCalls": { + "items": { + "$ref": "FunctionCall" + }, + "type": "array", + "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`." + }, + "debugMessages": { + "description": "Debug messages related to test execution issues encountered during\nevaluation.\n\nDebug messages may be related to too many or too few invocations of\nfunction mocks or to runtime errors that occur during evaluation.\n\nFor example: ```Unable to read variable [name: \"resource\"]```", + "items": { + "type": "string" + }, + "type": "array" + }, + "state": { + "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." + ] + }, + "errorPosition": { + "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" + } + } + }, + "Arg": { + "description": "Arg matchers for the mock function.", + "type": "object", + "properties": { + "anyValue": { + "description": "Argument matches any value provided.", + "$ref": "Empty" + }, + "exactValue": { + "type": "any", + "description": "Argument exactly matches value provided." + } + }, + "id": "Arg" + }, + "TestSuite": { + "properties": { + "testCases": { + "description": "Collection of test cases associated with the `TestSuite`.", + "items": { + "$ref": "TestCase" + }, + "type": "array" + } + }, + "id": "TestSuite", + "description": "`TestSuite` is a collection of `TestCase` instances that validate the logical\ncorrectness of a `Ruleset`. The `TestSuite` may be referenced in-line within\na `TestRuleset` invocation or as part of a `Release` object as a pre-release\ncheck.", + "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" + }, + "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", + "properties": { + "result": { + "$ref": "Result", + "description": "The mock result of the function call." + }, + "args": { + "items": { + "$ref": "Arg" + }, + "type": "array", + "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." + }, + "function": { + "description": "The name of the function.\n\nThe function name must match one provided by a service declaration.", + "type": "string" + } + }, + "id": "FunctionMock" + }, + "Source": { + "properties": { + "files": { + "items": { + "$ref": "File" + }, + "type": "array", + "description": "`File` set constituting the `Source` bundle." + } + }, + "id": "Source", + "description": "`Source` is one or more `File` messages comprising a logical set of rules.", + "type": "object" + }, + "Result": { + "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" + } + }, + "id": "Result", + "description": "Possible result values from the function mock invocation.", + "type": "object" + }, + "SourcePosition": { + "id": "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": { + "type": "integer", + "format": "int32", + "description": "Line number of the source fragment. 1-based." + }, + "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" + } + } + } + }, + "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": "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" + } + } + } + }, "rootUrl": "https://firebaserules.googleapis.com/", "ownerDomain": "google.com", "name": "firebaserules", @@ -9,17 +402,19 @@ "projects": { "methods": { "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 }", - "response": { - "$ref": "TestRulesetResponse" - }, + "httpMethod": "POST", "parameterOrder": [ "name" ], - "httpMethod": "POST", + "response": { + "$ref": "TestRulesetResponse" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/firebase", @@ -27,131 +422,20 @@ ], "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 + "required": true, + "pattern": "^projects/.+$" } }, - "flatPath": "v1/projects/{projectsId}:test", - "id": "firebaserules.projects.test", - "path": "v1/{+name}:test" + "flatPath": "v1/projects/{projectsId}: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" @@ -165,12 +449,249 @@ "pattern": "^projects/[^/]+/rulesets/[^/]+$" } }, - "flatPath": "v1/projects/{projectsId}/rulesets/{rulesetsId}" + "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.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE" + }, + "list": { + "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": { + "filter": { + "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", + "location": "query" + }, + "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": { + "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" + } + }, + "flatPath": "v1/projects/{projectsId}/rulesets", + "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." + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Ruleset" + }, + "parameters": { + "name": { + "description": "Resource name for the ruleset to get.\n\nFormat: `projects/{project_id}/rulesets/{ruleset_id}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/rulesets/[^/]+$", + "location": "path" + } + }, + "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}/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", + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "Resource name for Project which owns this `Ruleset`.\n\nFormat: `projects/{project_id}`" + } + }, + "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", + "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" + } } } }, "releases": { "methods": { + "list": { + "flatPath": "v1/projects/{projectsId}/releases", + "id": "firebaserules.projects.releases.list", + "path": "v1/{+name}/releases", + "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", + "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": { + "description": "Next page token for the next batch of `Release` instances.", + "type": "string", + "location": "query" + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ] + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Release" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ], + "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" + } + }, + "flatPath": "v1/projects/{projectsId}/releases/{releasesId}", + "path": "v1/{+name}", + "id": "firebaserules.projects.releases.get", + "description": "Get a `Release` by name." + }, + "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" + }, + "httpMethod": "PUT", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Release" + }, + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/releases/.+$", + "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}`" + } + }, + "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" + }, + "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": { + "description": "Resource name for the project which owns this `Release`.\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}/releases", + "id": "firebaserules.projects.releases.create", + "path": "v1/{+name}/releases" + }, "delete": { "response": { "$ref": "Empty" @@ -196,134 +717,6 @@ "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" } } } @@ -331,27 +724,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.", - "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", @@ -363,40 +735,35 @@ "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" }, - "uploadType": { + "$.xgafv": { + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" + "enum": [ + "1", + "2" + ] }, "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", @@ -405,419 +772,52 @@ ], "location": "query", "description": "Data format for response.", - "default": "json" + "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" + "type": "string", + "location": "query" }, "access_token": { - "location": "query", "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": "v1", "baseUrl": "https://firebaserules.googleapis.com/", + "servicePath": "", "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", "documentationLink": "https://firebase.google.com/docs/storage/security", - "revision": "20170523", - "discoveryVersion": "v1", - "version_module": "True", - "schemas": { - "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" - } - }, - "id": "ListReleasesResponse" - }, - "File": { - "description": "`File` containing source content.", - "type": "object", - "properties": { - "fingerprint": { - "format": "byte", - "description": "Fingerprint (e.g. github sha) associated with the `File`.", - "type": "string" - }, - "name": { - "description": "File name.", - "type": "string" - }, - "content": { - "description": "Textual Content.", - "type": "string" - } - }, - "id": "File" - }, - "FunctionCall": { - "type": "object", - "properties": { - "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": { - "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." - }, - "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" - }, - "createTime": { - "format": "google-datetime", - "description": "Time the release was created.\nOutput only.", - "type": "string" - } - }, - "id": "Release" - }, - "TestRulesetResponse": { - "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`.", - "items": { - "$ref": "TestResult" - }, - "type": "array" - }, - "issues": { - "description": "Syntactic and semantic `Source` issues of varying severity. Issues of\n`ERROR` severity will prevent tests from executing.", - "items": { - "$ref": "Issue" - }, - "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 }`" - }, - "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`.", - "items": { - "$ref": "FunctionCall" - }, - "type": "array" - }, - "debugMessages": { - "description": "Debug messages related to test execution issues encountered during\nevaluation.\n\nDebug messages may be related to too many or too few invocations of\nfunction mocks or to runtime errors that occur during evaluation.\n\nFor example: ```Unable to read variable [name: \"resource\"]```", - "items": { - "type": "string" - }, - "type": "array" - }, - "state": { - "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." - }, - "Arg": { - "description": "Arg matchers for the mock function.", - "type": "object", - "properties": { - "anyValue": { - "description": "Argument matches any value provided.", - "$ref": "Empty" - }, - "exactValue": { - "description": "Argument exactly matches value provided.", - "type": "any" - } - }, - "id": "Arg" - }, - "TestSuite": { - "description": "`TestSuite` is a collection of `TestCase` instances that validate the logical\ncorrectness of a `Ruleset`. The `TestSuite` may be referenced in-line within\na `TestRuleset` invocation or as part of a `Release` object as a pre-release\ncheck.", - "type": "object", - "properties": { - "testCases": { - "description": "Collection of test cases associated with the `TestSuite`.", - "items": { - "$ref": "TestCase" - }, - "type": "array" - } - }, - "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." - } - }, - "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": "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" - } - } - } - } + "revision": "20170807" } 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 4dc972a..1bca2bb 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/PSZLmkjt_9IWTJ6ZQ-VpYeFyZ2w\"", "discoveryVersion": "v1", "id": "fitness:v1", "name": "fitness", "version": "v1", - "revision": "20161128", + "revision": "20170731", "title": "Fitness", "description": "Stores and accesses user data in the fitness store from apps on any platform.", "ownerDomain": "google.com", @@ -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" 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 f33c29e..6c80423 100644 --- a/vendor/google.golang.org/api/fitness/v1/fitness-gen.go +++ b/vendor/google.golang.org/api/fitness/v1/fitness-gen.go @@ -709,7 +709,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 // 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 9afb957..b1da934 100644 --- a/vendor/google.golang.org/api/genomics/v1/genomics-api.json +++ b/vendor/google.golang.org/api/genomics/v1/genomics-api.json @@ -1,1590 +1,307 @@ { - "batchPath": "batch", - "documentationLink": "https://cloud.google.com/genomics", - "id": "genomics:v1", - "revision": "20170704", - "title": "Genomics API", - "ownerName": "Google", - "discoveryVersion": "v1", - "resources": { - "callsets": { - "methods": { - "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" - }, - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "SearchCallSetsResponse" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "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" - }, - "get": { - "httpMethod": "GET", - "response": { - "$ref": "CallSet" - }, - "parameterOrder": [ - "callSetId" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ], - "parameters": { - "callSetId": { - "location": "path", - "description": "The ID of the call set.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/callsets/{callSetId}", - "path": "v1/callsets/{callSetId}", - "id": "genomics.callsets.get", - "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" - }, - "response": { - "$ref": "CallSet" - }, - "parameterOrder": [ - "callSetId" - ], - "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" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "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)" - } - } - }, - "reads": { - "methods": { - "search": { - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "SearchReadsResponse" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ], - "flatPath": "v1/reads/search", - "path": "v1/reads/search", - "id": "genomics.reads.search", - "description": "Gets a list of reads for one or more read group sets.\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\nReads search operates over a genomic coordinate space of reference sequence\n& position defined over the reference sequences to which the requested\nread group sets are aligned.\n\nIf a target positional range is specified, search returns all reads whose\nalignment to the reference genome overlap the range. A query which\nspecifies only read group set IDs yields all reads in those read group\nsets, including unmapped reads.\n\nAll reads returned (including reads on subsequent pages) are ordered by\ngenomic coordinate (by reference sequence, then position). Reads with\nequivalent genomic coordinates are returned in an unspecified order. This\norder is consistent, such that two queries for the same content (regardless\nof page size) yield reads in the same order across their respective streams\nof paginated responses.\n\nImplements\n[GlobalAllianceApi.searchReads](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/readmethods.avdl#L85).", - "request": { - "$ref": "SearchReadsRequest" - } - } - } - }, - "readgroupsets": { - "methods": { - "import": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/devstorage.read_write", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": {}, - "flatPath": "v1/readgroupsets:import", - "id": "genomics.readgroupsets.import", - "path": "v1/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": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "readGroupSetId" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": { - "readGroupSetId": { - "location": "path", - "description": "The ID of the read group set to be deleted. The caller must have WRITE\npermissions to the dataset associated with this read group set.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/readgroupsets/{readGroupSetId}", - "id": "genomics.readgroupsets.delete", - "path": "v1/readgroupsets/{readGroupSetId}", - "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" - }, - "parameterOrder": [ - "readGroupSetId" - ], - "httpMethod": "POST", - "parameters": { - "readGroupSetId": { - "location": "path", - "description": "Required. The ID of the read group set to export. The caller must have\nREAD access to this read group set.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/devstorage.read_write", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1/readgroupsets/{readGroupSetId}:export", - "id": "genomics.readgroupsets.export", - "path": "v1/readgroupsets/{readGroupSetId}:export" - }, - "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" - }, - "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" - ] - }, - "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" - ] - }, - "get": { - "id": "genomics.readgroupsets.get", - "path": "v1/readgroupsets/{readGroupSetId}", - "description": "Gets a read group set by ID.\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)", - "response": { - "$ref": "ReadGroupSet" - }, - "parameterOrder": [ - "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", - "description": "The ID of the read group set.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/readgroupsets/{readGroupSetId}" - } - }, - "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" - }, - "parameterOrder": [ - "readGroupSetId" - ], - "httpMethod": "GET", - "parameters": { - "end": { - "location": "query", - "format": "int64", - "description": "The end position of the range on the reference, 0-based exclusive. If\nspecified, `referenceName` must also be specified. If unset or 0, defaults\nto the length of the reference.", - "type": "string" - }, - "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 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" - } - } - } - } - }, - "variants": { - "methods": { - "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).", - "response": { - "$ref": "SearchVariantsResponse" - }, - "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/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 - } - } - }, - "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)", - "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.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1/variants/{variantId}" - }, - "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.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [], - "httpMethod": "POST", - "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.", - "request": { - "$ref": "ImportVariantsRequest" - } - }, - "create": { - "parameters": {}, - "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" - }, - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "Variant" - } - } - } - }, - "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" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": { - "annotationSetId": { - "location": "path", - "description": "The ID of the annotation set to be deleted.", - "type": "string", - "required": true - } - } - }, - "search": { - "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.", - "response": { - "$ref": "SearchAnnotationSetsResponse" - }, - "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/annotationsets/search", - "id": "genomics.annotationsets.search", - "path": "v1/annotationsets/search" - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "annotationSetId" - ], - "response": { - "$ref": "AnnotationSet" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ], - "parameters": { - "annotationSetId": { - "description": "The ID of the annotation set to be retrieved.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1/annotationsets/{annotationSetId}", - "path": "v1/annotationsets/{annotationSetId}", - "id": "genomics.annotationsets.get", - "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" - }, - "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" - }, - "parameterOrder": [], - "httpMethod": "POST" - } - } - }, - "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" - ], - "flatPath": "v1/references/search", - "path": "v1/references/search", - "id": "genomics.references.search" - }, - "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" - ], - "parameters": { - "referenceId": { - "description": "The ID of the reference.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1/references/{referenceId}" - } - }, - "resources": { - "bases": { - "methods": { - "list": { - "id": "genomics.references.bases.list", - "path": "v1/references/{referenceId}/bases", - "description": "Lists the bases in a reference, optionally restricted to a range.\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.getReferenceBases](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L221).", - "response": { - "$ref": "ListBasesResponse" - }, - "httpMethod": "GET", - "parameterOrder": [ - "referenceId" - ], - "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.", - "type": "string", - "location": "query" - }, - "referenceId": { - "description": "The ID of the reference.", - "type": "string", - "required": true, - "location": "path" - }, - "end": { - "location": "query", - "format": "int64", - "description": "The end position (0-based, exclusive) of this query. Defaults to the length\nof this reference.", - "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/references/{referenceId}/bases" - } - } - } - } - }, - "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" - }, - "response": { - "$ref": "Policy" - }, - "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" - }, - "parameters": { - "datasetId": { - "description": "The ID of the dataset to be undeleted.", - "type": "string", - "required": true, - "location": "path" - } - }, - "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", - "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)", - "response": { - "$ref": "Dataset" - }, - "parameterOrder": [ - "datasetId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ], - "parameters": { - "datasetId": { - "type": "string", - "required": true, - "location": "path", - "description": "The ID of the dataset." - } - }, - "flatPath": "v1/datasets/{datasetId}" - }, - "patch": { - "request": { - "$ref": "Dataset" - }, - "description": "Updates a 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)\n\nThis method supports patch semantics.", - "response": { - "$ref": "Dataset" - }, - "parameterOrder": [ - "datasetId" - ], - "httpMethod": "PATCH", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": { - "datasetId": { - "location": "path", - "description": "The ID of the dataset to be updated.", - "type": "string", - "required": true - }, - "updateMask": { - "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", - "location": "query" - } - }, - "flatPath": "v1/datasets/{datasetId}", - "id": "genomics.datasets.patch", - "path": "v1/datasets/{datasetId}" - }, - "testIamPermissions": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": { - "resource": { - "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" - } - }, - "flatPath": "v1/datasets/{datasetsId}:testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "id": "genomics.datasets.testIamPermissions", - "request": { - "$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" - }, - "response": { - "$ref": "VariantSet" - }, - "parameterOrder": [], - "httpMethod": "POST", - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1/variantsets", - "id": "genomics.variantsets.create", - "path": "v1/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" - }, - "httpMethod": "POST", - "parameterOrder": [ - "variantSetId" - ], - "response": { - "$ref": "Operation" - }, - "parameters": { - "variantSetId": { - "description": "Required. The ID of the variant set that contains variant data which\nshould be exported. The caller must have READ access to this variant set.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1/variantsets/{variantSetId}:export", - "path": "v1/variantsets/{variantSetId}:export", - "id": "genomics.variantsets.export" - }, - "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": { - "$ref": "SearchVariantSetsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ], - "parameters": {}, - "flatPath": "v1/variantsets/search" - } - } - }, - "annotations": { - "methods": { - "update": { - "httpMethod": "PUT", - "parameterOrder": [ - "annotationId" - ], - "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" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ], - "parameters": {}, - "flatPath": "v1/annotations/search", - "path": "v1/annotations/search", - "id": "genomics.annotations.search" - }, - "get": { - "description": "Gets an annotation. Caller must have READ permission\nfor the associated annotation set.", - "response": { - "$ref": "Annotation" - }, - "parameterOrder": [ - "annotationId" - ], - "httpMethod": "GET", - "parameters": { - "annotationId": { - "location": "path", - "description": "The ID of the annotation to be retrieved.", - "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/annotations/{annotationId}", - "id": "genomics.annotations.get", - "path": "v1/annotations/{annotationId}" - } - } - }, - "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" - }, - "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", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1/operations/{operationsId}:cancel", - "id": "genomics.operations.cancel", - "path": "v1/{+name}:cancel" - }, - "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.", - "response": { - "$ref": "Operation" - }, - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource.", - "type": "string", - "required": true, - "pattern": "^operations/.+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ] - }, - "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": { - "location": "path", - "description": "The name of the operation's parent resource.", - "type": "string", - "required": true, - "pattern": "^operations$" - }, - "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" - } - }, - "flatPath": "v1/operations", - "id": "genomics.operations.list", - "path": "v1/{+name}", - "description": "Lists operations that match the specified filter in the request." - } - } - }, - "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" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ] - }, - "get": { - "response": { - "$ref": "ReferenceSet" - }, - "parameterOrder": [ - "referenceSetId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ], - "parameters": { - "referenceSetId": { - "description": "The ID of the reference set.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1/referencesets/{referenceSetId}", - "id": "genomics.referencesets.get", - "path": "v1/referencesets/{referenceSetId}", - "description": "Gets a reference set.\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.getReferenceSet](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L83)." - } - } - } - }, - "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": { - "type": "string", - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." - }, - "fields": { - "type": "string", - "location": "query", - "description": "Selector specifying which fields to include in a partial response." - }, - "$.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": { - "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": { - "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": { + "SearchAnnotationSetsRequest": { + "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" + }, + "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" + }, + "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": { + "type": "string", + "enum": [ + "ANNOTATION_TYPE_UNSPECIFIED", + "GENERIC", + "VARIANT", + "GENE", + "TRANSCRIPT" + ] + }, + "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" + } + }, + "id": "SearchAnnotationSetsRequest" + }, + "SearchReadGroupSetsResponse": { + "id": "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" + } + } + }, + "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": { + "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" + }, + "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." + } + }, + "id": "LinearAlignment" + }, + "SearchReferencesRequest": { + "type": "object", + "properties": { + "pageSize": { + "type": "integer", + "format": "int32", + "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 1024. The maximum value is 4096." + }, + "referenceSetId": { + "description": "If present, return only references which belong to this reference set.", + "type": "string" + }, + "md5checksums": { + "description": "If present, return references for which the\nmd5checksum matches exactly.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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." + }, + "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" + } + }, + "id": "SearchReferencesRequest" + }, + "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": { + "description": "A read group is all the data that's processed the same way by the sequencer.", + "type": "object", + "properties": { + "datasetId": { + "type": "string", + "description": "The dataset to which this read group belongs." + }, + "experiment": { + "$ref": "Experiment", + "description": "The experiment used to generate this read group." + }, + "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": { + "type": "object", + "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)." + }, + "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": { + "type": "string", + "description": "A free-form text description of this read group." + }, + "sampleId": { + "type": "string", + "description": "A client-supplied sample identifier for the reads in this read group." + } + }, + "id": "ReadGroup" + }, + "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": { + "referenceSetId": { + "type": "string", + "description": "The reference set to which the reads in this read group set are aligned." + }, + "info": { + "type": "object", + "additionalProperties": { + "items": { + "type": "any" + }, + "type": "array" + }, + "description": "A map of additional read group set information." + }, + "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" + }, + "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" + } + } + }, + "SearchVariantSetsResponse": { + "type": "object", + "properties": { + "variantSets": { + "description": "The variant sets belonging to the requested dataset.", + "items": { + "$ref": "VariantSet" + }, + "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." + } + }, + "id": "SearchVariantSetsResponse", + "description": "The search variant sets response." + }, + "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 `{}`." + }, + "Entry": { + "type": "object", + "properties": { + "annotation": { + "$ref": "Annotation", + "description": "The created annotation, if creation was successful." + }, + "status": { + "$ref": "Status", + "description": "The creation status." + } + }, + "id": "Entry" + }, "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", @@ -1595,8 +312,8 @@ "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.", @@ -1606,6 +323,7 @@ "id": "Position" }, "SearchReferenceSetsResponse": { + "type": "object", "properties": { "referenceSets": { "description": "The matching references sets.", @@ -1619,80 +337,75 @@ "type": "string" } }, - "id": "SearchReferenceSetsResponse", - "type": "object" + "id": "SearchReferenceSetsResponse" }, "SearchCallSetsRequest": { "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": { + "id": "ImportReadGroupSetsRequest", + "description": "The read group set import request.", "type": "object", "properties": { "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", - "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." + "type": "array" }, "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": [ - "", - "In most cases, this strategy yields one read group set per file. This is\nthe default behavior.\n\nAllocate one read group set per file per sample. For BAM files, read\ngroups are considered to share a sample if they have identical sample\nnames. Furthermore, all reads for each file which do not belong to a read\ngroup, if any, will be grouped into a single read group set per-file.", - "Includes all read groups in all imported files into a single read group\nset. Requires that the headers for all imported files are equivalent. All\nreads which do not belong to a read group, if any, will be grouped into a\nseparate read group set." - ], "enum": [ "PARTITION_STRATEGY_UNSPECIFIED", "PER_FILE_PER_SAMPLE", "MERGE_ALL" ], "description": "The partition strategy describes how read groups are partitioned into read\ngroup sets.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "", + "In most cases, this strategy yields one read group set per file. This is\nthe default behavior.\n\nAllocate one read group set per file per sample. For BAM files, read\ngroups are considered to share a sample if they have identical sample\nnames. Furthermore, all reads for each file which do not belong to a read\ngroup, if any, will be grouped into a single read group set per-file.", + "Includes all read groups in all imported files into a single read group\nset. Requires that the headers for all imported files are equivalent. All\nreads which do not belong to a read group, if any, will be grouped into a\nseparate read group set." + ] }, "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" } - }, - "id": "ImportReadGroupSetsRequest", - "description": "The read group set import request." + } }, "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.", @@ -1704,32 +417,17 @@ "$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" }, "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.", @@ -1750,8 +448,27 @@ "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" } - } + }, + "id": "SearchReadsRequest", + "description": "The read search request.", + "type": "object" }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", @@ -1763,20 +480,43 @@ "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": { + "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`.", + "$ref": "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": { + "type": "string", + "description": "The display name of this annotation." + }, + "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`." + }, + "id": { + "description": "The server-generated annotation ID, unique across all annotations.", + "type": "string" + }, + "referenceId": { + "type": "string", + "description": "The ID of the Google Genomics reference associated with this range." + }, + "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" - } - }, "type": { "enumDescriptions": [ "", @@ -1795,62 +535,36 @@ "description": "The data type for this annotation. Must match the containing annotation\nset's type.", "type": "string" }, + "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" + }, "end": { "format": "int64", "description": "The end position of the range on the reference, 0-based exclusive.", "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" } }, "id": "Annotation" }, - "RuntimeMetadata": { - "properties": { - "computeEngine": { - "$ref": "ComputeEngine", - "description": "Execution information specific to Google Compute Engine." - } - }, - "id": "RuntimeMetadata", - "description": "Runtime metadata that will be populated in the\nruntimeMetadata\nfield of the Operation associated with a RunPipeline execution.", - "type": "object" - }, "Operation": { "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", "type": "object", "properties": { + "response": { + "type": "object", + "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." + }, "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" @@ -1860,28 +574,31 @@ "$ref": "Status" }, "metadata": { + "type": "object", "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." }, - "description": "An OperationMetadata object. This will always be returned with the Operation.", - "type": "object" + "description": "An OperationMetadata object. This will always be returned with the Operation." }, "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": { - "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" }, + "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": { + "$ref": "ComputeEngine", + "description": "Execution information specific to Google Compute Engine." + } + } + }, "ImportReadGroupSetsResponse": { "description": "The read group set import response.", "type": "object", @@ -1897,25 +614,12 @@ "id": "ImportReadGroupSetsResponse" }, "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,29 +642,41 @@ "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": { + "type": "integer", + "format": "int32" + }, + "type": "array" } - } + }, + "id": "VariantCall" }, "SearchVariantsResponse": { - "id": "SearchVariantsResponse", "description": "The variant 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" + }, "variants": { "description": "The list of matching Variants.", "items": { "$ref": "Variant" }, "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." } - } + }, + "id": "SearchVariantsResponse" }, "ListBasesResponse": { - "id": "ListBasesResponse", "type": "object", "properties": { "sequence": { @@ -1968,17 +684,19 @@ "type": "string" }, "offset": { + "type": "string", "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" + "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." }, "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": { @@ -1991,7 +709,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": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -2002,13 +720,12 @@ "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." + "id": "Status" }, "UndeleteDatasetRequest": { + "id": "UndeleteDatasetRequest", "type": "object", - "properties": {}, - "id": "UndeleteDatasetRequest" + "properties": {} }, "Binding": { "description": "Associates `members` with a `role`.", @@ -2032,11 +749,6 @@ "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 +757,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" @@ -2053,10 +770,6 @@ "description": "A variant set is a collection of call sets and variants. It contains summary\nstatistics of those contents. A variant set belongs to a dataset.\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": "A textual description of this variant set.", - "type": "string" - }, "datasetId": { "description": "The dataset to which this variant set belongs.", "type": "string" @@ -2066,15 +779,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.", @@ -2086,25 +799,29 @@ "id": { "description": "The server-generated variant set ID, unique across all variant sets.", "type": "string" + }, + "description": { + "description": "A textual description of this variant set.", + "type": "string" } }, "id": "VariantSet" }, "ReferenceBound": { + "id": "ReferenceBound", "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" + } }, "BatchCreateAnnotationsResponse": { "type": "object", @@ -2123,16 +840,16 @@ "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.", - "type": "string" - }, "callSets": { "description": "The list of matching call sets.", "items": { "$ref": "CallSet" }, "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": "SearchCallSetsResponse" @@ -2141,15 +858,37 @@ "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.", + "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": { + "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" }, @@ -2168,11 +907,11 @@ "type": "array" }, "calls": { - "description": "The variant calls for this particular variant. Each one represents the\ndetermination of genotype with respect to this variant.", "items": { "$ref": "VariantCall" }, - "type": "array" + "type": "array", + "description": "The variant calls for this particular variant. Each one represents the\ndetermination of genotype with respect to this variant." }, "created": { "format": "int64", @@ -2192,40 +931,17 @@ "id": { "description": "The server-generated variant ID, unique across all variants.", "type": "string" - }, - "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" }, "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 +950,25 @@ }, "type": "array" } - } + }, + "id": "ListOperationsResponse" }, "OperationMetadata": { + "description": "Metadata describing an Operation.", "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.", + "description": "Runtime metadata on this Operation.", "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" - } + "createTime": { + "format": "google-datetime", + "description": "The time at which the job was submitted to the Genomics service.", + "type": "string" }, "labels": { "additionalProperties": { @@ -2267,11 +977,6 @@ "description": "Optionally provided by the caller when submitting the request that creates\nthe operation.", "type": "object" }, - "createTime": { - "type": "string", - "format": "google-datetime", - "description": "The time at which the job was submitted to the Genomics service." - }, "projectId": { "description": "The Google Cloud Project in which the job is scoped.", "type": "string" @@ -2280,6 +985,11 @@ "type": "string", "description": "This field is deprecated. Use `labels` instead. Optionally provided by the\ncaller when submitting the request that creates the operation." }, + "endTime": { + "format": "google-datetime", + "description": "The time at which the job stopped running.", + "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.", "items": { @@ -2287,17 +997,23 @@ }, "type": "array" }, - "endTime": { + "startTime": { + "type": "string", "format": "google-datetime", - "description": "The time at which the job stopped running.", - "type": "string" + "description": "The time at which the job began to run." + }, + "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." + "id": "OperationMetadata" }, "SearchVariantsRequest": { - "id": "SearchVariantsRequest", "description": "The variant search request.", "type": "object", "properties": { @@ -2344,21 +1060,26 @@ "type": "string" }, "referenceName": { - "description": "Required. Only return variants in this reference sequence.", - "type": "string" + "type": "string", + "description": "Required. Only return variants in this reference sequence." } - } + }, + "id": "SearchVariantsRequest" }, "SearchReadGroupSetsRequest": { - "description": "The read group set search request.", "type": "object", "properties": { + "pageSize": { + "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", - "description": "Restricts this query to read group sets within the given datasets. At least\none ID must be provided." + "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.", @@ -2367,64 +1088,31 @@ "name": { "description": "Only return read group 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 256. The maximum value is 1024.", - "type": "integer" } }, - "id": "SearchReadGroupSetsRequest" + "id": "SearchReadGroupSetsRequest", + "description": "The read group set search request." }, "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" } - } - }, - "SearchReadsResponse": { - "id": "SearchReadsResponse", - "description": "The read 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" - }, - "alignments": { - "description": "The list of matching alignments sorted by mapped genomic coordinate,\nif any, ascending in position within the same reference. Unmapped reads,\nwhich have no position, are returned contiguously and are sorted in\nascending lexicographic order by fragment name.", - "items": { - "$ref": "Read" - }, - "type": "array" - } - } + }, + "id": "SearchAnnotationsResponse", + "type": "object" }, "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" @@ -2435,16 +1123,50 @@ "$ref": "ExternalId" }, "type": "array" + }, + "conceptId": { + "type": "string", + "description": "The MedGen concept id associated with this gene.\nSearch for these IDs at http://www.ncbi.nlm.nih.gov/medgen/" + }, + "names": { + "description": "A set of names for the condition.", + "items": { + "type": "string" + }, + "type": "array" } }, "id": "ClinicalCondition" }, + "SearchReadsResponse": { + "properties": { + "alignments": { + "description": "The list of matching alignments sorted by mapped genomic coordinate,\nif any, ascending in position within the same reference. Unmapped reads,\nwhich have no position, are returned contiguously and are sorted in\nascending lexicographic order by fragment name.", + "items": { + "$ref": "Read" + }, + "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": "SearchReadsResponse", + "description": "The read search response.", + "type": "object" + }, "Program": { + "id": "Program", "type": "object", "properties": { + "name": { + "description": "The display name of the program. This is typically the colloquial name of\nthe tool used, for example 'bwa' or 'picard'.", + "type": "string" + }, "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.", @@ -2457,33 +1179,21 @@ "id": { "description": "The user specified locally unique ID of the program. Used along with\n`prevProgramId` to define an ordering between programs.", "type": "string" - }, - "name": { - "description": "The display name of the program. This is typically the colloquial name of\nthe tool used, for example 'bwa' or 'picard'.", - "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" + } }, "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" + }, "diskNames": { "description": "The names of the disks that were created for this pipeline.", "items": { @@ -2494,35 +1204,121 @@ "machineType": { "description": "The machine type of the instance.", "type": "string" - }, - "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." + "id": "ComputeEngine" + }, + "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": { + "range": { + "description": "The genomic coordinate range spanned by this bucket.", + "$ref": "Range" + }, + "meanCoverage": { + "format": "float", + "description": "The average number of reads which are aligned to each individual\nreference base in this bucket.", + "type": "number" + } + }, + "id": "CoverageBucket" }, "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" + }, + "sourceName": { + "description": "The name of the source of this data.", + "type": "string" } } }, + "SearchVariantSetsRequest": { + "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" + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 1024.", + "type": "integer" + }, + "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" + } + }, + "id": "SearchVariantSetsRequest", + "description": "The search variant sets request." + }, + "VariantSetMetadata": { + "properties": { + "key": { + "description": "The top-level key.", + "type": "string" + }, + "description": { + "type": "string", + "description": "A textual description of this metadata." + }, + "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": { + "enum": [ + "TYPE_UNSPECIFIED", + "INTEGER", + "FLOAT", + "FLAG", + "CHARACTER", + "STRING" + ], + "description": "The type of data. Possible types include: Integer, Float,\nFlag, Character, and String.", + "type": "string", + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ] + }, + "number": { + "description": "The number of values that can be included in a field described by this\nmetadata.", + "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" + }, + "value": { + "description": "The value field for simple metadata", + "type": "string" + } + }, + "id": "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" + }, "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": { @@ -2559,100 +1355,29 @@ "type": "array" } }, - "id": "Reference" + "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)" }, - "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.", + "SearchReferenceSetsRequest": { "type": "object", "properties": { - "key": { - "description": "The top-level key.", - "type": "string" - }, - "description": { - "description": "A textual description of this metadata.", - "type": "string" - }, - "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.", - "type": "string" - } - }, - "id": "VariantSetMetadata" - }, - "SearchVariantSetsRequest": { - "description": "The search variant sets request.", - "type": "object", - "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" }, "accessions": { - "description": "If present, return reference sets for which a prefix of any of\nsourceAccessions\nmatch any of these strings. Accession numbers typically have a main number\nand a version, for example `NC_000001.11`.", "items": { "type": "string" }, - "type": "array" + "type": "array", + "description": "If present, return reference sets for which a prefix of any of\nsourceAccessions\nmatch any of these strings. Accession numbers typically have a main number\nand a version, for example `NC_000001.11`." }, "pageSize": { "format": "int32", @@ -2662,41 +1387,32 @@ "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" + "id": "SearchReferenceSetsRequest" }, "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." + "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", - "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 +1421,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.", @@ -2718,14 +1435,45 @@ "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", "properties": { + "duplicateFragment": { + "description": "The fragment is a PCR or optical duplicate (SAM flag 0x400).", + "type": "boolean" + }, + "readNumber": { + "format": "int32", + "description": "The read number in sequencing. 0-based and less than numberReads. This\nfield replaces SAM flag 0x40 and 0x80.", + "type": "integer" + }, + "alignedSequence": { + "description": "The bases of the read sequence contained in this alignment record,\n**without CIGAR operations applied** (equivalent to SEQ in SAM).\n`alignedSequence` and `alignedQuality` may be\nshorter than the full read sequence and quality. This will occur if the\nalignment is part of a chimeric alignment, or if the read was trimmed. When\nthis occurs, the CIGAR for this read will begin/end with a hard clip\noperator that will indicate the length of the excised sequence.", + "type": "string" + }, + "readGroupId": { + "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" + }, + "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" + }, + "nextMatePosition": { + "$ref": "Position", + "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." + }, + "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" }, - "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.", @@ -2744,18 +1492,18 @@ "type": "array" }, "alignment": { - "description": "The linear alignment for this alignment record. This field is null for\nunmapped reads.", - "$ref": "LinearAlignment" + "$ref": "LinearAlignment", + "description": "The linear alignment for this alignment record. This field is null for\nunmapped reads." + }, + "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" @@ -2767,37 +1515,6 @@ "readGroupSetId": { "description": "The ID of the read group set this read belongs to. A read belongs to\nexactly one read group set.", "type": "string" - }, - "duplicateFragment": { - "type": "boolean", - "description": "The fragment is a PCR or optical duplicate (SAM flag 0x400)." - }, - "readNumber": { - "format": "int32", - "description": "The read number in sequencing. 0-based and less than numberReads. This\nfield replaces SAM flag 0x40 and 0x80.", - "type": "integer" - }, - "alignedSequence": { - "description": "The bases of the read sequence contained in this alignment record,\n**without CIGAR operations applied** (equivalent to SEQ in SAM).\n`alignedSequence` and `alignedQuality` may be\nshorter than the full read sequence and quality. This will occur if the\nalignment is part of a chimeric alignment, or if the read was trimmed. When\nthis occurs, the CIGAR for this read will begin/end with a hard clip\noperator that will indicate the length of the excised sequence.", - "type": "string" - }, - "readGroupId": { - "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": { - "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": "Read" @@ -2805,27 +1522,24 @@ "BatchCreateAnnotationsRequest": { "type": "object", "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.", - "type": "string" - }, "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" }, "CigarUnit": { + "description": "A single CIGAR operation.", + "type": "object", "properties": { - "operationLength": { - "format": "int64", - "description": "The number of genomic bases that the operation runs for. Required.", - "type": "string" - }, "operation": { "type": "string", "enumDescriptions": [ @@ -2856,27 +1570,48 @@ "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" + }, + "operationLength": { + "format": "int64", + "description": "The number of genomic bases that the operation runs for. Required.", + "type": "string" } }, - "id": "CigarUnit", - "description": "A single CIGAR operation.", - "type": "object" + "id": "CigarUnit" }, "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`.", + "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" }, + "assemblyId": { + "description": "Public id of this reference set, such as `GRCh37`.", + "type": "string" + }, + "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." + }, + "id": { + "description": "The server-generated reference set ID, unique across all reference sets.", + "type": "string" + }, + "sourceAccessions": { + "items": { + "type": "string" + }, + "type": "array", + "description": "All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally\nwith a version number, for example `NC_000001.11`." + }, + "description": { + "description": "Free text description of this reference set.", + "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.", @@ -2885,28 +1620,10 @@ "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" + "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)" }, "Transcript": { "description": "A transcript represents the assertion that a particular region of the\nreference genome may be transcribed as RNA.", @@ -2934,14 +1651,6 @@ "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,16 +1659,6 @@ "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": { "description": "The type of annotations contained within this set.", "type": "string", @@ -2978,18 +1677,37 @@ "TRANSCRIPT" ] }, + "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" + } + }, "id": { "description": "The server-generated annotation set ID, unique across all annotation sets.", "type": "string" + }, + "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" } }, "id": "AnnotationSet" }, "Experiment": { + "type": "object", "properties": { "sequencingCenter": { - "description": "The sequencing center used as part of this experiment.", - "type": "string" + "type": "string", + "description": "The sequencing center used as part of this experiment." }, "platformUnit": { "description": "The platform unit used as part of this experiment, for example\nflowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the\n@RG PU field in the SAM spec.", @@ -3000,12 +1718,11 @@ "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" + "id": "Experiment" }, "ListDatasetsResponse": { "description": "The dataset list response.", @@ -3030,11 +1747,11 @@ "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" + "type": "array", + "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`" } }, "id": "TestIamPermissionsRequest" @@ -3043,20 +1760,20 @@ "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" + }, + "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": { + "type": "string", + "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." } }, "id": "ExportReadGroupSetRequest" @@ -3065,9 +1782,9 @@ "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." + "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", @@ -3083,25 +1800,13 @@ "id": "Exon" }, "CallSet": { + "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", "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" + "type": "string", + "description": "The call set name." }, "info": { "additionalProperties": { @@ -3119,23 +1824,35 @@ "type": "string" }, "type": "array" + }, + "id": { + "description": "The server-generated call set ID, unique across all call sets.", + "type": "string" + }, + "created": { + "type": "string", + "format": "int64", + "description": "The date this call set was created in milliseconds from the epoch." + }, + "sampleId": { + "description": "The sample ID this call set corresponds to.", + "type": "string" } - }, - "id": "CallSet" + } }, "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" - }, - "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" @@ -3148,12 +1865,12 @@ "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" - ] + ], + "type": "string" } }, "sourceUris": { @@ -3213,7 +1930,40 @@ "VariantAnnotation": { "type": "object", "properties": { + "type": { + "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", + "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." + ] + }, + "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": { + "type": "string", "enumDescriptions": [ "", "`OTHER` should be used when no other clinical significance\nvalue will suffice.", @@ -3246,29 +1996,16 @@ "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" + "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/" }, "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" + "type": "array", + "description": "The set of conditions associated with this variant.\nA condition describes the way a variant influences human health." }, "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": [ "", @@ -3280,7 +2017,19 @@ "`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." }, "transcriptIds": { "description": "Google annotation IDs of the transcripts affected by this variant. These\nshould be provided when the variant is created.", @@ -3288,38 +2037,6 @@ "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" @@ -3336,6 +2053,8 @@ "type": "string" }, "format": { + "description": "The format for the exported data.", + "type": "string", "enumDescriptions": [ "", "Export the data to Google BigQuery." @@ -3343,9 +2062,7 @@ "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.", @@ -3363,31 +2080,8 @@ "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.", @@ -3399,11 +2093,33 @@ "type": "string" }, "type": "array" + }, + "referenceName": { + "description": "The name of the reference to query, within the reference set associated\nwith this query.", + "type": "string" + }, + "referenceId": { + "type": "string", + "description": "The ID of the reference to query." + }, + "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": { + "type": "integer", + "format": "int32", + "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 256. The maximum value is 2048." } - } + }, + "id": "SearchAnnotationsRequest" }, "OperationEvent": { - "id": "OperationEvent", "description": "An event that occurred during an Operation.", "type": "object", "properties": { @@ -3421,15 +2137,16 @@ "description": "Required description of event.", "type": "string" } - } + }, + "id": "OperationEvent" }, "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." + "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", @@ -3439,29 +2156,6 @@ }, "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.", @@ -3476,319 +2170,46 @@ } } }, - "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.", + "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" }, - "readGroupSets": { - "description": "The list of matching read group sets.", + "references": { + "description": "The matching references.", "items": { - "$ref": "ReadGroupSet" + "$ref": "Reference" }, "type": "array" } }, - "id": "SearchReadGroupSetsResponse" + "id": "SearchReferencesResponse" }, - "SearchReferencesRequest": { + "GetIamPolicyRequest": { + "description": "Request message for `GetIamPolicy` method.", "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", - "type": "object" + "id": "GetIamPolicyRequest" } }, - "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": "v1", "baseUrl": "https://genomics.googleapis.com/", "auth": { "oauth2": { "scopes": { + "https://www.googleapis.com/auth/devstorage.read_write": { + "description": "Manage your data in Google Cloud Storage" + }, + "https://www.googleapis.com/auth/bigquery": { + "description": "View and manage your data in Google BigQuery" + }, "https://www.googleapis.com/auth/genomics.readonly": { "description": "View Genomics data" }, @@ -3797,12 +2218,6 @@ }, "https://www.googleapis.com/auth/genomics": { "description": "View and manage Genomics data" - }, - "https://www.googleapis.com/auth/devstorage.read_write": { - "description": "Manage your data in Google Cloud Storage" - }, - "https://www.googleapis.com/auth/bigquery": { - "description": "View and manage your data in Google BigQuery" } } } @@ -3813,5 +2228,1590 @@ "rootUrl": "https://genomics.googleapis.com/", "basePath": "", "ownerDomain": "google.com", - "name": "genomics" + "name": "genomics", + "batchPath": "batch", + "id": "genomics:v1", + "documentationLink": "https://cloud.google.com/genomics", + "revision": "20170824", + "title": "Genomics API", + "ownerName": "Google", + "discoveryVersion": "v1", + "resources": { + "variantsets": { + "methods": { + "search": { + "response": { + "$ref": "SearchVariantSetsResponse" + }, + "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/variantsets/search", + "id": "genomics.variantsets.search", + "path": "v1/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)." + }, + "patch": { + "id": "genomics.variantsets.patch", + "path": "v1/variantsets/{variantSetId}", + "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}" + }, + "get": { + "httpMethod": "GET", + "response": { + "$ref": "VariantSet" + }, + "parameterOrder": [ + "variantSetId" + ], + "parameters": { + "variantSetId": { + "description": "Required. The ID of the variant set.", + "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/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)" + }, + "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)" + }, + "create": { + "flatPath": "v1/variantsets", + "path": "v1/variantsets", + "id": "genomics.variantsets.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" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ] + }, + "export": { + "request": { + "$ref": "ExportVariantSetRequest" + }, + "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)", + "httpMethod": "POST", + "parameterOrder": [ + "variantSetId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "variantSetId": { + "location": "path", + "description": "Required. The ID of the variant set that contains variant data which\nshould be exported. The caller must have READ access to this variant set.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/variantsets/{variantSetId}:export", + "path": "v1/variantsets/{variantSetId}:export", + "id": "genomics.variantsets.export" + } + } + }, + "annotations": { + "methods": { + "create": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Annotation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": {}, + "flatPath": "v1/annotations", + "path": "v1/annotations", + "id": "genomics.annotations.create", + "request": { + "$ref": "Annotation" + }, + "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." + }, + "batchCreate": { + "response": { + "$ref": "BatchCreateAnnotationsResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/annotations:batchCreate", + "id": "genomics.annotations.batchCreate", + "path": "v1/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" + } + }, + "search": { + "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", + "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" + } + }, + "get": { + "description": "Gets an annotation. Caller must have READ permission\nfor the associated annotation set.", + "httpMethod": "GET", + "parameterOrder": [ + "annotationId" + ], + "response": { + "$ref": "Annotation" + }, + "parameters": { + "annotationId": { + "description": "The ID of the annotation to be retrieved.", + "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/annotations/{annotationId}", + "path": "v1/annotations/{annotationId}", + "id": "genomics.annotations.get" + }, + "update": { + "id": "genomics.annotations.update", + "path": "v1/annotations/{annotationId}", + "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" + ], + "parameters": { + "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" + }, + "annotationId": { + "location": "path", + "description": "The ID of the annotation to be updated.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/annotations/{annotationId}" + }, + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "annotationId" + ], + "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}", + "path": "v1/annotations/{annotationId}", + "id": "genomics.annotations.delete", + "description": "Deletes an annotation. Caller must have WRITE permission for\nthe associated annotation set." + } + } + }, + "operations": { + "methods": { + "get": { + "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.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "type": "string", + "required": true, + "pattern": "^operations/.+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/operations/{operationsId}" + }, + "list": { + "flatPath": "v1/operations", + "id": "genomics.operations.list", + "path": "v1/{+name}", + "description": "Lists operations that match the specified filter in the request.", + "response": { + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "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" + }, + "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": { + "description": "The name of the operation's parent resource.", + "type": "string", + "required": true, + "pattern": "^operations$", + "location": "path" + } + } + }, + "cancel": { + "flatPath": "v1/operations/{operationsId}:cancel", + "path": "v1/{+name}:cancel", + "id": "genomics.operations.cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "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.", + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "type": "string", + "required": true, + "pattern": "^operations/.+$", + "location": "path" + } + } + } + } + }, + "referencesets": { + "methods": { + "search": { + "response": { + "$ref": "SearchReferenceSetsResponse" + }, + "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/referencesets/search", + "id": "genomics.referencesets.search", + "path": "v1/referencesets/search", + "request": { + "$ref": "SearchReferenceSetsRequest" + }, + "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)" + }, + "get": { + "description": "Gets a reference set.\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.getReferenceSet](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L83).", + "response": { + "$ref": "ReferenceSet" + }, + "parameterOrder": [ + "referenceSetId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], + "parameters": { + "referenceSetId": { + "description": "The ID of the reference set.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/referencesets/{referenceSetId}", + "id": "genomics.referencesets.get", + "path": "v1/referencesets/{referenceSetId}" + } + } + }, + "callsets": { + "methods": { + "get": { + "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)", + "response": { + "$ref": "CallSet" + }, + "parameterOrder": [ + "callSetId" + ], + "httpMethod": "GET", + "parameters": { + "callSetId": { + "description": "The ID of the call set.", + "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/callsets/{callSetId}", + "id": "genomics.callsets.get", + "path": "v1/callsets/{callSetId}" + }, + "patch": { + "response": { + "$ref": "CallSet" + }, + "parameterOrder": [ + "callSetId" + ], + "httpMethod": "PATCH", + "parameters": { + "callSetId": { + "location": "path", + "description": "The ID of the call set to be updated.", + "type": "string", + "required": true + }, + "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": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "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" + } + }, + "create": { + "response": { + "$ref": "CallSet" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/callsets", + "id": "genomics.callsets.create", + "path": "v1/callsets", + "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)", + "request": { + "$ref": "CallSet" + } + }, + "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)", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "callSetId" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "callSetId": { + "location": "path", + "description": "The ID of the call set to be deleted.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/callsets/{callSetId}", + "id": "genomics.callsets.delete", + "path": "v1/callsets/{callSetId}" + }, + "search": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "SearchCallSetsResponse" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "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", + "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" + } + } + } + }, + "reads": { + "methods": { + "search": { + "description": "Gets a list of reads for one or more read group sets.\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\nReads search operates over a genomic coordinate space of reference sequence\n& position defined over the reference sequences to which the requested\nread group sets are aligned.\n\nIf a target positional range is specified, search returns all reads whose\nalignment to the reference genome overlap the range. A query which\nspecifies only read group set IDs yields all reads in those read group\nsets, including unmapped reads.\n\nAll reads returned (including reads on subsequent pages) are ordered by\ngenomic coordinate (by reference sequence, then position). Reads with\nequivalent genomic coordinates are returned in an unspecified order. This\norder is consistent, such that two queries for the same content (regardless\nof page size) yield reads in the same order across their respective streams\nof paginated responses.\n\nImplements\n[GlobalAllianceApi.searchReads](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/readmethods.avdl#L85).", + "request": { + "$ref": "SearchReadsRequest" + }, + "response": { + "$ref": "SearchReadsResponse" + }, + "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/reads/search", + "id": "genomics.reads.search", + "path": "v1/reads/search" + } + } + }, + "readgroupsets": { + "methods": { + "export": { + "httpMethod": "POST", + "parameterOrder": [ + "readGroupSetId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.read_write", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "readGroupSetId": { + "type": "string", + "required": true, + "location": "path", + "description": "Required. The ID of the read group set to export. The caller must have\nREAD access to this read group set." + } + }, + "flatPath": "v1/readgroupsets/{readGroupSetId}:export", + "path": "v1/readgroupsets/{readGroupSetId}:export", + "id": "genomics.readgroupsets.export", + "request": { + "$ref": "ExportReadGroupSetRequest" + }, + "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." + }, + "search": { + "response": { + "$ref": "SearchReadGroupSetsResponse" + }, + "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/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": { + "httpMethod": "GET", + "parameterOrder": [ + "readGroupSetId" + ], + "response": { + "$ref": "ReadGroupSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], + "parameters": { + "readGroupSetId": { + "description": "The ID of the read group set.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/readgroupsets/{readGroupSetId}", + "path": "v1/readgroupsets/{readGroupSetId}", + "id": "genomics.readgroupsets.get", + "description": "Gets a read group set by ID.\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)" + }, + "patch": { + "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": { + "type": "string", + "required": true, + "location": "path", + "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." + }, + "updateMask": { + "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", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/readgroupsets/{readGroupSetId}" + }, + "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/readgroupsets:import", + "path": "v1/readgroupsets:import", + "id": "genomics.readgroupsets.import", + "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)", + "request": { + "$ref": "ImportReadGroupSetsRequest" + } + }, + "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)", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "readGroupSetId" + ], + "httpMethod": "DELETE", + "parameters": { + "readGroupSetId": { + "location": "path", + "description": "The ID of the read group set to be deleted. The caller must have WRITE\npermissions to the dataset associated with this read group set.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/readgroupsets/{readGroupSetId}", + "id": "genomics.readgroupsets.delete", + "path": "v1/readgroupsets/{readGroupSetId}" + } + }, + "resources": { + "coveragebuckets": { + "methods": { + "list": { + "flatPath": "v1/readgroupsets/{readGroupSetId}/coveragebuckets", + "path": "v1/readgroupsets/{readGroupSetId}/coveragebuckets", + "id": "genomics.readgroupsets.coveragebuckets.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.", + "httpMethod": "GET", + "parameterOrder": [ + "readGroupSetId" + ], + "response": { + "$ref": "ListCoverageBucketsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], + "parameters": { + "pageSize": { + "location": "query", + "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": { + "location": "query", + "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" + }, + "readGroupSetId": { + "description": "Required. The ID of the read group set over which coverage is requested.", + "type": "string", + "required": true, + "location": "path" + }, + "targetBucketWidth": { + "type": "string", + "location": "query", + "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." + }, + "referenceName": { + "location": "query", + "description": "The name of the reference to query, within the reference set associated\nwith this query. Optional.", + "type": "string" + }, + "end": { + "type": "string", + "location": "query", + "format": "int64", + "description": "The end position of the range on the reference, 0-based exclusive. If\nspecified, `referenceName` must also be specified. If unset or 0, defaults\nto the length of the reference." + }, + "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" + } + } + } + } + } + } + }, + "variants": { + "methods": { + "get": { + "flatPath": "v1/variants/{variantId}", + "path": "v1/variants/{variantId}", + "id": "genomics.variants.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)", + "httpMethod": "GET", + "parameterOrder": [ + "variantId" + ], + "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 + } + } + }, + "patch": { + "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": { + "type": "string", + "required": true, + "location": "path", + "description": "The ID of the variant to be updated." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/variants/{variantId}", + "id": "genomics.variants.patch", + "path": "v1/variants/{variantId}", + "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" + }, + "response": { + "$ref": "Variant" + }, + "parameterOrder": [ + "variantId" + ], + "httpMethod": "PATCH" + }, + "import": { + "flatPath": "v1/variants:import", + "path": "v1/variants:import", + "id": "genomics.variants.import", + "request": { + "$ref": "ImportVariantsRequest" + }, + "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.", + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.read_write", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": {} + }, + "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)", + "httpMethod": "DELETE", + "parameterOrder": [ + "variantId" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "variantId": { + "location": "path", + "description": "The ID of the variant to be deleted.", + "type": "string", + "required": true + } + }, + "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" + }, + "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" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": {}, + "flatPath": "v1/variants:merge", + "path": "v1/variants:merge", + "id": "genomics.variants.merge" + }, + "create": { + "response": { + "$ref": "Variant" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/variants", + "id": "genomics.variants.create", + "path": "v1/variants", + "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" + } + }, + "search": { + "response": { + "$ref": "SearchVariantsResponse" + }, + "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/variants/search", + "id": "genomics.variants.search", + "path": "v1/variants/search", + "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).", + "request": { + "$ref": "SearchVariantsRequest" + } + } + } + }, + "annotationsets": { + "methods": { + "update": { + "response": { + "$ref": "AnnotationSet" + }, + "parameterOrder": [ + "annotationSetId" + ], + "httpMethod": "PUT", + "parameters": { + "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" + }, + "annotationSetId": { + "description": "The ID of the annotation set 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/annotationsets/{annotationSetId}", + "id": "genomics.annotationsets.update", + "path": "v1/annotationsets/{annotationSetId}", + "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": { + "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" + }, + "response": { + "$ref": "AnnotationSet" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/annotationsets", + "id": "genomics.annotationsets.create", + "path": "v1/annotationsets" + }, + "delete": { + "httpMethod": "DELETE", + "parameterOrder": [ + "annotationSetId" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "annotationSetId": { + "location": "path", + "description": "The ID of the annotation set to be deleted.", + "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": { + "flatPath": "v1/annotationsets/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" + }, + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "SearchAnnotationSetsResponse" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ] + }, + "get": { + "response": { + "$ref": "AnnotationSet" + }, + "parameterOrder": [ + "annotationSetId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], + "parameters": { + "annotationSetId": { + "location": "path", + "description": "The ID of the annotation set to be retrieved.", + "type": "string", + "required": true + } + }, + "flatPath": "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." + } + } + }, + "references": { + "methods": { + "search": { + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], + "flatPath": "v1/references/search", + "id": "genomics.references.search", + "path": "v1/references/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" + }, + "response": { + "$ref": "SearchReferencesResponse" + }, + "parameterOrder": [], + "httpMethod": "POST" + }, + "get": { + "flatPath": "v1/references/{referenceId}", + "id": "genomics.references.get", + "path": "v1/references/{referenceId}", + "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).", + "response": { + "$ref": "Reference" + }, + "parameterOrder": [ + "referenceId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], + "parameters": { + "referenceId": { + "location": "path", + "description": "The ID of the reference.", + "type": "string", + "required": true + } + } + } + }, + "resources": { + "bases": { + "methods": { + "list": { + "description": "Lists the bases in a reference, optionally restricted to a range.\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.getReferenceBases](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L221).", + "response": { + "$ref": "ListBasesResponse" + }, + "parameterOrder": [ + "referenceId" + ], + "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": { + "type": "string", + "location": "query", + "format": "int64", + "description": "The start position (0-based) of this query. Defaults to 0." + }, + "referenceId": { + "location": "path", + "description": "The ID of the reference.", + "type": "string", + "required": true + }, + "end": { + "location": "query", + "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": { + "location": "query", + "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" + } + }, + "flatPath": "v1/references/{referenceId}/bases", + "id": "genomics.references.bases.list", + "path": "v1/references/{referenceId}/bases" + } + } + } + } + }, + "datasets": { + "methods": { + "setIamPolicy": { + "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", + "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" + } + }, + "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)", + "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" + }, + "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" + }, + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/datasets/{datasetsId}:getIamPolicy", + "id": "genomics.datasets.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy" + }, + "undelete": { + "flatPath": "v1/datasets/{datasetId}:undelete", + "path": "v1/datasets/{datasetId}:undelete", + "id": "genomics.datasets.undelete", + "request": { + "$ref": "UndeleteDatasetRequest" + }, + "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.", + "httpMethod": "POST", + "parameterOrder": [ + "datasetId" + ], + "response": { + "$ref": "Dataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "datasetId": { + "location": "path", + "description": "The ID of the dataset to be undeleted.", + "type": "string", + "required": true + } + } + }, + "get": { + "response": { + "$ref": "Dataset" + }, + "parameterOrder": [ + "datasetId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], + "parameters": { + "datasetId": { + "description": "The ID of the dataset.", + "type": "string", + "required": true, + "location": "path" + } + }, + "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)" + }, + "patch": { + "request": { + "$ref": "Dataset" + }, + "description": "Updates a 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)\n\nThis method supports patch semantics.", + "httpMethod": "PATCH", + "parameterOrder": [ + "datasetId" + ], + "response": { + "$ref": "Dataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "datasetId": { + "type": "string", + "required": true, + "location": "path", + "description": "The ID of the dataset to be updated." + }, + "updateMask": { + "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", + "location": "query" + } + }, + "flatPath": "v1/datasets/{datasetId}", + "path": "v1/datasets/{datasetId}", + "id": "genomics.datasets.patch" + }, + "testIamPermissions": { + "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)", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "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}:testIamPermissions", + "id": "genomics.datasets.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions" + }, + "delete": { + "parameterOrder": [ + "datasetId" + ], + "response": { + "$ref": "Empty" + }, + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "datasetId": { + "location": "path", + "description": "The ID of the dataset to be deleted.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/datasets/{datasetId}", + "id": "genomics.datasets.delete", + "path": "v1/datasets/{datasetId}", + "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": { + "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)", + "response": { + "$ref": "ListDatasetsResponse" + }, + "parameterOrder": [], + "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 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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], + "flatPath": "v1/datasets" + } + } + } + }, + "parameters": { + "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": { + "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" + }, + "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": { + "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" + ] + } + } } 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 1bfdd88..db7a754 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"` @@ -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 4e92706..237e646 100644 --- a/vendor/google.golang.org/api/genomics/v1alpha2/genomics-api.json +++ b/vendor/google.golang.org/api/genomics/v1alpha2/genomics-api.json @@ -1,29 +1,163 @@ { + "ownerName": "Google", + "discoveryVersion": "v1", "resources": { "pipelines": { "methods": { + "get": { + "response": { + "$ref": "Pipeline" + }, + "parameterOrder": [ + "pipelineId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "pipelineId": { + "location": "path", + "description": "Caller must have READ access to the project in which this pipeline\nis defined.", + "type": "string", + "required": true + } + }, + "flatPath": "v1alpha2/pipelines/{pipelineId}", + "id": "genomics.pipelines.get", + "path": "v1alpha2/pipelines/{pipelineId}", + "description": "Retrieves a pipeline based on ID.\n\nCaller must have READ permission to the project." + }, + "setOperationStatus": { + "path": "v1alpha2/pipelines:setOperationStatus", + "id": "genomics.pipelines.setOperationStatus", + "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.", + "request": { + "$ref": "SetOperationStatusRequest" + }, + "httpMethod": "PUT", + "parameterOrder": [], + "response": { + "$ref": "Empty" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1alpha2/pipelines:setOperationStatus" + }, + "getControllerConfig": { + "id": "genomics.pipelines.getControllerConfig", + "path": "v1alpha2/pipelines:getControllerConfig", + "description": "Gets controller configuration information. Should only be called\nby VMs created by the Pipelines Service and not by end users.", + "response": { + "$ref": "ControllerConfig" + }, + "parameterOrder": [], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "operationId": { + "type": "string", + "location": "query", + "description": "The operation to retrieve controller configuration for." + }, + "validationToken": { + "location": "query", + "format": "uint64", + "type": "string" + } + }, + "flatPath": "v1alpha2/pipelines:getControllerConfig" + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "pipelineId" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "pipelineId": { + "location": "path", + "description": "Caller must have WRITE access to the project in which this pipeline\nis defined.", + "type": "string", + "required": true + } + }, + "flatPath": "v1alpha2/pipelines/{pipelineId}", + "id": "genomics.pipelines.delete", + "path": "v1alpha2/pipelines/{pipelineId}", + "description": "Deletes a pipeline based on ID.\n\nCaller must have WRITE permission to the project." + }, + "list": { + "httpMethod": "GET", + "parameterOrder": [], + "response": { + "$ref": "ListPipelinesResponse" + }, + "parameters": { + "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" + }, + "pageToken": { + "location": "query", + "description": "Token to use to indicate where to start getting results.\nIf unspecified, returns the first page of results.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Number of pipelines to return at once. Defaults to 256, and max\nis 2048.", + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1alpha2/pipelines", + "path": "v1alpha2/pipelines", + "id": "genomics.pipelines.list", + "description": "Lists pipelines.\n\nCaller must have READ permission to the project." + }, "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" }, - "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", + "parameters": {}, "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" }, @@ -39,147 +173,94 @@ "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" - ], - "httpMethod": "GET", - "parameters": { - "pipelineId": { - "location": "path", - "description": "Caller must have READ access to the project in which this pipeline\nis defined.", - "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.get", - "path": "v1alpha2/pipelines/{pipelineId}" - }, - "setOperationStatus": { - "httpMethod": "PUT", - "parameterOrder": [], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": {}, - "flatPath": "v1alpha2/pipelines:setOperationStatus", - "path": "v1alpha2/pipelines:setOperationStatus", - "id": "genomics.pipelines.setOperationStatus", - "request": { - "$ref": "SetOperationStatusRequest" - }, - "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": { - "description": "Deletes a pipeline based on ID.\n\nCaller must have WRITE permission to the project.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "pipelineId" - ], - "httpMethod": "DELETE", - "parameters": { - "pipelineId": { - "location": "path", - "description": "Caller must have WRITE access to the project in which this pipeline\nis defined.", - "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": { - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": { - "operationId": { - "location": "query", - "description": "The operation to retrieve controller configuration for.", - "type": "string" - }, - "validationToken": { - "location": "query", - "format": "uint64", - "type": "string" - } - }, - "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": [] - }, - "list": { - "description": "Lists pipelines.\n\nCaller must have READ permission to the project.", - "response": { - "$ref": "ListPipelinesResponse" - }, - "parameterOrder": [], - "httpMethod": "GET", - "parameters": { - "pageToken": { - "location": "query", - "description": "Token to use to indicate where to start getting results.\nIf unspecified, returns the first page of results.", - "type": "string" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Number of pipelines to return at once. Defaults to 256, and max\nis 2048.", - "type": "integer" - }, - "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": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1alpha2/pipelines", - "id": "genomics.pipelines.list", - "path": "v1alpha2/pipelines" + "flatPath": "v1alpha2/pipelines:run", + "id": "genomics.pipelines.run", + "path": "v1alpha2/pipelines:run" } } }, "operations": { "methods": { + "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": { + "description": "Lists operations that match the specified filter in the request.", + "httpMethod": "GET", + "response": { + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [ + "name" + ], + "parameters": { + "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" + }, + "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": { + "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$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1alpha2/operations", + "path": "v1alpha2/{+name}", + "id": "genomics.operations.list" + }, "cancel": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], "parameters": { "name": { "pattern": "^operations/.+$", @@ -189,152 +270,34 @@ "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], "flatPath": "v1alpha2/operations/{operationsId}:cancel", - "path": "v1alpha2/{+name}:cancel", "id": "genomics.operations.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.", + "path": "v1alpha2/{+name}:cancel", "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" + "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." } } } }, "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": { + "location": "query", "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" + "type": "string" }, "uploadType": { "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string", "location": "query" }, - "$.xgafv": { - "description": "V1 error format.", + "callback": { + "description": "JSONP", "type": "string", + "location": "query" + }, + "$.xgafv": { "enumDescriptions": [ "v1 error format", "v2 error format" @@ -343,16 +306,11 @@ "enum": [ "1", "2" - ] - }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" + ], + "description": "V1 error format.", + "type": "string" }, "alt": { - "description": "Data format for response.", - "default": "json", "enum": [ "json", "media", @@ -364,347 +322,78 @@ "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": { + "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" + }, + "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" } }, "schemas": { - "ServiceAccount": { - "id": "ServiceAccount", - "description": "A Google Cloud Service Account.", - "type": "object", - "properties": { - "scopes": { - "description": "List of scopes to be enabled for this service account on the VM.\nThe following scopes are automatically included:\n\n* https://www.googleapis.com/auth/compute\n* https://www.googleapis.com/auth/devstorage.full_control\n* https://www.googleapis.com/auth/genomics\n* https://www.googleapis.com/auth/logging.write\n* https://www.googleapis.com/auth/monitoring.write", - "items": { - "type": "string" - }, - "type": "array" - }, - "email": { - "description": "Email address of the service account. Defaults to `default`,\nwhich uses the compute service account associated with the project.", - "type": "string" - } - } - }, - "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": { - "resources": { - "description": "Required. Specifies resource requirements for the pipeline run.\nRequired fields:\n\n*\nminimumCpuCores\n\n*\nminimumRamGb", - "$ref": "PipelineResources" - }, - "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" - }, - "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.", - "type": "string" - }, - "projectId": { - "description": "Required. The project in which to create the pipeline. The caller must have\nWRITE access.", - "type": "string" - }, - "outputParameters": { - "description": "Output parameters of the pipeline.", - "items": { - "$ref": "PipelineParameter" - }, - "type": "array" - }, - "docker": { - "description": "Specifies the docker run information.", - "$ref": "DockerExecutor" - }, - "description": { - "description": "User-specified description.", - "type": "string" - }, - "inputParameters": { - "description": "Input parameters of the pipeline.", - "items": { - "$ref": "PipelineParameter" - }, - "type": "array" - } - }, - "id": "Pipeline" - }, - "PipelineResources": { - "id": "PipelineResources", - "description": "The system resources for the pipeline run.", - "type": "object", - "properties": { - "minimumRamGb": { - "format": "double", - "description": "The minimum amount of RAM to use. Defaults to 3.75 (GB)", - "type": "number" - }, - "preemptible": { - "description": "Whether to use preemptible VMs. Defaults to `false`. In order to use this,\nmust be true for both create time and run time. Cannot be true at run time\nif false at create time.", - "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" - }, - "minimumCpuCores": { - "format": "int32", - "description": "The minimum number of cores to use. Defaults to 1.", - "type": "integer" - }, - "noAddress": { - "description": "Whether to assign an external IP to the instance. This is an experimental\nfeature that may go away. Defaults to false.\nCorresponds to `--no_address` flag for [gcloud compute instances create]\n(https://cloud.google.com/sdk/gcloud/reference/compute/instances/create).\nIn order to use this, must be true for both create time and run time.\nCannot be true at run time if false at create time. If you need to ssh into\na private IP VM for debugging, you can ssh to a public VM and then ssh into\nthe private VM's Internal IP. If noAddress is set, this pipeline run may\nonly load docker images from Google Container Registry and not Docker Hub.\nBefore using this, you must\n[configure access to Google services from internal IPs](https://cloud.google.com/compute/docs/configure-private-google-access#configuring_access_to_google_services_from_internal_ips).", - "type": "boolean" - }, - "disks": { - "description": "Disks to attach.", - "items": { - "$ref": "Disk" - }, - "type": "array" - }, - "bootDiskSizeGb": { - "format": "int32", - "description": "The size of the boot disk. Defaults to 10 (GB).", - "type": "integer" - } - } - }, - "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" - } - }, - "id": "OperationEvent" - }, - "ControllerConfig": { - "description": "Stores the information that the controller will fetch from the\nserver in order to run. Should only be used by VMs created by the\nPipelines Service and not by end users.", - "type": "object", - "properties": { - "vars": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "image": { - "type": "string" - }, - "gcsLogPath": { - "type": "string" - }, - "gcsSources": { - "type": "object", - "additionalProperties": { - "$ref": "RepeatedString" - } - }, - "gcsSinks": { - "type": "object", - "additionalProperties": { - "$ref": "RepeatedString" - } - }, - "disks": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "machineType": { - "type": "string" - }, - "cmd": { - "type": "string" - } - }, - "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" - }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "items": { - "$ref": "Operation" - }, - "type": "array" - } - } - }, - "RepeatedString": { - "type": "object", - "properties": { - "values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "RepeatedString" - }, - "OperationMetadata": { - "id": "OperationMetadata", - "description": "Metadata describing an Operation.", - "type": "object", - "properties": { - "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" - }, - "runtimeMetadata": { - "description": "Runtime metadata on this Operation.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, - "createTime": { - "format": "google-datetime", - "description": "The time at which the job was submitted to the Genomics service.", - "type": "string" - }, - "labels": { - "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.", - "type": "string" - }, - "clientId": { - "description": "This field is deprecated. Use `labels` instead. Optionally provided by the\ncaller when submitting the request that creates the operation.", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "The time at which the job stopped running.", - "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.", - "items": { - "$ref": "OperationEvent" - }, - "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" - } - } - } - }, - "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": { - "nextPageToken": { - "description": "The token to use to get the next page of results.", - "type": "string" - }, - "pipelines": { - "description": "The matched pipelines.", - "items": { - "$ref": "Pipeline" - }, - "type": "array" - } - } - }, "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 +413,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": { @@ -764,33 +434,10 @@ }, "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" - } - } - }, "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" - }, "diskNames": { "description": "The names of the disks that were created for this pipeline.", "items": { @@ -801,54 +448,77 @@ "machineType": { "description": "The machine type of the instance.", "type": "string" + }, + "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" + }, + "ImportVariantsResponse": { + "type": "object", + "properties": { + "callSetIds": { + "description": "IDs of the call sets created during the import.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "ImportVariantsResponse", + "description": "The variant data import response." }, "TimestampEvent": { - "id": "TimestampEvent", "description": "Stores the list of events and times they occured for major events in job\nexecution.", "type": "object", "properties": { + "description": { + "description": "String indicating the type of event", + "type": "string" + }, "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": { "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" + }, + "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" } } }, "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" + }, + "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" } - } + }, + "id": "DockerExecutor" }, "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 `{}`.", @@ -860,14 +530,6 @@ "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" @@ -877,12 +539,6 @@ "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", @@ -890,7 +546,13 @@ "LOCAL_SSD" ], "description": "Required. The type of the disk to create.", - "type": "string" + "type": "string", + "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." + ] }, "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.", @@ -900,6 +562,14 @@ "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" } }, "id": "Disk" @@ -908,6 +578,10 @@ "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": { "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" @@ -917,29 +591,24 @@ "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" + "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.", + "$ref": "LocalCopy" } }, "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" } - } + }, + "id": "LoggingOptions", + "description": "The logging options for the pipeline run.", + "type": "object" }, "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": { @@ -955,7 +624,8 @@ "$ref": "Pipeline" } }, - "id": "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." }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", @@ -963,40 +633,12 @@ "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.", + "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": { @@ -1006,8 +648,36 @@ }, "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": { + "$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": "An OperationMetadata object. This will always be returned with the Operation." } - } + }, + "id": "Operation" + }, + "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" }, "ImportReadGroupSetsResponse": { "description": "The read group set import response.", @@ -1032,7 +702,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": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -1049,42 +719,372 @@ } }, "id": "Status" + }, + "ServiceAccount": { + "description": "A Google Cloud Service Account.", + "type": "object", + "properties": { + "scopes": { + "description": "List of scopes to be enabled for this service account on the VM.\nThe following scopes are automatically included:\n\n* https://www.googleapis.com/auth/compute\n* https://www.googleapis.com/auth/devstorage.full_control\n* https://www.googleapis.com/auth/genomics\n* https://www.googleapis.com/auth/logging.write\n* https://www.googleapis.com/auth/monitoring.write", + "items": { + "type": "string" + }, + "type": "array" + }, + "email": { + "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": { + "properties": { + "outputParameters": { + "description": "Output parameters of the pipeline.", + "items": { + "$ref": "PipelineParameter" + }, + "type": "array" + }, + "docker": { + "$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" + }, + "resources": { + "$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" + }, + "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.", + "type": "string" + }, + "projectId": { + "type": "string", + "description": "Required. The project in which to create the pipeline. The caller must have\nWRITE access." + } + }, + "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.", + "type": "object" + }, + "PipelineResources": { + "description": "The system resources for the pipeline run.", + "type": "object", + "properties": { + "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" + }, + "minimumCpuCores": { + "format": "int32", + "description": "The minimum number of cores to use. Defaults to 1.", + "type": "integer" + }, + "noAddress": { + "description": "Whether to assign an external IP to the instance. This is an experimental\nfeature that may go away. Defaults to false.\nCorresponds to `--no_address` flag for [gcloud compute instances create]\n(https://cloud.google.com/sdk/gcloud/reference/compute/instances/create).\nIn order to use this, must be true for both create time and run time.\nCannot be true at run time if false at create time. If you need to ssh into\na private IP VM for debugging, you can ssh to a public VM and then ssh into\nthe private VM's Internal IP. If noAddress is set, this pipeline run may\nonly load docker images from Google Container Registry and not Docker Hub.\nBefore using this, you must\n[configure access to Google services from internal IPs](https://cloud.google.com/compute/docs/configure-private-google-access#configuring_access_to_google_services_from_internal_ips).", + "type": "boolean" + }, + "disks": { + "description": "Disks to attach.", + "items": { + "$ref": "Disk" + }, + "type": "array" + }, + "bootDiskSizeGb": { + "type": "integer", + "format": "int32", + "description": "The size of the boot disk. Defaults to 10 (GB)." + }, + "preemptible": { + "description": "Whether to use preemptible VMs. Defaults to `false`. In order to use this,\nmust be true for both create time and run time. Cannot be true at run time\nif false at create time.", + "type": "boolean" + }, + "minimumRamGb": { + "format": "double", + "description": "The minimum amount of RAM to use. Defaults to 3.75 (GB)", + "type": "number" + } + }, + "id": "PipelineResources" + }, + "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" + }, + "ControllerConfig": { + "description": "Stores the information that the controller will fetch from the\nserver in order to run. Should only be used by VMs created by the\nPipelines Service and not by end users.", + "type": "object", + "properties": { + "machineType": { + "type": "string" + }, + "cmd": { + "type": "string" + }, + "vars": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "image": { + "type": "string" + }, + "gcsLogPath": { + "type": "string" + }, + "gcsSources": { + "type": "object", + "additionalProperties": { + "$ref": "RepeatedString" + } + }, + "gcsSinks": { + "type": "object", + "additionalProperties": { + "$ref": "RepeatedString" + } + }, + "disks": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "id": "ControllerConfig" + }, + "RepeatedString": { + "type": "object", + "properties": { + "values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "RepeatedString" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "type": "object", + "properties": { + "nextPageToken": { + "type": "string", + "description": "The standard List next-page token." + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "id": "ListOperationsResponse" + }, + "OperationMetadata": { + "description": "Metadata describing an Operation.", + "type": "object", + "properties": { + "clientId": { + "description": "This field is deprecated. Use `labels` instead. Optionally provided by the\ncaller when submitting the request that creates the operation.", + "type": "string" + }, + "events": { + "items": { + "$ref": "OperationEvent" + }, + "type": "array", + "description": "Optional event messages that were generated during the job's execution.\nThis also contains any warnings that were generated during import\nor export." + }, + "endTime": { + "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": { + "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", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "runtimeMetadata": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Runtime metadata on this Operation." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optionally provided by the caller when submitting the request that creates\nthe operation.", + "type": "object" + }, + "createTime": { + "format": "google-datetime", + "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" + } + }, + "id": "OperationMetadata" + }, + "ListPipelinesResponse": { + "properties": { + "nextPageToken": { + "description": "The token to use to get the next page of results.", + "type": "string" + }, + "pipelines": { + "description": "The matched pipelines.", + "items": { + "$ref": "Pipeline" + }, + "type": "array" + } + }, + "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" + }, + "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" + }, + "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." + }, + "inputs": { + "type": "object", + "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." + }, + "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" + }, + "logging": { + "$ref": "LoggingOptions", + "description": "Required. Logging options. Used by the service to communicate results\nto the user." + }, + "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" + } + }, + "resources": { + "$ref": "PipelineResources", + "description": "Specifies resource requirements/overrides for the pipeline run." + }, + "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" + } + }, + "id": "RunPipelineArgs" } }, "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/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + }, "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": "", + "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", - "revision": "20170704", - "documentationLink": "https://cloud.google.com/genomics", "id": "genomics:v1alpha2", - "title": "Genomics API", - "discoveryVersion": "v1", - "ownerName": "Google" + "documentationLink": "https://cloud.google.com/genomics", + "revision": "20170824", + "title": "Genomics API" } 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 51ce308..ead7beb 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"` @@ -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/send.go b/vendor/google.golang.org/api/gensupport/send.go index 3d22f63..092044f 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/iam/v1/iam-api.json b/vendor/google.golang.org/api/iam/v1/iam-api.json index 4ad2167..6a370c1 100644 --- a/vendor/google.golang.org/api/iam/v1/iam-api.json +++ b/vendor/google.golang.org/api/iam/v1/iam-api.json @@ -1,637 +1,30 @@ { - "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": "20170824", "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", - "properties": { - "publicKeyData": { - "format": "byte", - "description": "The public key data. Only provided in `GetServiceAccountKey` responses.", - "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}`.", - "type": "string" - }, - "validBeforeTime": { - "format": "google-datetime", - "description": "The key can be used before this timestamp.", - "type": "string" - }, - "keyAlgorithm": { - "description": "Specifies the algorithm (and possibly key size) for the key.", - "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" - ] - }, - "validAfterTime": { - "type": "string", - "format": "google-datetime", - "description": "The key can be used after this timestamp." - }, - "privateKeyType": { - "type": "string", - "enumDescriptions": [ - "Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`.", - "PKCS12 format.\nThe password for the PKCS12 file is `notasecret`.\nFor more information, see https://tools.ietf.org/html/rfc7292.", - "Google Credentials File format." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "TYPE_PKCS12_FILE", - "TYPE_GOOGLE_CREDENTIALS_FILE" - ], - "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." - }, - "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.", - "type": "string" - } - }, - "id": "ServiceAccountKey" - }, "CreateServiceAccountKeyRequest": { "type": "object", "properties": { + "keyAlgorithm": { + "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" + ], + "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." + }, "privateKeyType": { + "type": "string", "enumDescriptions": [ "Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`.", "PKCS12 format.\nThe password for the PKCS12 file is `notasecret`.\nFor more information, see https://tools.ietf.org/html/rfc7292.", @@ -642,31 +35,29 @@ "TYPE_PKCS12_FILE", "TYPE_GOOGLE_CREDENTIALS_FILE" ], - "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." - ] + "description": "The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the\ndefault output format." } }, "id": "CreateServiceAccountKeyRequest", "description": "The service account key create request." }, + "SignJwtResponse": { + "type": "object", + "properties": { + "signedJwt": { + "description": "The signed JWT.", + "type": "string" + }, + "keyId": { + "type": "string", + "description": "The id of the key used to sign the JWT." + } + }, + "id": "SignJwtResponse", + "description": "The service account sign JWT response." + }, "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).", @@ -677,53 +68,18 @@ } }, "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.", - "type": "string" - }, - "keyId": { - "description": "The id of the key used to sign the JWT.", - "type": "string" - } - }, - "id": "SignJwtResponse" - }, - "SignJwtRequest": { - "description": "The service account sign JWT request.", - "type": "object", - "properties": { - "payload": { - "type": "string", - "description": "The JWT payload to sign, a JSON JWT Claim set." - } - }, - "id": "SignJwtRequest" + "description": "Request message for `TestIamPermissions` method." }, "Policy": { + "type": "object", "properties": { + "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." + }, "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.", @@ -733,21 +89,30 @@ "format": "int32", "description": "Version of the `Policy`. The default version is 0.", "type": "integer" + } + }, + "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)." + }, + "ListRolesResponse": { + "description": "The response containing the roles defined under a resource.", + "type": "object", + "properties": { + "nextPageToken": { + "type": "string", + "description": "To retrieve the next page of results, set\n`ListRolesRequest.page_token` to this value." }, - "bindings": { - "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", + "roles": { + "description": "The Roles defined on this resource.", "items": { - "$ref": "Binding" + "$ref": "Role" }, "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": "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": { @@ -755,26 +120,16 @@ "$ref": "PolicyDelta", "description": "Policy delta between the original policy and the newly set policy." } - } + }, + "id": "AuditData" }, "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": { - "action": { - "description": "The action that was performed on a Binding.\nRequired", - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "Addition of a Binding.", - "Removal of a Binding." - ], - "enum": [ - "ACTION_UNSPECIFIED", - "ADD", - "REMOVE" - ] + "condition": { + "$ref": "Expr", + "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" }, "member": { "description": "A single identity requesting access for a Cloud Platform resource.\nFollows the same format of Binding.members.\nRequired", @@ -783,40 +138,35 @@ "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" - }, - "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": { - "items": { - "$ref": "ServiceAccount" - }, - "type": "array", - "description": "The list of matching service accounts." + "action": { + "enum": [ + "ACTION_UNSPECIFIED", + "ADD", + "REMOVE" + ], + "description": "The action that was performed on a Binding.\nRequired", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "Addition of a Binding.", + "Removal of a Binding." + ] } }, - "id": "ListServiceAccountsResponse" + "id": "BindingDelta" + }, + "UndeleteRoleRequest": { + "description": "The request to undelete an existing role.", + "type": "object", + "properties": { + "etag": { + "type": "string", + "format": "byte", + "description": "Used to perform a consistent read-modify-write." + } + }, + "id": "UndeleteRoleRequest" }, "CreateServiceAccountRequest": { "type": "object", @@ -833,26 +183,422 @@ "id": "CreateServiceAccountRequest", "description": "The service account create request." }, - "QueryGrantableRolesResponse": { + "Role": { "type": "object", "properties": { - "nextPageToken": { - "description": "To retrieve the next page of results, set\n`QueryGrantableRolesRequest.page_token` to this value.", + "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" }, - "roles": { - "description": "The list of matching roles.", + "includedPermissions": { "items": { - "$ref": "Role" + "type": "string" + }, + "type": "array", + "description": "The names of the permissions this role grants when bound in an IAM policy." + }, + "description": { + "type": "string", + "description": "Optional. A human-readable description for the role." + }, + "etag": { + "format": "byte", + "description": "Used to perform a consistent read-modify-write.", + "type": "string" + }, + "stage": { + "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." + ], + "enum": [ + "ALPHA", + "BETA", + "GA", + "DEPRECATED", + "DISABLED", + "EAP" + ], + "description": "The current launch stage of the role." + }, + "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" + } + }, + "id": "Role", + "description": "A role in the Identity and Access Management API." + }, + "Binding": { + "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", + "description": "Associates `members` with a `role`." + }, + "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.", + "type": "object", + "properties": { + "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": { + "type": "string", + "description": "@OutputOnly The id of the project that owns the service account." + }, + "uniqueId": { + "type": "string", + "description": "@OutputOnly The unique and stable id of the service account." + }, + "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": { + "type": "string", + "description": "Optional. A user-specified description of the service account. Must be\nfewer than 100 UTF-8 bytes." + }, + "etag": { + "format": "byte", + "description": "Used to perform a consistent read-modify-write.", + "type": "string" + } + }, + "id": "ServiceAccount" + }, + "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`.", + "type": "string" + }, + "pageToken": { + "type": "string", + "description": "Optional pagination token returned in an earlier\nQueryGrantableRolesResponse." + }, + "pageSize": { + "type": "integer", + "format": "int32", + "description": "Optional limit on the number of roles to include in the response." + }, + "view": { + "type": "string", + "enumDescriptions": [ + "Omits the `included_permissions` field.\nThis is the default value.", + "Returns all fields." + ], + "enum": [ + "BASIC", + "FULL" + ] + } + }, + "id": "QueryGrantableRolesRequest" + }, + "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": { + "type": "string", + "description": "An optional string indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file." + }, + "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" + }, + "CreateRoleRequest": { + "description": "The request to create a new role.", + "type": "object", + "properties": { + "roleId": { + "description": "The role id to use for this role.", + "type": "string" + }, + "role": { + "$ref": "Role", + "description": "The Role resource to create." + } + }, + "id": "CreateRoleRequest" + }, + "ListServiceAccountKeysResponse": { + "type": "object", + "properties": { + "keys": { + "description": "The public keys for the service account.", + "items": { + "$ref": "ServiceAccountKey" }, "type": "array" } }, - "id": "QueryGrantableRolesResponse", - "description": "The grantable role query response." + "id": "ListServiceAccountKeysResponse", + "description": "The service account keys list response." + }, + "TestIamPermissionsResponse": { + "type": "object", + "properties": { + "permissions": { + "items": { + "type": "string" + }, + "type": "array", + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed." + } + }, + "id": "TestIamPermissionsResponse", + "description": "Response message for `TestIamPermissions` method." + }, + "QueryTestablePermissionsRequest": { + "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", + "description": "A request to get permissions which can be tested on a resource." + }, + "ServiceAccountKey": { + "type": "object", + "properties": { + "privateKeyData": { + "type": "string", + "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.\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." + }, + "publicKeyData": { + "type": "string", + "format": "byte", + "description": "The public key data. Only provided in `GetServiceAccountKey` responses." + }, + "name": { + "description": "The resource name of the service account key in the following format\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}/keys/{key}`.", + "type": "string" + }, + "validBeforeTime": { + "type": "string", + "format": "google-datetime", + "description": "The key can be used before this timestamp." + }, + "keyAlgorithm": { + "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" + ], + "description": "Specifies the algorithm (and possibly key size) for the key." + }, + "privateKeyType": { + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_PKCS12_FILE", + "TYPE_GOOGLE_CREDENTIALS_FILE" + ], + "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.", + "type": "string", + "enumDescriptions": [ + "Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`.", + "PKCS12 format.\nThe password for the PKCS12 file is `notasecret`.\nFor more information, see https://tools.ietf.org/html/rfc7292.", + "Google Credentials File format." + ] + }, + "validAfterTime": { + "format": "google-datetime", + "description": "The key can be used after this timestamp.", + "type": "string" + } + }, + "id": "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." + }, + "SignBlobResponse": { + "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", + "description": "The service account sign blob response." + }, + "Permission": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of this Permission." + }, + "onlyInPredefinedRoles": { + "type": "boolean", + "description": "This permission can ONLY be used in predefined roles." + }, + "title": { + "description": "The title of this Permission.", + "type": "string" + }, + "description": { + "description": "A brief description of what this Permission is used for.", + "type": "string" + }, + "customRolesSupportLevel": { + "enum": [ + "SUPPORTED", + "TESTING", + "NOT_SUPPORTED" + ], + "description": "The current custom role support level.", + "type": "string", + "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." + ] + }, + "stage": { + "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" + ], + "description": "The current launch stage of the permission." + } + }, + "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": { + "type": "object", + "properties": { + "bindingDeltas": { + "description": "The delta for Bindings between two policies.", + "items": { + "$ref": "BindingDelta" + }, + "type": "array" + } + }, + "id": "PolicyDelta", + "description": "The difference delta between two policies." + }, + "ListServiceAccountsResponse": { + "description": "The service account list response.", + "type": "object", + "properties": { + "nextPageToken": { + "type": "string", + "description": "To retrieve the next page of results, set\nListServiceAccountsRequest.page_token\nto this value." + }, + "accounts": { + "items": { + "$ref": "ServiceAccount" + }, + "type": "array", + "description": "The list of matching service accounts." + } + }, + "id": "ListServiceAccountsResponse" + }, + "QueryGrantableRolesResponse": { + "description": "The grantable role query response.", + "type": "object", + "properties": { + "nextPageToken": { + "type": "string", + "description": "To retrieve the next page of results, set\n`QueryGrantableRolesRequest.page_token` to this value." + }, + "roles": { + "items": { + "$ref": "Role" + }, + "type": "array", + "description": "The list of matching roles." + } + }, + "id": "QueryGrantableRolesResponse" }, "SignBlobRequest": { - "description": "The service account sign blob request.", "type": "object", "properties": { "bytesToSign": { @@ -861,26 +607,8 @@ "type": "string" } }, - "id": "SignBlobRequest" - }, - "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" - }, - "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" - }, - "description": { - "description": "Optional. A human-readable description for the role.", - "type": "string" - } - }, - "id": "Role" + "id": "SignBlobRequest", + "description": "The service account sign blob request." }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", @@ -893,91 +621,35 @@ }, "id": "SetIamPolicyRequest" }, - "Binding": { - "description": "Associates `members` with a `role`.", + "QueryTestablePermissionsResponse": { + "description": "The response containing permissions which can be tested on a resource.", "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", + "nextPageToken": { + "description": "To retrieve the next page of results, set\n`QueryTestableRolesRequest.page_token` to this value.", + "type": "string" + }, + "permissions": { "items": { - "type": "string" + "$ref": "Permission" }, - "type": "array" - }, - "role": { - "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", - "type": "string" + "type": "array", + "description": "The Permissions testable on the requested resource." } }, - "id": "Binding" - }, - "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`.", - "type": "string" - }, - "pageToken": { - "description": "Optional pagination token returned in an earlier\nQueryGrantableRolesResponse.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Optional limit on the number of roles to include in the response.", - "type": "integer" - } - }, - "id": "QueryGrantableRolesRequest" + "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" - }, - "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.", - "type": "object", - "properties": { - "uniqueId": { - "description": "@OutputOnly The unique and stable id of the service account.", - "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" - } - }, - "id": "ServiceAccount" + "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": { - "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": "iam", "auth": { @@ -993,5 +665,1038 @@ "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": { + "projects": { + "resources": { + "roles": { + "methods": { + "patch": { + "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": { + "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/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/roles/{rolesId}", + "path": "v1/{+name}", + "id": "iam.projects.roles.patch", + "request": { + "$ref": "Role" + }, + "description": "Updates a Role definition." + }, + "undelete": { + "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" + }, + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Role" + }, + "parameters": { + "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" + ] + }, + "get": { + "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}", + "id": "iam.projects.roles.get", + "path": "v1/{+name}", + "description": "Gets a Role definition." + }, + "delete": { + "response": { + "$ref": "Role" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "etag": { + "type": "string", + "location": "query", + "format": "byte", + "description": "Used to perform a consistent read-modify-write." + }, + "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}", + "id": "iam.projects.roles.delete", + "path": "v1/{+name}", + "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." + }, + "list": { + "description": "Lists the Roles defined on a resource.", + "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": { + "type": "string", + "location": "query", + "description": "Optional pagination token returned in an earlier ListRolesResponse." + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional limit on the number of roles to include in the response.", + "type": "integer" + }, + "view": { + "type": "string", + "location": "query", + "enum": [ + "BASIC", + "FULL" + ], + "description": "Optional view for the returned Role objects." + }, + "parent": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "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}`" + } + }, + "flatPath": "v1/projects/{projectsId}/roles", + "id": "iam.projects.roles.list", + "path": "v1/{+parent}/roles" + }, + "create": { + "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" + ], + "flatPath": "v1/projects/{projectsId}/roles", + "path": "v1/{+parent}/roles", + "id": "iam.projects.roles.create", + "description": "Creates a new Role.", + "request": { + "$ref": "CreateRoleRequest" + } + } + } + }, + "serviceAccounts": { + "methods": { + "get": { + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}", + "id": "iam.projects.serviceAccounts.get", + "path": "v1/{+name}", + "description": "Gets a ServiceAccount.", + "response": { + "$ref": "ServiceAccount" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "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" + ] + }, + "update": { + "request": { + "$ref": "ServiceAccount" + }, + "description": "Updates a ServiceAccount.\n\nCurrently, only the following fields are updatable:\n`display_name` .\nThe `etag` is mandatory.", + "response": { + "$ref": "ServiceAccount" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "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}`.\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, + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}", + "id": "iam.projects.serviceAccounts.update", + "path": "v1/{+name}" + }, + "testIamPermissions": { + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "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." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "id": "iam.projects.serviceAccounts.testIamPermissions", + "description": "Tests the specified permissions against the IAM access control policy\nfor a ServiceAccount.", + "request": { + "$ref": "TestIamPermissionsRequest" + } + }, + "delete": { + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "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}", + "path": "v1/{+name}", + "id": "iam.projects.serviceAccounts.delete", + "description": "Deletes a ServiceAccount." + }, + "list": { + "flatPath": "v1/projects/{projectsId}/serviceAccounts", + "path": "v1/{+name}/serviceAccounts", + "id": "iam.projects.serviceAccounts.list", + "description": "Lists ServiceAccounts for a project.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ListServiceAccountsResponse" + }, + "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": { + "type": "integer", + "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." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "signBlob": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "SignBlobResponse" + }, + "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}:signBlob", + "path": "v1/{+name}:signBlob", + "id": "iam.projects.serviceAccounts.signBlob", + "description": "Signs a blob using a service account's system-managed private key.", + "request": { + "$ref": "SignBlobRequest" + } + }, + "create": { + "flatPath": "v1/projects/{projectsId}/serviceAccounts", + "id": "iam.projects.serviceAccounts.create", + "path": "v1/{+name}/serviceAccounts", + "request": { + "$ref": "CreateServiceAccountRequest" + }, + "description": "Creates a ServiceAccount\nand returns it.", + "response": { + "$ref": "ServiceAccount" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "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`." + } + } + }, + "signJwt": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "SignJwtResponse" + }, + "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", + "path": "v1/{+name}:signJwt", + "id": "iam.projects.serviceAccounts.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." + }, + "setIamPolicy": { + "request": { + "$ref": "SetIamPolicyRequest" + }, + "description": "Sets the IAM access control policy for a\nServiceAccount.", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "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 is being specified.\nSee the operation documentation for the appropriate value for this field." + } + }, + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:setIamPolicy", + "id": "iam.projects.serviceAccounts.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy" + }, + "getIamPolicy": { + "response": { + "$ref": "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 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", + "description": "Returns the IAM access control policy for a\nServiceAccount." + } + }, + "resources": { + "keys": { + "methods": { + "delete": { + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys/{keysId}", + "id": "iam.projects.serviceAccounts.keys.delete", + "path": "v1/{+name}", + "description": "Deletes a ServiceAccountKey.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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/[^/]+$" + } + } + }, + "get": { + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys/{keysId}", + "id": "iam.projects.serviceAccounts.keys.get", + "path": "v1/{+name}", + "description": "Gets the ServiceAccountKey\nby key id.", + "response": { + "$ref": "ServiceAccountKey" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "publicKeyType": { + "type": "string", + "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." + }, + "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}`.\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/[^/]+/keys/[^/]+$" + } + } + }, + "list": { + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys", + "path": "v1/{+name}/keys", + "id": "iam.projects.serviceAccounts.keys.list", + "description": "Lists ServiceAccountKeys.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ListServiceAccountKeysResponse" + }, + "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}`.\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." + }, + "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" + ] + }, + "create": { + "response": { + "$ref": "ServiceAccountKey" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "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", + "id": "iam.projects.serviceAccounts.keys.create", + "path": "v1/{+name}/keys", + "description": "Creates a ServiceAccountKey\nand returns it.", + "request": { + "$ref": "CreateServiceAccountKeyRequest" + } + } + } + } + } + } + } + }, + "permissions": { + "methods": { + "queryTestablePermissions": { + "request": { + "$ref": "QueryTestablePermissionsRequest" + }, + "description": "Lists the permissions testable on a resource.\nA permission is testable if it can be tested for an identity on a resource.", + "response": { + "$ref": "QueryTestablePermissionsResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "flatPath": "v1/permissions:queryTestablePermissions", + "id": "iam.permissions.queryTestablePermissions", + "path": "v1/permissions:queryTestablePermissions" + } + } + }, + "roles": { + "methods": { + "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" + } + }, + "get": { + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Role" + }, + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "type": "string", + "required": true, + "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}`" + } + }, + "flatPath": "v1/roles/{rolesId}", + "id": "iam.roles.get", + "path": "v1/{+name}", + "description": "Gets a Role definition." + }, + "list": { + "httpMethod": "GET", + "parameterOrder": [], + "response": { + "$ref": "ListRolesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "showDeleted": { + "type": "boolean", + "location": "query", + "description": "Include Roles that have been deleted." + }, + "pageToken": { + "location": "query", + "description": "Optional pagination token returned in an earlier ListRolesResponse.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional limit on the number of roles to include in the response.", + "type": "integer" + }, + "view": { + "type": "string", + "location": "query", + "enum": [ + "BASIC", + "FULL" + ], + "description": "Optional view for the returned Role objects." + }, + "parent": { + "type": "string", + "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}`" + } + }, + "flatPath": "v1/roles", + "path": "v1/roles", + "id": "iam.roles.list", + "description": "Lists the Roles defined on a resource." + } + } + }, + "organizations": { + "resources": { + "roles": { + "methods": { + "delete": { + "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}", + "id": "iam.organizations.roles.delete", + "path": "v1/{+name}", + "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.", + "response": { + "$ref": "Role" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+/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}`" + }, + "etag": { + "type": "string", + "location": "query", + "format": "byte", + "description": "Used to perform a consistent read-modify-write." + } + } + }, + "list": { + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "ListRolesResponse" + }, + "parameters": { + "showDeleted": { + "type": "boolean", + "location": "query", + "description": "Include Roles that have been deleted." + }, + "pageToken": { + "type": "string", + "location": "query", + "description": "Optional pagination token returned in an earlier ListRolesResponse." + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional limit on the number of roles to include in the response.", + "type": "integer" + }, + "view": { + "type": "string", + "location": "query", + "enum": [ + "BASIC", + "FULL" + ], + "description": "Optional view for the returned Role objects." + }, + "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": "^organizations/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/organizations/{organizationsId}/roles", + "path": "v1/{+parent}/roles", + "id": "iam.organizations.roles.list", + "description": "Lists the Roles defined on a resource." + }, + "create": { + "request": { + "$ref": "CreateRoleRequest" + }, + "description": "Creates a new Role.", + "response": { + "$ref": "Role" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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": "^organizations/[^/]+$" + } + }, + "flatPath": "v1/organizations/{organizationsId}/roles", + "id": "iam.organizations.roles.create", + "path": "v1/{+parent}/roles" + }, + "patch": { + "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}", + "id": "iam.organizations.roles.patch", + "path": "v1/{+name}", + "request": { + "$ref": "Role" + }, + "description": "Updates a Role definition.", + "response": { + "$ref": "Role" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "updateMask": { + "type": "string", + "location": "query", + "format": "google-fieldmask", + "description": "A mask describing which fields in the Role have changed." + }, + "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/[^/]+$" + } + } + }, + "undelete": { + "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}:undelete", + "id": "iam.organizations.roles.undelete", + "path": "v1/{+name}:undelete", + "request": { + "$ref": "UndeleteRoleRequest" + }, + "description": "Undelete a Role, bringing it back in its previous state.", + "response": { + "$ref": "Role" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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/[^/]+$" + } + } + }, + "get": { + "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" + ], + "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}", + "path": "v1/{+name}", + "id": "iam.organizations.roles.get", + "description": "Gets a Role definition." + } + } + } + } + } + }, + "parameters": { + "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": { + "type": "string", + "location": "query", + "description": "OAuth 2.0 token for the current user." + }, + "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": { + "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": { + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ] + }, + "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": { + "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://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" } 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 b9f99c8..1090157 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:"-"` @@ -837,6 +1192,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 +1485,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 { @@ -3120,6 +5500,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 cc45b3b..ba7bd81 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/JNWJ-hbAXEtpbSa5z56g2mtI5Ik\"", "discoveryVersion": "v1", "id": "identitytoolkit:v3", "name": "identitytoolkit", "canonicalName": "Identity Toolkit", "version": "v3", - "revision": "20170425", + "revision": "20170817", "title": "Google Identity Toolkit API", "description": "Help the third party sites to implement federated login.", "ownerDomain": "google.com", @@ -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." @@ -906,6 +959,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 +1311,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 +1611,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 +1827,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 +1962,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 359091e..81dd8c9 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"` @@ -1223,6 +1311,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 +1796,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 +2113,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 +3317,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 +4377,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/settings.go b/vendor/google.golang.org/api/internal/settings.go index d7b9f57..5147191 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 feda033..ec077e6 100644 --- a/vendor/google.golang.org/api/kgsearch/v1/kgsearch-api.json +++ b/vendor/google.golang.org/api/kgsearch/v1/kgsearch-api.json @@ -1,27 +1,26 @@ { + "id": "kgsearch:v1", + "documentationLink": "https://developers.google.com/knowledge-graph/", + "revision": "20170109", + "title": "Knowledge Graph Search API", + "ownerName": "Google", + "discoveryVersion": "v1", "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": { + "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", - "repeated": true, - "location": "query" + "repeated": true }, "limit": { "location": "query", @@ -30,14 +29,14 @@ "type": "integer" }, "prefix": { + "location": "query", "description": "Enables prefix match against names and aliases of entities", - "type": "boolean", - "location": "query" + "type": "boolean" }, "query": { - "type": "string", "location": "query", - "description": "The literal query string for search." + "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,43 +45,82 @@ "location": "query" }, "indent": { + "location": "query", "description": "Enables indenting of json results.", - "type": "boolean", - "location": "query" + "type": "boolean" + }, + "languages": { + "location": "query", + "description": "The list of language codes (defined in ISO 693) to run the query with,\ne.g. 'en'.", + "type": "string", + "repeated": true } }, "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": { + "pp": { + "default": "true", + "type": "boolean", "location": "query", - "description": "JSONP", + "description": "Pretty-print response." + }, + "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" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "fields": { + "type": "string", + "location": "query", + "description": "Selector specifying which fields to include in a partial response." + }, "$.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", + "description": "JSONP", + "type": "string" }, "alt": { - "enum": [ - "json", - "media", - "proto" - ], "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", @@ -91,59 +129,27 @@ ], "location": "query", "description": "Data format for response.", - "default": "json" + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] + }, + "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": { - "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": { - "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." - }, - "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" } }, "schemas": { @@ -151,28 +157,28 @@ "description": "Response message includes the context and a list of matching results\nwhich contain the detail of associated entities.", "type": "object", "properties": { + "@type": { + "description": "The schema type of top-level JSON-LD object, e.g. ItemList.", + "type": "any" + }, "itemListElement": { - "description": "The item list of search results.", "items": { "type": "any" }, - "type": "array" + "type": "array", + "description": "The item list of search results." }, "@context": { "description": "The local context applicable for the response. See more details at\nhttp://www.w3.org/TR/json-ld/#context-definitions.", "type": "any" - }, - "@type": { - "description": "The schema type of top-level JSON-LD object, e.g. ItemList.", - "type": "any" } }, "id": "SearchResponse" } }, "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", @@ -184,11 +190,5 @@ "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" + "batchPath": "batch" } 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 c62920d..b8ea520 100644 --- a/vendor/google.golang.org/api/language/v1/language-api.json +++ b/vendor/google.golang.org/api/language/v1/language-api.json @@ -1,13 +1,104 @@ { + "revision": "20170822", + "documentationLink": "https://cloud.google.com/natural-language/", + "id": "language:v1", + "discoveryVersion": "v1", + "version_module": true, "schemas": { - "AnalyzeEntitiesRequest": { - "description": "The entity analysis request message.", + "Features": { + "properties": { + "extractDocumentSentiment": { + "description": "Extract document-level sentiment.", + "type": "boolean" + }, + "extractSyntax": { + "description": "Extract syntax information.", + "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" + }, + "EntityMention": { + "description": "Represents a mention for an entity in the text. Currently, proper noun\nmentions are supported.", "type": "object", "properties": { - "document": { - "description": "Input document.", - "$ref": "Document" + "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": { + "description": "The mention text.", + "$ref": "TextSpan" + } + }, + "id": "EntityMention" + }, + "Sentence": { + "properties": { + "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": { + "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": { + "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", + "enumDescriptions": [ + "The content type is not specified.", + "Plain text", + "HTML" + ] + } + }, + "id": "Document", + "description": "################################################################ #\n\nRepresents the input to API methods.", + "type": "object" + }, + "AnalyzeEntitiesRequest": { + "properties": { "encodingType": { "enumDescriptions": [ "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", @@ -23,220 +114,52 @@ ], "description": "The encoding type used by the API to calculate offsets.", "type": "string" + }, + "document": { + "$ref": "Document", + "description": "Input document." } }, - "id": "AnalyzeEntitiesRequest" + "id": "AnalyzeEntitiesRequest", + "description": "The entity analysis request message.", + "type": "object" }, "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).", + "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" }, - "magnitude": { - "description": "A non-negative number in the [0, +inf) range, which represents\nthe absolute magnitude of sentiment regardless of score (positive or\nnegative).", + "score": { "format": "float", + "description": "Sentiment score between -1.0 (negative sentiment) and 1.0\n(positive sentiment).", "type": "number" } }, - "id": "Sentiment" + "id": "Sentiment", + "description": "Represents the feeling associated with the entire text or entities in\nthe text.", + "type": "object" }, "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": { - "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": { - "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.", - "type": "string" - }, - "voice": { - "description": "The grammatical 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" - ] - }, - "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" - }, - "mood": { - "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" - ], - "enum": [ - "MOOD_UNKNOWN", - "CONDITIONAL_MOOD", - "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" - ], - "enum": [ - "PROPER_UNKNOWN", - "PROPER", - "NOT_PROPER" ] }, "case": { - "description": "The grammatical case.", - "type": "string", "enumDescriptions": [ "Case is not applicable in the analyzed language or is not predicted.", "Accusative", @@ -270,9 +193,20 @@ "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": [ @@ -283,45 +217,200 @@ "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", + "enumDescriptions": [ + "Reciprocity is not applicable in the analyzed language or is not\npredicted.", + "Reciprocal", + "Non-reciprocal" + ] + }, + "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": { + "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.", + "type": "string" + }, + "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" + }, + "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" + }, + "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" + ] } }, "id": "PartOfSpeech" }, "AnalyzeSyntaxRequest": { - "description": "The syntax 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", @@ -329,18 +418,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" } }, - "id": "AnalyzeSyntaxRequest" + "id": "AnalyzeSyntaxRequest", + "description": "The syntax analysis request message.", + "type": "object" }, "AnalyzeSentimentResponse": { - "description": "The sentiment analysis response message.", - "type": "object", "properties": { "documentSentiment": { "description": "The overall sentiment of the input document.", @@ -352,31 +447,33 @@ }, "sentences": { "description": "The sentiment for all the sentences in the document.", - "type": "array", "items": { "$ref": "Sentence" - } + }, + "type": "array" } }, - "id": "AnalyzeSentimentResponse" + "id": "AnalyzeSentimentResponse", + "description": "The sentiment analysis response message.", + "type": "object" }, "AnalyzeEntitiesResponse": { - "description": "The entity analysis response message.", - "type": "object", "properties": { + "entities": { + "description": "The recognized entities in the input document.", + "items": { + "$ref": "Entity" + }, + "type": "array" + }, "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": "AnalyzeEntitiesResponse", + "description": "The entity analysis response message.", + "type": "object" }, "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.", @@ -384,18 +481,28 @@ "properties": { "mentions": { "description": "The mentions of this entity in the input document. The API currently\nsupports proper noun mentions.", - "type": "array", "items": { "$ref": "EntityMention" - } + }, + "type": "array" }, "name": { "description": "The representative name for the entity.", "type": "string" }, + "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" + }, + "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" + }, "type": { - "description": "The entity type.", - "type": "string", "enumDescriptions": [ "Unknown", "Person", @@ -415,19 +522,9 @@ "WORK_OF_ART", "CONSUMER_GOOD", "OTHER" - ] - }, - "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.", - "format": "float", - "type": "number" + ], + "description": "The entity type.", + "type": "string" } }, "id": "Entity" @@ -436,23 +533,23 @@ "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" + }, + "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" @@ -478,8 +575,8 @@ "type": "string" }, "document": { - "$ref": "Document", - "description": "Input document." + "description": "Input document.", + "$ref": "Document" }, "features": { "description": "The enabled features.", @@ -488,57 +585,9 @@ }, "id": "AnnotateTextRequest" }, - "AnnotateTextResponse": { - "description": "The text annotations response message.", - "type": "object", - "properties": { - "sentences": { - "description": "Sentences in the input document. Populated if the user enables\nAnnotateTextRequest.Features.extract_syntax.", - "type": "array", - "items": { - "$ref": "Sentence" - } - }, - "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", - "items": { - "$ref": "Entity" - } - }, - "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": { - "description": "The sentiment analysis request message.", - "type": "object", "properties": { - "document": { - "$ref": "Document", - "description": "Input 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", @@ -546,10 +595,58 @@ "UTF32" ], "description": "The encoding type used by the API to calculate sentence 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." } }, - "id": "AnalyzeSentimentRequest" + "id": "AnalyzeSentimentRequest", + "description": "The sentiment analysis request message.", + "type": "object" + }, + "AnnotateTextResponse": { + "description": "The text annotations response message.", + "type": "object", + "properties": { + "entities": { + "description": "Entities, along with their semantic information, in the input document.\nPopulated if the user enables\nAnnotateTextRequest.Features.extract_entities.", + "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" + }, + "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.", + "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.", + "items": { + "$ref": "Token" + }, + "type": "array" + } + }, + "id": "AnnotateTextResponse" }, "DependencyEdge": { "description": "Represents dependency parse tree information for a token. (For more\ninformation on dependency labels, see\nhttp://www.aclweb.org/anthology/P13-2017", @@ -718,8 +815,8 @@ "type": "string" }, "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" } }, @@ -729,32 +826,30 @@ "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" + }, + "partOfSpeech": { + "$ref": "PartOfSpeech", + "description": "Parts of speech tag for this token." + }, + "dependencyEdge": { + "$ref": "DependencyEdge", + "description": "Dependency tree parse for this token." + }, + "text": { + "description": "The token text.", + "$ref": "TextSpan" } }, "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": { @@ -762,137 +857,50 @@ "type": "string" } }, - "id": "TextSpan" + "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": { - "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" - } - } - }, - "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.", + "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" - }, - "EntityMention": { - "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", - "Proper name", - "Common noun (or noun compound)" - ], - "enum": [ - "TYPE_UNKNOWN", - "PROPER", - "COMMON" - ], - "description": "The type of the entity mention.", - "type": "string" - } - }, - "id": "EntityMention" - }, - "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" - }, - "Document": { - "description": "################################################################ #\n\nRepresents the input to API methods.", - "type": "object", - "properties": { - "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": { - "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", - "HTML" - ], - "enum": [ - "TYPE_UNSPECIFIED", - "PLAIN_TEXT", - "HTML" - ] - }, - "content": { - "description": "The content of the input in string format.", - "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.", - "type": "object", - "properties": { - "text": { - "description": "The sentence text.", - "$ref": "TextSpan" - }, - "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." - } - }, - "id": "Sentence" } }, "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" } @@ -908,6 +916,25 @@ "resources": { "documents": { "methods": { + "analyzeEntities": { + "id": "language.documents.analyzeEntities", + "path": "v1/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.", + "response": { + "$ref": "AnalyzeEntitiesResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "flatPath": "v1/documents:analyzeEntities" + }, "analyzeSyntax": { "response": { "$ref": "AnalyzeSyntaxResponse" @@ -915,112 +942,70 @@ "parameterOrder": [], "httpMethod": "POST", "scopes": [ + "https://www.googleapis.com/auth/cloud-language", "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.", + "path": "v1/documents:analyzeSyntax", "request": { "$ref": "AnalyzeSyntaxRequest" - } + }, + "description": "Analyzes the syntax of the text and provides sentence boundaries and\ntokenization along with part of speech tags, dependency trees, and other\nproperties." }, "analyzeSentiment": { + "request": { + "$ref": "AnalyzeSentimentRequest" + }, + "description": "Analyzes the sentiment of the provided text.", + "httpMethod": "POST", + "parameterOrder": [], "response": { "$ref": "AnalyzeSentimentResponse" }, - "parameterOrder": [], - "httpMethod": "POST", "scopes": [ + "https://www.googleapis.com/auth/cloud-language", "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" - } + "id": "language.documents.analyzeSentiment" }, "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-language", "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1/documents:analyzeEntities", - "path": "v1/documents:analyzeEntities", - "id": "language.documents.analyzeEntities", + "flatPath": "v1/documents:annotateText", + "id": "language.documents.annotateText", + "path": "v1/documents:annotateText", + "description": "A convenience method that provides all the features that analyzeSentiment,\nanalyzeEntities, and analyzeSyntax provide in one call.", "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." + "$ref": "AnnotateTextRequest" + } } } } }, "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.", + "fields": { + "description": "Selector specifying which fields to include in a partial response.", "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", @@ -1035,17 +1020,11 @@ "type": "string" }, "callback": { + "location": "query", "description": "JSONP", - "type": "string", - "location": "query" + "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": [ @@ -1053,7 +1032,13 @@ "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" }, "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.", @@ -1069,17 +1054,39 @@ "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": { + "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://language.googleapis.com/", - "description": "Provides natural language understanding technologies to developers. Examples include sentiment analysis, entity recognition, entity sentiment analysis, and text annotations.", "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": "", - "documentationLink": "https://cloud.google.com/natural-language/", - "revision": "20170619", - "id": "language:v1", - "discoveryVersion": "v1", - "version_module": "True" + "basePath": "" } 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 74134bb..30639f2 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" ) @@ -1189,9 +1193,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 +1418,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" // ] // } @@ -1534,6 +1539,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 +1664,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 +1787,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 aaf6cef..824752c 100644 --- a/vendor/google.golang.org/api/language/v1beta1/language-api.json +++ b/vendor/google.golang.org/api/language/v1beta1/language-api.json @@ -1,214 +1,529 @@ { - "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", + "revision": "20170822", "documentationLink": "https://cloud.google.com/natural-language/", + "id": "language:v1beta1", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "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" + } + }, + "id": "Features" + }, + "EntityMention": { + "description": "Represents a mention for an entity in the text. Currently, proper noun\nmentions are supported.", + "type": "object", + "properties": { + "type": { + "enumDescriptions": [ + "Unknown", + "Proper name", + "Common noun (or noun compound)" + ], + "enum": [ + "TYPE_UNKNOWN", + "PROPER", + "COMMON" + ], + "description": "The type of the entity mention.", + "type": "string" + }, + "text": { + "$ref": "TextSpan", + "description": "The mention text." + } + }, + "id": "EntityMention" + }, + "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." + } + }, + "id": "Sentence" + }, + "Document": { + "description": "################################################################ #\n\nRepresents the input to API methods.", + "type": "object", + "properties": { + "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": { + "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", + "HTML" + ], + "enum": [ + "TYPE_UNSPECIFIED", + "PLAIN_TEXT", + "HTML" + ] + }, + "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" + }, + "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" + }, + "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" + }, + "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": { + "description": "Input document.", + "$ref": "Document" + } + }, + "id": "AnalyzeEntitiesRequest" + }, + "PartOfSpeech": { + "description": "Represents part of speech information for a token.", + "type": "object", + "properties": { + "form": { + "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" + ], + "enum": [ + "FORM_UNKNOWN", + "ADNOMIAL", + "AUXILIARY", + "COMPLEMENTIZER", + "FINAL_ENDING", + "GERUND", + "REALIS", + "IRREALIS", + "SHORT", + "LONG", + "ORDER", + "SPECIFIC" + ] + }, + "number": { + "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.", + "type": "string" + }, + "voice": { + "description": "The grammatical 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" + ] + }, + "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" + }, + "mood": { + "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" + ], + "enum": [ + "MOOD_UNKNOWN", + "CONDITIONAL_MOOD", + "IMPERATIVE", + "INDICATIVE", + "INTERROGATIVE", + "JUSSIVE", + "SUBJUNCTIVE" + ] + }, + "tag": { + "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" + ], + "enum": [ + "UNKNOWN", + "ADJ", + "ADP", + "ADV", + "CONJ", + "DET", + "NOUN", + "NUM", + "PRON", + "PRT", + "PUNCT", + "VERB", + "X", + "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" + }, + "person": { + "description": "The grammatical person.", + "type": "string", + "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" + ] + }, + "proper": { + "description": "The grammatical properness.", + "type": "string", + "enumDescriptions": [ + "Proper is not applicable in the analyzed language or is not predicted.", + "Proper", + "Not proper" + ], + "enum": [ + "PROPER_UNKNOWN", + "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": { + "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" + ] + } + }, + "id": "PartOfSpeech" + }, + "AnalyzeSyntaxRequest": { + "description": "The syntax 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" + } + }, + "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.", + "items": { + "$ref": "Sentence" + }, + "type": "array" + } + }, + "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.", + "items": { + "$ref": "Entity" + }, + "type": "array" + } + }, + "id": "AnalyzeEntitiesResponse" + }, + "AnalyzeSyntaxResponse": { + "description": "The syntax analysis response message.", + "type": "object", + "properties": { + "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" + }, + "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" + }, "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": { + "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" }, "type": { + "description": "The entity type.", + "type": "string", "enumDescriptions": [ "Unknown", "Person", @@ -228,51 +543,25 @@ "WORK_OF_ART", "CONSUMER_GOOD", "OTHER" - ], - "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" + "name": { + "description": "The representative name for the entity.", + "type": "string" } }, "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.", - "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": [ @@ -291,23 +580,63 @@ "type": "string" }, "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" + "id": "AnnotateTextRequest" + }, + "AnnotateTextResponse": { + "description": "The text annotations response message.", + "type": "object", + "properties": { + "sentences": { + "description": "Sentences in the input document. Populated if the user enables\nAnnotateTextRequest.Features.extract_syntax.", + "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.", + "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.", + "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": { "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 for the\nsentence sentiment.", + "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.", @@ -319,63 +648,95 @@ "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" }, - "AnnotateTextResponse": { - "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" - } - }, - "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", - "items": { - "$ref": "Entity" - } - }, - "documentSentiment": { - "description": "The overall sentiment for the document. Populated if the user enables\nAnnotateTextRequest.Features.extract_document_sentiment.", - "$ref": "Sentiment" - } - }, - "id": "AnnotateTextResponse" - }, "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": { + "enumDescriptions": [ + "Unknown", + "Abbreviation modifier", + "Adjectival complement", + "Adverbial clause modifier", + "Adverbial modifier", + "Adjectival modifier of an NP", + "Appositional modifier of an NP", + "Attribute dependent of a copular verb", + "Auxiliary (non-main) verb", + "Passive auxiliary", + "Coordinating conjunction", + "Clausal complement of a verb or adjective", + "Conjunct", + "Clausal subject", + "Clausal passive subject", + "Dependency (unable to determine)", + "Determiner", + "Discourse", + "Direct object", + "Expletive", + "Goes with (part of a word in a text not well edited)", + "Indirect object", + "Marker (word introducing a subordinate clause)", + "Multi-word expression", + "Multi-word verbal expression", + "Negation modifier", + "Noun compound modifier", + "Noun phrase used as an adverbial modifier", + "Nominal subject", + "Passive nominal subject", + "Numeric modifier of a noun", + "Element of compound number", + "Punctuation mark", + "Parataxis relation", + "Participial modifier", + "The complement of a preposition is a clause", + "Object of a preposition", + "Possession modifier", + "Postverbal negative particle", + "Predicate complement", + "Preconjunt", + "Predeterminer", + "Prefix", + "Prepositional modifier", + "The relationship between a verb and verbal morpheme", + "Particle", + "Associative or possessive marker", + "Quantifier phrase modifier", + "Relative clause modifier", + "Complementizer in relative clause", + "Ellipsis without a preceding predicate", + "Referent", + "Remnant", + "Reparandum", + "Root", + "Suffix specifying a unit of number", + "Suffix", + "Temporal modifier", + "Topic marker", + "Clause headed by an infinite form of the verb that modifies a noun", + "Vocative", + "Open clausal complement", + "Name suffix", + "Name title", + "Adverbial phrase modifier", + "Causative auxiliary", + "Helper auxiliary", + "Rentaishi (Prenominal modifier)", + "Foreign words", + "Keyword", + "List for chains of comparable items", + "Nominalized clause", + "Nominalized clausal subject", + "Nominalized clausal passive", + "Compound of numeric modifier", + "Copula", + "Dislocated relation (for fronted/topicalized elements)" + ], "enum": [ "UNKNOWN", "ABBREV", @@ -456,86 +817,12 @@ "DISLOCATED" ], "description": "The parse label for the token.", - "type": "string", - "enumDescriptions": [ - "Unknown", - "Abbreviation modifier", - "Adjectival complement", - "Adverbial clause modifier", - "Adverbial modifier", - "Adjectival modifier of an NP", - "Appositional modifier of an NP", - "Attribute dependent of a copular verb", - "Auxiliary (non-main) verb", - "Passive auxiliary", - "Coordinating conjunction", - "Clausal complement of a verb or adjective", - "Conjunct", - "Clausal subject", - "Clausal passive subject", - "Dependency (unable to determine)", - "Determiner", - "Discourse", - "Direct object", - "Expletive", - "Goes with (part of a word in a text not well edited)", - "Indirect object", - "Marker (word introducing a subordinate clause)", - "Multi-word expression", - "Multi-word verbal expression", - "Negation modifier", - "Noun compound modifier", - "Noun phrase used as an adverbial modifier", - "Nominal subject", - "Passive nominal subject", - "Numeric modifier of a noun", - "Element of compound number", - "Punctuation mark", - "Parataxis relation", - "Participial modifier", - "The complement of a preposition is a clause", - "Object of a preposition", - "Possession modifier", - "Postverbal negative particle", - "Predicate complement", - "Preconjunt", - "Predeterminer", - "Prefix", - "Prepositional modifier", - "The relationship between a verb and verbal morpheme", - "Particle", - "Associative or possessive marker", - "Quantifier phrase modifier", - "Relative clause modifier", - "Complementizer in relative clause", - "Ellipsis without a preceding predicate", - "Referent", - "Remnant", - "Reparandum", - "Root", - "Suffix specifying a unit of number", - "Suffix", - "Temporal modifier", - "Topic marker", - "Clause headed by an infinite form of the verb that modifies a noun", - "Vocative", - "Open clausal complement", - "Name suffix", - "Name title", - "Adverbial phrase modifier", - "Causative auxiliary", - "Helper auxiliary", - "Rentaishi (Prenominal modifier)", - "Foreign words", - "Keyword", - "List for chains of comparable items", - "Nominalized clause", - "Nominalized clausal subject", - "Nominalized clausal passive", - "Compound of numeric modifier", - "Copula", - "Dislocated relation (for fronted/topicalized elements)" - ] + "type": "string" + }, + "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,6 +831,14 @@ "description": "Represents the smallest syntactic building block of the text.", "type": "object", "properties": { + "dependencyEdge": { + "$ref": "DependencyEdge", + "description": "Dependency tree parse for this token." + }, + "text": { + "description": "The token text.", + "$ref": "TextSpan" + }, "lemma": { "description": "[Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token.", "type": "string" @@ -551,23 +846,17 @@ "partOfSpeech": { "description": "Parts of speech tag for this token.", "$ref": "PartOfSpeech" - }, - "text": { - "$ref": "TextSpan", - "description": "The token text." - }, - "dependencyEdge": { - "$ref": "DependencyEdge", - "description": "Dependency tree parse for this token." } }, "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": { @@ -575,28 +864,26 @@ "type": "string" } }, - "id": "TextSpan", - "description": "Represents an output piece of text.", - "type": "object" + "id": "TextSpan" }, "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": { @@ -605,486 +892,206 @@ } }, "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" } }, "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" + "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": { + "analyzeSyntax": { + "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", + "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" + } + }, + "analyzeSentiment": { + "response": { + "$ref": "AnalyzeSentimentResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/documents:analyzeSentiment", + "id": "language.documents.analyzeSentiment", + "path": "v1beta1/documents:analyzeSentiment", + "description": "Analyzes the sentiment of the provided text.", + "request": { + "$ref": "AnalyzeSentimentRequest" + } + }, + "annotateText": { + "description": "A convenience method that provides all the features that analyzeSentiment,\nanalyzeEntities, and analyzeSyntax provide in one call.", + "request": { + "$ref": "AnnotateTextRequest" + }, + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "AnnotateTextResponse" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/documents:annotateText", + "path": "v1beta1/documents:annotateText", + "id": "language.documents.annotateText" + }, + "analyzeEntities": { + "response": { + "$ref": "AnalyzeEntitiesResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "flatPath": "v1beta1/documents: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." + } + } + } + }, + "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" + ] + }, + "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" + }, + "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" + } + }, + "version": "v1beta1", + "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": "" } 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 d7cb437..457c878 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" ) @@ -1191,9 +1195,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 +1420,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 +1541,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 +1666,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 +1789,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 e36d9ec..271c3d7 100644 --- a/vendor/google.golang.org/api/language/v1beta2/language-api.json +++ b/vendor/google.golang.org/api/language/v1beta2/language-api.json @@ -1,18 +1,253 @@ { - "servicePath": "", + "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": "20170822", + "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.", + "Token": { + "description": "Represents the smallest syntactic building block of the text.", "type": "object", "properties": { + "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" + }, + "partOfSpeech": { + "$ref": "PartOfSpeech", + "description": "Parts of speech tag for this token." + } + }, + "id": "Token" + }, + "TextSpan": { + "description": "Represents an output piece of text.", + "type": "object", + "properties": { + "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" + }, + "content": { + "description": "The content of the output text.", + "type": "string" + } + }, + "id": "TextSpan" + }, + "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" + }, + "EntityMention": { + "description": "Represents a mention for an entity in the text. Currently, proper noun\nmentions are supported.", + "type": "object", + "properties": { + "type": { + "description": "The type of the entity mention.", + "type": "string", + "enumDescriptions": [ + "Unknown", + "Proper name", + "Common noun (or noun compound)" + ], + "enum": [ + "TYPE_UNKNOWN", + "PROPER", + "COMMON" + ] + }, + "text": { + "$ref": "TextSpan", + "description": "The mention text." + }, + "sentiment": { + "$ref": "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." + } + }, + "id": "EntityMention" + }, + "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": { + "extractEntitySentiment": { + "description": "Extract entities and their associated sentiment.", + "type": "boolean" + }, + "extractDocumentSentiment": { + "description": "Extract document-level sentiment.", + "type": "boolean" + }, + "extractSyntax": { + "description": "Extract syntax information.", + "type": "boolean" + }, + "extractEntities": { + "type": "boolean", + "description": "Extract entities." + } + }, + "id": "Features" + }, + "Document": { + "description": "################################################################ #\n\nRepresents the input to API methods.", + "type": "object", + "properties": { + "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": { + "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", + "HTML" + ], + "enum": [ + "TYPE_UNSPECIFIED", + "PLAIN_TEXT", + "HTML" + ] + }, + "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.", + "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." + } + }, + "id": "Sentence" + }, + "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" + } + }, + "id": "Sentiment" + }, + "AnalyzeEntitiesRequest": { + "type": "object", + "properties": { + "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" + ] + }, + "document": { + "$ref": "Document", + "description": "Input document." + } + }, + "id": "AnalyzeEntitiesRequest", + "description": "The entity analysis 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": { + "description": "The recognized entities in the input document with associated sentiments.", + "items": { + "$ref": "Entity" + }, + "type": "array" + } + }, + "id": "AnalyzeEntitySentimentResponse" + }, + "AnalyzeEntitySentimentRequest": { + "id": "AnalyzeEntitySentimentRequest", + "description": "The entity-level sentiment analysis request message.", + "type": "object", + "properties": { + "document": { + "$ref": "Document", + "description": "Input document." + }, "encodingType": { "enum": [ "NONE", @@ -28,10 +263,449 @@ "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." ] + } + } + }, + "PartOfSpeech": { + "description": "Represents part of speech information for a token.", + "type": "object", + "properties": { + "form": { + "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" + ], + "enum": [ + "FORM_UNKNOWN", + "ADNOMIAL", + "AUXILIARY", + "COMPLEMENTIZER", + "FINAL_ENDING", + "GERUND", + "REALIS", + "IRREALIS", + "SHORT", + "LONG", + "ORDER", + "SPECIFIC" + ] + }, + "number": { + "description": "The grammatical 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" + ] + }, + "voice": { + "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.", + "type": "string" + }, + "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" + }, + "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": { + "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": { + "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": { + "description": "The syntax analysis request message.", + "type": "object", + "properties": { + "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" + ] }, "document": { "$ref": "Document", "description": "Input document." + } + }, + "id": "AnalyzeSyntaxRequest" + }, + "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.", + "items": { + "$ref": "Sentence" + }, + "type": "array" + } + }, + "id": "AnalyzeSentimentResponse" + }, + "AnalyzeEntitiesResponse": { + "id": "AnalyzeEntitiesResponse", + "description": "The entity analysis response message.", + "type": "object", + "properties": { + "entities": { + "description": "The recognized entities in the input document.", + "items": { + "$ref": "Entity" + }, + "type": "array" + }, + "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" + } + } + }, + "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.", + "items": { + "$ref": "Sentence" + }, + "type": "array" + }, + "tokens": { + "description": "Tokens, along with their syntactic information, in the input document.", + "items": { + "$ref": "Token" + }, + "type": "array" + } + }, + "id": "AnalyzeSyntaxResponse", + "description": "The syntax analysis response message." + }, + "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": { + "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": { + "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", + "additionalProperties": { + "type": "string" + } + }, + "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" + }, + "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." + }, + "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" + }, + "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", + "UTF16", + "UTF32" + ], + "description": "The encoding type used by the API to calculate offsets.", + "type": "string" + }, + "document": { + "description": "Input document.", + "$ref": "Document" }, "features": { "$ref": "Features", @@ -40,15 +714,45 @@ }, "id": "AnnotateTextRequest" }, + "AnnotateTextResponse": { + "type": "object", + "properties": { + "sentences": { + "description": "Sentences in the input document. Populated if the user enables\nAnnotateTextRequest.Features.extract_syntax.", + "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.", + "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.", + "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", + "description": "The text annotations response message." + }, "AnalyzeSentimentRequest": { "properties": { "encodingType": { - "enum": [ - "NONE", - "UTF8", - "UTF16", - "UTF32" - ], "description": "The encoding type used by the API to calculate sentence offsets for the\nsentence sentiment.", "type": "string", "enumDescriptions": [ @@ -56,6 +760,12 @@ "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" ] }, "document": { @@ -67,49 +777,11 @@ "description": "The sentiment analysis request message.", "type": "object" }, - "AnnotateTextResponse": { - "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" - } - }, - "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", - "items": { - "$ref": "Entity" - } - }, - "documentSentiment": { - "description": "The overall sentiment for the document. Populated if the user enables\nAnnotateTextRequest.Features.extract_document_sentiment.", - "$ref": "Sentiment" - } - }, - "id": "AnnotateTextResponse", - "description": "The text annotations response message.", - "type": "object" - }, "DependencyEdge": { + "id": "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", @@ -271,694 +943,27 @@ "Copula", "Dislocated relation (for fronted/topicalized elements)" ] - } - }, - "id": "DependencyEdge", - "description": "Represents dependency parse tree information for a token.", - "type": "object" - }, - "Token": { - "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." - }, - "text": { - "$ref": "TextSpan", - "description": "The token text." - }, - "dependencyEdge": { - "description": "Dependency tree parse for this token.", - "$ref": "DependencyEdge" - } - }, - "id": "Token", - "description": "Represents the smallest syntactic building block of the text.", - "type": "object" - }, - "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" - } - }, - "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.", + "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": "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" - }, - "EntityMention": { - "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" - }, - "sentiment": { - "$ref": "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." - } - }, - "id": "EntityMention", - "description": "Represents a mention for an entity in the text. Currently, proper noun\nmentions are supported.", - "type": "object" - }, - "Sentence": { - "properties": { - "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" - }, - "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.", - "format": "float", - "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" - } - }, - "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" + } } }, - "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 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" } @@ -974,31 +979,68 @@ "resources": { "documents": { "methods": { + "analyzeSentiment": { + "description": "Analyzes the sentiment of the provided text.", + "request": { + "$ref": "AnalyzeSentimentRequest" + }, + "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" + }, + "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": {} + }, "analyzeEntitySentiment": { - "id": "language.documents.analyzeEntitySentiment", - "path": "v1beta2/documents:analyzeEntitySentiment", + "description": "Finds entities, similar to AnalyzeEntities in the text and analyzes\nsentiment associated with each entity and its mentions.", "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" }, + "parameterOrder": [], + "httpMethod": "POST", "parameters": {}, "scopes": [ + "https://www.googleapis.com/auth/cloud-language", "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1beta2/documents:analyzeEntitySentiment" + "flatPath": "v1beta2/documents:analyzeEntitySentiment", + "id": "language.documents.analyzeEntitySentiment", + "path": "v1beta2/documents:analyzeEntitySentiment" }, "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" }, - "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": { @@ -1006,114 +1048,56 @@ }, "parameters": {}, "scopes": [ + "https://www.googleapis.com/auth/cloud-language", "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1beta2/documents:analyzeEntities" + "flatPath": "v1beta2/documents:analyzeEntities", + "path": "v1beta2/documents:analyzeEntities", + "id": "language.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", + "parameters": {}, "scopes": [ + "https://www.googleapis.com/auth/cloud-language", "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" - } + "flatPath": "v1beta2/documents:analyzeSyntax", + "id": "language.documents.analyzeSyntax", + "path": "v1beta2/documents:analyzeSyntax" } } } }, "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" + "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" + "default": "true", + "type": "boolean" }, "oauth_token": { - "description": "OAuth 2.0 token for the current user.", "type": "string", - "location": "query" + "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", @@ -1122,13 +1106,8 @@ }, "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", + "type": "boolean", "location": "query" }, "uploadType": { @@ -1136,6 +1115,11 @@ "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": "JSONP", @@ -1153,8 +1137,32 @@ ], "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": "v1beta2", - "baseUrl": "https://language.googleapis.com/" + } } 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 9faa945..016566d 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" ) @@ -1296,9 +1300,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 +1525,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 +1648,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 +1769,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 +1894,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 +2017,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/logging/v2/logging-api.json b/vendor/google.golang.org/api/logging/v2/logging-api.json index d768ded..111a1e4 100644 --- a/vendor/google.golang.org/api/logging/v2/logging-api.json +++ b/vendor/google.golang.org/api/logging/v2/logging-api.json @@ -1,62 +1,2196 @@ { + "batchPath": "batch", + "title": "Stackdriver Logging API", + "ownerName": "Google", + "resources": { + "entries": { + "methods": { + "list": { + "description": "Lists log entries. Use this method to retrieve log entries from Stackdriver Logging. For ways to export log entries, see Exporting Logs.", + "request": { + "$ref": "ListLogEntriesRequest" + }, + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "ListLogEntriesResponse" + }, + "parameters": {}, + "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/entries:list", + "path": "v2/entries:list", + "id": "logging.entries.list" + }, + "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": "v2/entries:write", + "id": "logging.entries.write", + "path": "v2/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": { + "exclusions": { + "methods": { + "delete": { + "flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", + "id": "logging.projects.exclusions.delete", + "path": "v2/{+name}", + "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": "^projects/[^/]+/exclusions/[^/]+$" + } + } + }, + "patch": { + "response": { + "$ref": "LogExclusion" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PATCH", + "parameters": { + "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\"." + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", + "id": "logging.projects.exclusions.patch", + "path": "v2/{+name}", + "description": "Changes one or more properties of an existing exclusion.", + "request": { + "$ref": "LogExclusion" + } + }, + "get": { + "description": "Gets the description of an exclusion.", + "response": { + "$ref": "LogExclusion" + }, + "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/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "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\"." + } + }, + "flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", + "id": "logging.projects.exclusions.get", + "path": "v2/{+name}" + }, + "list": { + "description": "Lists all the exclusions in a parent resource.", + "response": { + "$ref": "ListExclusionsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "parameters": { + "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", + "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": { + "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}/exclusions", + "id": "logging.projects.exclusions.list", + "path": "v2/{+parent}/exclusions" + }, + "create": { + "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" + }, + "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" + ] + } + } + }, + "metrics": { + "methods": { + "delete": { + "description": "Deletes a logs-based metric.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "metricName" + ], + "httpMethod": "DELETE", + "parameters": { + "metricName": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/metrics/[^/]+$", + "location": "path", + "description": "The resource name of the metric to delete:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\n" + } + }, + "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.delete", + "path": "v2/{+metricName}" + }, + "get": { + "flatPath": "v2/projects/{projectsId}/metrics/{metricsId}", + "path": "v2/{+metricName}", + "id": "logging.projects.metrics.get", + "description": "Gets a logs-based metric.", + "httpMethod": "GET", + "response": { + "$ref": "LogMetric" + }, + "parameterOrder": [ + "metricName" + ], + "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": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/metrics/[^/]+$", + "location": "path", + "description": "The resource name of the desired metric:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\n" + } + } + }, + "list": { + "description": "Lists logs-based metrics.", + "response": { + "$ref": "ListLogMetricsResponse" + }, + "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": { + "description": "Required. The name of the project containing the metrics:\n\"projects/[PROJECT_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "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" + } + }, + "flatPath": "v2/projects/{projectsId}/metrics", + "id": "logging.projects.metrics.list", + "path": "v2/{+parent}/metrics" + }, + "update": { + "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}", + "path": "v2/{+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.", + "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": { + "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": "v2/projects/{projectsId}/metrics", + "path": "v2/{+parent}/metrics", + "id": "logging.projects.metrics.create" + } + } + }, + "sinks": { + "methods": { + "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": { + "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}", + "path": "v2/{+sinkName}", + "id": "logging.projects.sinks.get", + "description": "Gets a sink." + }, + "patch": { + "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": { + "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 + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", + "path": "v2/{+sinkName}", + "id": "logging.projects.sinks.patch", + "description": "Updates a sink. 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 sink might also have a new writer_identity; see the unique_writer_identity field.", + "request": { + "$ref": "LogSink" + }, + "httpMethod": "PATCH", + "parameterOrder": [ + "sinkName" + ], + "response": { + "$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": { + "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": "v2/projects/{projectsId}/sinks/{sinksId}", + "id": "logging.projects.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, filter, output_version_format, start_time, and end_time. The updated sink might also have a new writer_identity; see the unique_writer_identity field." + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "DELETE", + "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": "^projects/[^/]+/sinks/[^/]+$" + } + }, + "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." + }, + "list": { + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "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": { + "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": "v2/projects/{projectsId}/sinks", + "path": "v2/{+parent}/sinks", + "id": "logging.projects.sinks.list", + "description": "Lists sinks." + }, + "create": { + "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": { + "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/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.", + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "LogSink" + } + } + } + }, + "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": "^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}" + }, + "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", + "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 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": { + "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" + } + }, + "flatPath": "v2/projects/{projectsId}/logs", + "id": "logging.projects.logs.list", + "path": "v2/{+parent}/logs" + } + } + } + } + }, + "billingAccounts": { + "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", + "parameterOrder": [ + "sinkName" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "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 + } + }, + "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", + "path": "v2/{+sinkName}", + "id": "logging.billingAccounts.sinks.delete" + }, + "list": { + "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": "^billingAccounts/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks", + "path": "v2/{+parent}/sinks", + "id": "logging.billingAccounts.sinks.list", + "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 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": "^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\"." + }, + "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" + ], + "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks", + "path": "v2/{+parent}/sinks", + "id": "logging.billingAccounts.sinks.create" + }, + "get": { + "description": "Gets a sink.", + "httpMethod": "GET", + "response": { + "$ref": "LogSink" + }, + "parameterOrder": [ + "sinkName" + ], + "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}", + "path": "v2/{+sinkName}", + "id": "logging.billingAccounts.sinks.get" + }, + "patch": { + "path": "v2/{+sinkName}", + "id": "logging.billingAccounts.sinks.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, filter, output_version_format, start_time, and end_time. 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": { + "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": "^billingAccounts/[^/]+/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/billingAccounts/{billingAccountsId}/sinks/{sinksId}" + }, + "update": { + "path": "v2/{+sinkName}", + "id": "logging.billingAccounts.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, filter, output_version_format, start_time, and end_time. The updated sink 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": { + "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}" + } + } + }, + "logs": { + "methods": { + "list": { + "id": "logging.billingAccounts.logs.list", + "path": "v2/{+parent}/logs", + "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", + "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 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/[^/]+$" + } + }, + "flatPath": "v2/billingAccounts/{billingAccountsId}/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": { + "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" + ], + "flatPath": "v2/billingAccounts/{billingAccountsId}/logs/{logsId}", + "path": "v2/{+logName}", + "id": "logging.billingAccounts.logs.delete" + } + } + }, + "exclusions": { + "methods": { + "delete": { + "description": "Deletes an exclusion.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^billingAccounts/[^/]+/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\"." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", + "id": "logging.billingAccounts.exclusions.delete", + "path": "v2/{+name}" + }, + "patch": { + "description": "Changes one or more properties of an existing exclusion.", + "request": { + "$ref": "LogExclusion" + }, + "httpMethod": "PATCH", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "LogExclusion" + }, + "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": "^billingAccounts/[^/]+/exclusions/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", + "path": "v2/{+name}", + "id": "logging.billingAccounts.exclusions.patch" + }, + "get": { + "response": { + "$ref": "LogExclusion" + }, + "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/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": { + "name": { + "type": "string", + "required": true, + "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\"." + } + }, + "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" + }, + "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": { + "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", + "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" + } + }, + "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions", + "id": "logging.billingAccounts.exclusions.list", + "path": "v2/{+parent}/exclusions" + }, + "create": { + "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" + ], + "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions" + } + } + } + } + }, + "folders": { + "resources": { + "exclusions": { + "methods": { + "delete": { + "path": "v2/{+name}", + "id": "logging.folders.exclusions.delete", + "description": "Deletes an exclusion.", + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "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 + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}" + }, + "patch": { + "httpMethod": "PATCH", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "LogExclusion" + }, + "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": "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\"." + }, + "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\"." + } + }, + "flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", + "path": "v2/{+name}", + "id": "logging.folders.exclusions.patch", + "request": { + "$ref": "LogExclusion" + }, + "description": "Changes one or more properties of an existing exclusion." + }, + "get": { + "flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", + "path": "v2/{+name}", + "id": "logging.folders.exclusions.get", + "description": "Gets the description of an exclusion.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "LogExclusion" + }, + "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/[^/]+$" + } + }, + "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" + ] + }, + "list": { + "flatPath": "v2/folders/{foldersId}/exclusions", + "path": "v2/{+parent}/exclusions", + "id": "logging.folders.exclusions.list", + "description": "Lists all the exclusions in a parent resource.", + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "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" + ], + "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 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": "^folders/[^/]+$", + "location": "path" + } + } + }, + "create": { + "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", + "path": "v2/{+parent}/exclusions", + "id": "logging.folders.exclusions.create", + "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.", + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "LogExclusion" + } + } + } + }, + "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": "^folders/[^/]+/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/folders/{foldersId}/sinks/{sinksId}", + "id": "logging.folders.sinks.get", + "path": "v2/{+sinkName}", + "description": "Gets a sink." + }, + "patch": { + "httpMethod": "PATCH", + "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": { + "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": "^folders/[^/]+/sinks/[^/]+$" + } + }, + "flatPath": "v2/folders/{foldersId}/sinks/{sinksId}", + "path": "v2/{+sinkName}", + "id": "logging.folders.sinks.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, filter, output_version_format, start_time, and end_time. The updated sink might also have a new writer_identity; see the unique_writer_identity field." + }, + "update": { + "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, filter, output_version_format, start_time, and end_time. 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": { + "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": "^folders/[^/]+/sinks/[^/]+$" + } + } + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "sinkName": { + "pattern": "^folders/[^/]+/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/folders/{foldersId}/sinks/{sinksId}", + "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." + }, + "list": { + "path": "v2/{+parent}/sinks", + "id": "logging.folders.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": { + "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": { + "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." + } + }, + "flatPath": "v2/folders/{foldersId}/sinks" + }, + "create": { + "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": { + "type": "boolean", + "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." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "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" + } + } + } + }, + "logs": { + "methods": { + "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": "^folders/[^/]+/logs/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/folders/{foldersId}/logs/{logsId}", + "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." + }, + "list": { + "flatPath": "v2/folders/{foldersId}/logs", + "id": "logging.folders.logs.list", + "path": "v2/{+parent}/logs", + "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", + "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 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": { + "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" + } + } + } + } + } + } + }, + "monitoredResourceDescriptors": { + "methods": { + "list": { + "description": "Lists the descriptors for monitored resource types used by Stackdriver Logging.", + "response": { + "$ref": "ListMonitoredResourceDescriptorsResponse" + }, + "parameterOrder": [], + "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" + }, + "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" + } + }, + "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", + "parameterOrder": [ + "sinkName" + ], + "response": { + "$ref": "Empty" + }, + "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" + }, + "list": { + "description": "Lists sinks.", + "response": { + "$ref": "ListSinksResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "parameters": { + "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": { + "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": { + "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/organizations/{organizationsId}/sinks", + "id": "logging.organizations.sinks.list", + "path": "v2/{+parent}/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.", + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "LogSink" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "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": "^organizations/[^/]+$" + }, + "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/organizations/{organizationsId}/sinks", + "path": "v2/{+parent}/sinks", + "id": "logging.organizations.sinks.create" + }, + "get": { + "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": "^organizations/[^/]+/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/organizations/{organizationsId}/sinks/{sinksId}", + "id": "logging.organizations.sinks.get", + "path": "v2/{+sinkName}", + "description": "Gets a sink." + }, + "patch": { + "response": { + "$ref": "LogSink" + }, + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "PATCH", + "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}", + "id": "logging.organizations.sinks.patch", + "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, filter, output_version_format, start_time, and end_time. The updated sink might also have a new writer_identity; see the unique_writer_identity field." + }, + "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": "^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.update", + "description": "Updates a sink. 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 sink might also have a new writer_identity; see the unique_writer_identity field.", + "request": { + "$ref": "LogSink" + } + } + } + }, + "logs": { + "methods": { + "delete": { + "path": "v2/{+logName}", + "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.", + "httpMethod": "DELETE", + "parameterOrder": [ + "logName" + ], + "response": { + "$ref": "Empty" + }, + "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}" + }, + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListLogsResponse" + }, + "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": { + "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/[^/]+$" + } + }, + "flatPath": "v2/organizations/{organizationsId}/logs", + "path": "v2/{+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." + } + } + }, + "exclusions": { + "methods": { + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "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 + } + }, + "flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}", + "id": "logging.organizations.exclusions.delete", + "path": "v2/{+name}", + "description": "Deletes an exclusion." + }, + "patch": { + "id": "logging.organizations.exclusions.patch", + "path": "v2/{+name}", + "description": "Changes one or more properties of an existing exclusion.", + "request": { + "$ref": "LogExclusion" + }, + "response": { + "$ref": "LogExclusion" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PATCH", + "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\".", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+/exclusions/[^/]+$", + "location": "path" + }, + "updateMask": { + "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", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}" + }, + "get": { + "httpMethod": "GET", + "response": { + "$ref": "LogExclusion" + }, + "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\".", + "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": { + "httpMethod": "GET", + "response": { + "$ref": "ListExclusionsResponse" + }, + "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": { + "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/[^/]+$" + }, + "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" + } + }, + "flatPath": "v2/organizations/{organizationsId}/exclusions", + "path": "v2/{+parent}/exclusions", + "id": "logging.organizations.exclusions.list", + "description": "Lists all the exclusions in a parent resource." + }, + "create": { + "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": { + "pattern": "^organizations/[^/]+$", + "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 + } + }, + "flatPath": "v2/organizations/{organizationsId}/exclusions", + "id": "logging.organizations.exclusions.create", + "path": "v2/{+parent}/exclusions" + } + } + } + } + } + }, + "parameters": { + "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": { + "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": { + "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": { + "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": { + "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." + }, + "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": "v2", + "baseUrl": "https://logging.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Writes log entries and manages your Stackdriver Logging configuration.", + "servicePath": "", + "basePath": "", + "revision": "20170828", + "documentationLink": "https://cloud.google.com/logging/docs/", + "id": "logging:v2", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "LogEntryOperation": { + "id": "LogEntryOperation", + "description": "Additional information about a potentially long-running operation with which a log entry is associated.", + "type": "object", + "properties": { + "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": { + "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": { + "description": "Optional. Set this to True if this is the last log entry in the operation.", + "type": "boolean" + } + } + }, + "LogMetric": { + "properties": { + "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" + }, + "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": { + "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.", + "type": "string" + }, + "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.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" + }, "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\"." - }, "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": { + "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" - }, - "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" + } }, "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": { + "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" + }, + "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.", + "type": "string" + }, + "outputVersionFormat": { + "enumDescriptions": [ + "An unspecified format version that will default to V2.", + "LogEntry version 2 format.", + "LogEntry version 1 format." + ], + "enum": [ + "VERSION_FORMAT_UNSPECIFIED", + "V2", + "V1" + ], + "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" + }, "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" @@ -74,32 +2208,9 @@ "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.", - "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": { "type": "string", - "enumDescriptions": [ - "An unspecified format version that will default to V2.", - "LogEntry version 2 format.", - "LogEntry version 1 format." - ], - "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." + "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." } }, "id": "LogSink" @@ -108,52 +2219,33 @@ "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.", - "type": "object", - "properties": { - "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": { + "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" + }, "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.", @@ -163,31 +2255,35 @@ "description": "The request method. Examples: \"GET\", \"HEAD\", \"PUT\", \"POST\".", "type": "string" }, + "requestSize": { + "format": "int64", + "description": "The size of the HTTP request message in bytes, including the request headers and the request body.", + "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.", "type": "string" }, - "requestSize": { - "type": "string", - "format": "int64", - "description": "The size of the HTTP request message in bytes, including the request headers and the request body." + "protocol": { + "description": "Protocol used for the request. Examples: \"HTTP/1.1\", \"HTTP/2\", \"websocket\"", + "type": "string" }, "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 IP address (IPv4 or IPv6) of the origin server that the request was sent to." }, "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" + "type": "string", + "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\"." }, "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,44 +2294,34 @@ "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" } - } + }, + "id": "HttpRequest" }, - "LabelDescriptor": { - "description": "A description of a label.", + "ListSinksResponse": { + "description": "Result returned from ListSinks.", "type": "object", "properties": { - "key": { - "description": "The label key.", + "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" }, - "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" - ] + "sinks": { + "description": "A list of sinks.", + "items": { + "$ref": "LogSink" + }, + "type": "array" } }, - "id": "LabelDescriptor" + "id": "ListSinksResponse" }, "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.", @@ -291,32 +2377,29 @@ "description": "Result returned from ListLogEntries.", "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.", - "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" }, "type": "array" + }, + "nextPageToken": { + "type": "string", + "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." } }, "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": "App-provided log message.", + "type": "string" }, "severity": { - "description": "Severity of this log entry.", - "type": "string", "enumDescriptions": [ "(0) The log entry has no assigned severity level.", "(100) Debug or trace information.", @@ -338,7 +2421,9 @@ "CRITICAL", "ALERT", "EMERGENCY" - ] + ], + "description": "Severity of this log entry.", + "type": "string" }, "sourceLocation": { "$ref": "SourceLocation", @@ -349,42 +2434,334 @@ "description": "Approximate time when this log entry was made.", "type": "string" } - } + }, + "id": "LogLine" }, - "ListLogMetricsResponse": { - "description": "Result returned from ListLogMetrics.", + "Linear": { + "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", + "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": { - "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.", + "file": { + "type": "string", + "description": "Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name." + }, + "functionName": { + "type": "string", + "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)." + }, + "line": { + "type": "string", + "format": "int64", + "description": "Line within the source file." + } + }, + "id": "SourceLocation" + }, + "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": { + "type": "string", + "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." + }, + "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" + }, + "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": { + "type": "object", + "properties": {}, + "id": "WriteLogEntriesResponse", + "description": "Result returned from WriteLogEntries. empty" + }, + "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": { + "type": "number", + "format": "double", + "description": "Must be greater than 0." + }, + "numFiniteBuckets": { + "format": "int32", + "description": "Must be greater than 0.", + "type": "integer" + } + }, + "id": "Exponential" + }, + "WriteLogEntriesRequest": { + "description": "The parameters to WriteLogEntries.", + "type": "object", + "properties": { + "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": { + "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 entries.list.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" + } + }, + "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": { + "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." + ] + } + }, + "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": { + "exponentialBuckets": { + "$ref": "Exponential", + "description": "The exponential buckets." + }, + "explicitBuckets": { + "$ref": "Explicit", + "description": "The explicit buckets." + }, + "linearBuckets": { + "$ref": "Linear", + "description": "The linear bucket." + } + }, + "id": "BucketOptions" + }, + "ListLogMetricsResponse": { + "type": "object", + "properties": { "metrics": { "description": "A list of logs-based metrics.", "items": { "$ref": "LogMetric" }, "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 this method again using the value of nextPageToken as pageToken.", + "type": "string" } }, - "id": "ListLogMetricsResponse" + "id": "ListLogMetricsResponse", + "description": "Result returned from ListLogMetrics." }, - "LogEntry": { - "description": "An individual entry in a log.", + "MetricDescriptor": { + "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", "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.", + "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." + ] + }, + "description": { + "description": "A detailed description of the metric, which can be used in documentation.", "type": "string" }, - "httpRequest": { - "description": "Optional. Information about the HTTP request associated with this log entry, if applicable.", - "$ref": "HttpRequest" + "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" }, + "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" + }, + "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": { + "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." + } + } + }, + "LogEntry": { + "properties": { "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." }, + "httpRequest": { + "$ref": "HttpRequest", + "description": "Optional. Information about the HTTP request associated with this log entry, if applicable." + }, "jsonPayload": { "additionalProperties": { "description": "Properties of the object.", @@ -393,14 +2770,14 @@ "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 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." }, - "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" @@ -451,8 +2828,8 @@ "type": "string" }, "sourceLocation": { - "$ref": "LogEntrySourceLocation", - "description": "Optional. Source code location information associated with the log entry, if any." + "description": "Optional. Source code location information associated with the log entry, if any.", + "$ref": "LogEntrySourceLocation" }, "receiveTimestamp": { "format": "google-datetime", @@ -461,75 +2838,17 @@ }, "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": { + "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]\"\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." } }, - "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." + "id": "LogEntry", + "description": "An individual entry in a log.", + "type": "object" }, "RequestLog": { "description": "Complete log information about a single HTTP request to an App Engine application.", @@ -544,11 +2863,11 @@ "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" + "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": { "type": "string", @@ -566,14 +2885,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": { + "description": "Referrer URL of 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" @@ -592,9 +2911,9 @@ "type": "string" }, "status": { - "type": "integer", "format": "int32", - "description": "HTTP response status code. Example: 200, 404." + "description": "HTTP response status code. Example: 200, 404.", + "type": "integer" }, "taskName": { "description": "Task name of the request, in the case of an offline request.", @@ -636,12 +2955,12 @@ "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" + "type": "string", + "description": "App Engine release version." }, "method": { "description": "Request method. Example: \"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\".", @@ -653,17 +2972,17 @@ "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.", + "description": "An identifier for the instance that handled the request.", "type": "string" }, + "megaCycles": { + "type": "string", + "format": "int64", + "description": "Number of CPU megacycles used to process request." + }, "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" + "type": "boolean", + "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." }, "versionId": { "description": "Version of the application that handled this request.", @@ -681,8 +3000,30 @@ }, "id": "RequestLog" }, - "ListMonitoredResourceDescriptorsResponse": { + "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": { + "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", + "type": "string" + }, + "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": "LogExclusion" + }, + "ListMonitoredResourceDescriptorsResponse": { "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.", @@ -697,89 +3038,33 @@ } }, "id": "ListMonitoredResourceDescriptorsResponse", - "description": "Result returned from ListMonitoredResourceDescriptors." + "description": "Result returned from ListMonitoredResourceDescriptors.", + "type": "object" }, - "SourceReference": { - "description": "A reference to a particular snapshot of the source tree used to build and deploy an application.", + "ListExclusionsResponse": { + "description": "Result returned from ListExclusions.", "type": "object", "properties": { - "revisionId": { + "exclusions": { + "items": { + "$ref": "LogExclusion" + }, + "type": "array", + "description": "A list of exclusions." + }, + "nextPageToken": { "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\"", - "type": "string" + "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." } }, - "id": "SourceReference" - }, - "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" - }, - "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": { - "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.", - "type": "string", - "enumDescriptions": [ - "Stackdriver Logging API v2.", - "Stackdriver Logging API v1." - ], - "enum": [ - "V2", - "V1" - ] - } - }, - "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." - }, - "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." - }, - "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" - } - }, - "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" + "id": "ListExclusionsResponse" } }, - "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": { @@ -804,1296 +3089,5 @@ }, "rootUrl": "https://logging.googleapis.com/", "ownerDomain": "google.com", - "name": "logging", - "batchPath": "batch", - "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" + "name": "logging" } 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 0543e1e..d73ce32 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 @@ -767,10 +1054,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 +1176,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 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 @@ -707,10 +908,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 +1084,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 +1105,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 +1150,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 +1180,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 +1188,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 @@ -1002,10 +1262,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 @@ -1058,6 +1317,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 +1812,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 entries.list.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 +2378,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 +2472,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", @@ -4275,11 +4692,9 @@ 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 +// Update: Updates a sink. 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 sink // might also have a new writer_identity; see the unique_writer_identity // field. func (r *ProjectsSinksService) Update(sinkNameid string, logsink *LogSink) *ProjectsSinksUpdateCall { @@ -4391,7 +4806,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, filter, output_version_format, start_time, and end_time. 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", 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 ecf1b19..be00651 100644 --- a/vendor/google.golang.org/api/manufacturers/v1/manufacturers-api.json +++ b/vendor/google.golang.org/api/manufacturers/v1/manufacturers-api.json @@ -1,16 +1,350 @@ { + "batchPath": "batch", + "title": "Manufacturer Center API", + "ownerName": "Google", + "resources": { + "accounts": { + "resources": { + "products": { + "methods": { + "get": { + "response": { + "$ref": "Product" + }, + "parameterOrder": [ + "parent", + "name" + ], + "httpMethod": "GET", + "parameters": { + "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.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": { + "flatPath": "v1/accounts/{accountsId}/products", + "id": "manufacturers.accounts.products.list", + "path": "v1/{+parent}/products", + "description": "Lists all the products in a Manufacturer Center account.", + "response": { + "$ref": "ListProductsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/manufacturercenter" + ], + "parameters": { + "pageToken": { + "description": "The token returned by the previous request.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "Maximum number of product statuses to return in the response, used for\npaging.", + "type": "integer", + "location": "query" + }, + "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/[^/]+$" + } + } + }, + "update": { + "httpMethod": "PUT", + "parameterOrder": [ + "parent", + "name" + ], + "response": { + "$ref": "Product" + }, + "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/[^/]+$" + }, + "name": { + "location": "path", + "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": "^[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/manufacturercenter" + ], + "flatPath": "v1/accounts/{accountsId}/products/{productsId}", + "path": "v1/{+parent}/products/{+name}", + "id": "manufacturers.accounts.products.update", + "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.", + "request": { + "$ref": "Product" + } + }, + "delete": { + "flatPath": "v1/accounts/{accountsId}/products/{productsId}", + "id": "manufacturers.accounts.products.delete", + "path": "v1/{+parent}/products/{+name}", + "description": "Deletes the product from a Manufacturer Center account.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "parent", + "name" + ], + "httpMethod": "DELETE", + "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/[^/]+$" + }, + "name": { + "location": "path", + "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": "^[^/]+$" + } + } + } + } + } + } + } + }, + "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": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "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", + "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": { + "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" + } + }, "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": { + "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": { + "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" + }, + "FeatureDescription": { + "description": "A feature description of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#featuredesc.", + "type": "object", + "properties": { + "image": { + "$ref": "Image", + "description": "An optional image describing the feature." + }, + "headline": { + "description": "A short description of the feature.", + "type": "string" + }, + "text": { + "description": "A detailed description of the feature.", + "type": "string" + } + }, + "id": "FeatureDescription" + }, + "Issue": { + "description": "Product issue.", + "type": "object", + "properties": { + "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" + }, + "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" + }, "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", @@ -36,6 +370,24 @@ "description": "An image.", "type": "object", "properties": { + "type": { + "enumDescriptions": [ + "Type is unspecified. Should not be used.", + "The image was crawled from a provided URL.", + "The image was uploaded." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "CRAWLED", + "UPLOADED" + ], + "description": "The type of the image, i.e., crawled or uploaded.\n@OutputOnly", + "type": "string" + }, + "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.", @@ -65,24 +417,6 @@ ], "description": "The status of the image.\n@OutputOnly", "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.", - "The image was uploaded." - ], - "enum": [ - "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.", - "type": "string" } }, "id": "Image" @@ -91,51 +425,6 @@ "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.", - "type": "string" - }, - "theme": { - "description": "The theme of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#theme.", - "type": "string" - }, - "pattern": { - "description": "The pattern of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#pattern.", - "type": "string" - }, - "imageLink": { - "$ref": "Image", - "description": "The image of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#image." - }, - "productType": { - "description": "The category of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#producttype.", - "items": { - "type": "string" - }, - "type": "array" - }, - "format": { - "description": "The format of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#format.", - "type": "string" - }, - "additionalImageLink": { - "description": "The additional images of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#addlimage.", - "items": { - "$ref": "Image" - }, - "type": "array" - }, - "videoLink": { - "description": "The videos of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#video.", - "items": { - "type": "string" - }, - "type": "array" - }, - "color": { - "description": "The color of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#color.", - "type": "string" - }, "productName": { "description": "The canonical name of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#productname.", "type": "string" @@ -155,6 +444,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" @@ -171,20 +465,20 @@ "description": "The brand name of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#brand.", "type": "string" }, - "material": { - "description": "The material of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#material.", - "type": "string" - }, "disclosureDate": { "description": "The disclosure date of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#disclosure.", "type": "string" }, + "material": { + "description": "The material of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#material.", + "type": "string" + }, "scent": { "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,18 +488,18 @@ }, "type": "array" }, - "ageGroup": { - "description": "The target age group of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#agegroup.", - "type": "string" - }, - "productPageUrl": { - "description": "The URL of the detail page of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#productpage.", + "flavor": { + "description": "The flavor of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#flavor.", "type": "string" }, "mpn": { "description": "The Manufacturer Part Number (MPN) of the product. For more information,\nsee https://support.google.com/manufacturers/answer/6124116#mpn.", "type": "string" }, + "productPageUrl": { + "description": "The URL of the detail page of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#productpage.", + "type": "string" + }, "releaseDate": { "description": "The release date of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#release.", "type": "string" @@ -236,6 +530,51 @@ "gender": { "description": "The target gender of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#gender.", "type": "string" + }, + "sizeSystem": { + "description": "The size system of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#sizesystem.", + "type": "string" + }, + "theme": { + "description": "The theme of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#theme.", + "type": "string" + }, + "pattern": { + "description": "The pattern of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#pattern.", + "type": "string" + }, + "imageLink": { + "description": "The image of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#image.", + "$ref": "Image" + }, + "productType": { + "description": "The category of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#producttype.", + "items": { + "type": "string" + }, + "type": "array" + }, + "format": { + "description": "The format of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#format.", + "type": "string" + }, + "additionalImageLink": { + "description": "The additional images of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#addlimage.", + "items": { + "$ref": "Image" + }, + "type": "array" + }, + "videoLink": { + "description": "The videos of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#video.", + "items": { + "type": "string" + }, + "type": "array" + }, + "color": { + "description": "The color of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#color.", + "type": "string" } }, "id": "Attributes" @@ -260,10 +599,6 @@ "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" @@ -305,6 +640,10 @@ "$ref": "Issue" }, "type": "array" + }, + "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" } }, "id": "Product" @@ -324,108 +663,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": { @@ -438,244 +682,5 @@ }, "rootUrl": "https://manufacturers.googleapis.com/", "ownerDomain": "google.com", - "name": "manufacturers", - "batchPath": "batch", - "title": "Manufacturer Center API", - "ownerName": "Google", - "resources": { - "accounts": { - "resources": { - "products": { - "methods": { - "delete": { - "description": "Deletes the product from a Manufacturer Center account.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "parent", - "name" - ], - "httpMethod": "DELETE", - "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" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/manufacturercenter" - ], - "flatPath": "v1/accounts/{accountsId}/products/{productsId}", - "id": "manufacturers.accounts.products.delete", - "path": "v1/{+parent}/products/{+name}" - }, - "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" - }, - "parameterOrder": [ - "parent", - "name" - ], - "httpMethod": "GET", - "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": { - "location": "path", - "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": "^[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/manufacturercenter" - ] - }, - "list": { - "description": "Lists all the products in a Manufacturer Center account.", - "response": { - "$ref": "ListProductsResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/manufacturercenter" - ], - "parameters": { - "pageSize": { - "location": "query", - "format": "int32", - "description": "Maximum number of product statuses to return in the response, used for\npaging.", - "type": "integer" - }, - "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" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "type": "string", - "location": "query" - } - }, - "flatPath": "v1/accounts/{accountsId}/products", - "id": "manufacturers.accounts.products.list", - "path": "v1/{+parent}/products" - }, - "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" - }, - "parameterOrder": [ - "parent", - "name" - ], - "httpMethod": "PUT", - "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" - } - }, - "flatPath": "v1/accounts/{accountsId}/products/{productsId}", - "id": "manufacturers.accounts.products.update", - "path": "v1/{+parent}/products/{+name}" - } - } - } - } - } - }, - "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" - }, - "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": { - "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": { - "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": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - } - } + "name": "manufacturers" } 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 1d4f869..50c8f5b 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/ml/v1/ml-api.json b/vendor/google.golang.org/api/ml/v1/ml-api.json index f388a5c..92a3f15 100644 --- a/vendor/google.golang.org/api/ml/v1/ml-api.json +++ b/vendor/google.golang.org/api/ml/v1/ml-api.json @@ -1,824 +1,53 @@ { - "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" + }, + "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__HyperparameterOutput": { + "id": "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": { + "description": "The hyperparameters given to this trial.", "type": "object", "additionalProperties": { "type": "string" - }, - "description": "The hyperparameters given to this trial." + } }, "trialId": { "description": "The trial id for these results.", "type": "string" + }, + "allMetrics": { + "description": "All recorded object metrics for this trial.", + "items": { + "$ref": "GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric" + }, + "type": "array" + }, + "finalMetric": { + "$ref": "GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric", + "description": "The final objective metric seen for this trial." } - }, - "id": "GoogleCloudMlV1__HyperparameterOutput" + } }, "GoogleCloudMlV1__PredictionOutput": { + "id": "GoogleCloudMlV1__PredictionOutput", "description": "Represents results of a prediction job.", "type": "object", "properties": { @@ -841,40 +70,12 @@ "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.", @@ -893,23 +94,20 @@ "$ref": "GoogleIamV1__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": "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": { + "id": "GoogleLongrunning__ListOperationsResponse", "description": "The response message for Operations.ListOperations.", "type": "object", "properties": { @@ -924,86 +122,7 @@ }, "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" + } }, "GoogleCloudMlV1__ManualScaling": { "description": "Options for manually scaling a model.", @@ -1046,6 +165,7 @@ "id": "GoogleCloudMlV1__TrainingOutput" }, "GoogleIamV1__Binding": { + "id": "GoogleIamV1__Binding", "description": "Associates `members` with a `role`.", "type": "object", "properties": { @@ -1061,153 +181,63 @@ "type": "array" }, "role": { - "type": "string", - "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired" - } - }, - "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.", + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", "type": "string" } - }, - "id": "GoogleIamV1_LogConfig_CounterOptions", - "description": "Options for counters" + } }, "GoogleCloudMlV1__PredictRequest": { + "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.", "type": "object", "properties": { "httpBody": { - "description": "\nRequired. The prediction request body.", - "$ref": "GoogleApi__HttpBody" + "$ref": "GoogleApi__HttpBody", + "description": "\nRequired. The prediction request body." } - }, - "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." + } }, "GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric": { "id": "GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric", "description": "An observed value of a metric.", "type": "object", "properties": { - "objectiveValue": { - "format": "double", - "description": "The objective value at this training step.", - "type": "number" - }, "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" } } }, - "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: 18", "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": { + "$ref": "GoogleCloudMlV1__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." }, "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).", @@ -1222,20 +252,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,24 +277,13 @@ "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": { + "id": "GoogleCloudMlV1__ParameterSpec", + "description": "Represents a single hyperparameter to optimize.", "type": "object", "properties": { "minValue": { @@ -1278,18 +299,7 @@ }, "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", - "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", "enumDescriptions": [ @@ -1297,8 +307,19 @@ "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" ] }, + "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", @@ -1328,38 +349,20 @@ "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" + } }, "GoogleCloudMlV1__PredictionInput": { + "id": "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": { + "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", @@ -1367,17 +370,16 @@ "TF_RECORD_GZIP" ], "description": "Required. The format of the input data files.", - "type": "string", - "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." - ] + "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" + }, + "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" }, "inputPaths": { "description": "Required. The Google Cloud Storage location of the input data files.\nMay contain wildcards.", @@ -1393,94 +395,31 @@ "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" } - }, - "id": "GoogleCloudMlV1__PredictionInput" + } }, "GoogleCloudMlV1__OperationMetadata": { - "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudMlV1__OperationMetadata", + "description": "Represents the metadata of the long-running operation.\n\nNext ID: 9", "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.", @@ -1492,10 +431,43 @@ }, "version": { "description": "Contains the version associated with the operation.", - "$ref": "GoogleCloudMlV1beta1__Version" + "$ref": "GoogleCloudMlV1__Version" + }, + "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.", + "An operation to update an existing model.", + "An operation to update an existing version." + ], + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "CREATE_VERSION", + "DELETE_VERSION", + "DELETE_MODEL", + "UPDATE_MODEL", + "UPDATE_VERSION" + ] + }, + "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" } - }, - "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.", @@ -1509,7 +481,6 @@ "type": "array" }, "logType": { - "type": "string", "enumDescriptions": [ "Default case. Should never be this.", "Admin reads. Example: CloudIAM getIamPolicy", @@ -1522,23 +493,17 @@ "DATA_WRITE", "DATA_READ" ], - "description": "The log type that this config enables." + "description": "The log type that this config enables.", + "type": "string" } }, "id": "GoogleIamV1__AuditLogConfig" }, "GoogleType__Expr": { + "id": "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": { - "type": "string", - "description": "An optional string indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file." - }, - "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" @@ -1546,11 +511,19 @@ "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": "GoogleType__Expr" + } }, "GoogleCloudMlV1__HyperparameterSpec": { + "id": "GoogleCloudMlV1__HyperparameterSpec", "description": "Represents a set of hyperparameters to optimize.", "type": "object", "properties": { @@ -1589,56 +562,43 @@ "description": "Required. The type of goal to use for tuning. Available types are\n`MAXIMIZE` and `MINIMIZE`.\n\nDefaults to `MAXIMIZE`.", "type": "string" } - }, - "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": { - "type": "object", - "properties": {}, "id": "GoogleCloudMlV1__SetDefaultVersionRequest", - "description": "Request message for the SetDefaultVersion request." + "description": "Request message for the SetDefaultVersion request.", + "type": "object", + "properties": {} }, "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." - }, - "response": { - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." - }, - "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": "GoogleRpc__Status" + "$ref": "GoogleRpc__Status", + "description": "The error result of the operation in case of failure or cancellation." }, "metadata": { "additionalProperties": { @@ -1647,40 +607,22 @@ }, "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" + }, + "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" + } } }, "id": "GoogleLongrunning__Operation" }, - "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.", - "type": "object", - "properties": { - "onlinePredictionLogging": { - "type": "boolean", - "description": "Optional. If true, enables StackDriver Logging for online prediction.\nDefault is false." - }, - "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" - }, - "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" - } - }, - "id": "GoogleCloudMlV1__Model" - }, "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.", @@ -1700,18 +642,49 @@ "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." + "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" } } }, + "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", + "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" + }, + "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" + }, + "onlinePredictionLogging": { + "description": "Optional. If true, enables StackDriver Logging for online prediction.\nDefault is false.", + "type": "boolean" + } + }, + "id": "GoogleCloudMlV1__Model" + }, "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" + "type": "object", + "properties": {}, + "id": "GoogleProtobuf__Empty" }, "GoogleCloudMlV1__ListVersionsResponse": { + "id": "GoogleCloudMlV1__ListVersionsResponse", "description": "Response message for the ListVersions method.", "type": "object", "properties": { @@ -1726,8 +699,7 @@ "description": "Optional. Pass this token as the `page_token` field of the request for a\nsubsequent call.", "type": "string" } - }, - "id": "GoogleCloudMlV1__ListVersionsResponse" + } }, "GoogleCloudMlV1__CancelJobRequest": { "description": "Request message for the CancelJob method.", @@ -1736,6 +708,7 @@ "id": "GoogleCloudMlV1__CancelJobRequest" }, "GoogleIamV1__TestIamPermissionsRequest": { + "id": "GoogleIamV1__TestIamPermissionsRequest", "description": "Request message for `TestIamPermissions` method.", "type": "object", "properties": { @@ -1746,54 +719,13 @@ }, "type": "array" } - }, - "id": "GoogleIamV1__TestIamPermissionsRequest" - }, - "GoogleCloudMlV1beta1__ManualScaling": { - "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.", - "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" + } }, "GoogleRpc__Status": { + "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", "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": { - "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.", @@ -1802,25 +734,46 @@ "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" + } + } + }, + "GoogleCloudMlV1__AutoScaling": { + "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": "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": "GoogleCloudMlV1__AutoScaling" }, "GoogleCloudMlV1__ListModelsResponse": { "description": "Response message for the ListModels method.", "type": "object", "properties": { - "nextPageToken": { - "description": "Optional. Pass this token as the `page_token` field of the request for a\nsubsequent call.", - "type": "string" - }, "models": { "description": "The list of models.", "items": { "$ref": "GoogleCloudMlV1__Model" }, "type": "array" + }, + "nextPageToken": { + "description": "Optional. Pass this token as the `page_token` field of the request for a\nsubsequent call.", + "type": "string" } }, "id": "GoogleCloudMlV1__ListModelsResponse" @@ -1829,6 +782,18 @@ "description": "Represents input parameters for a training job.", "type": "object", "properties": { + "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`.", @@ -1843,8 +808,8 @@ "type": "string" }, "pythonModule": { - "type": "string", - "description": "Required. The Python module name to run after installing the packages." + "description": "Required. The Python module name to run after installing the packages.", + "type": "string" }, "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.", @@ -1858,19 +823,21 @@ "type": "array" }, "region": { - "type": "string", - "description": "Required. The Google Compute Engine region to run the training job in." + "description": "Required. The Google Compute Engine region to run the training job in.", + "type": "string" }, "parameterServerType": { - "type": "string", - "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." + "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": { + "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).", + "A single worker instance [with a\nGPU](/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." ], "enum": [ @@ -1879,73 +846,23 @@ "PREMIUM_1", "BASIC_GPU", "CUSTOM" - ], - "description": "Required. Specifies the machine types, the number of replicas for workers\nand parameter servers.", - "type": "string" + ] }, "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": { - "description": "Optional. The set of Hyperparameters to tune.", - "$ref": "GoogleCloudMlV1__HyperparameterSpec" - }, - "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" + "$ref": "GoogleCloudMlV1__HyperparameterSpec", + "description": "Optional. The set of Hyperparameters to tune." } }, "id": "GoogleCloudMlV1__TrainingInput" }, "GoogleCloudMlV1__Job": { - "description": "Represents a training or prediction job.", + "description": "Represents a training or prediction job.\n\nNext ID: 16", "type": "object", "properties": { - "state": { - "enum": [ - "STATE_UNSPECIFIED", - "QUEUED", - "PREPARING", - "RUNNING", - "SUCCEEDED", - "FAILED", - "CANCELLING", - "CANCELLED" - ], - "description": "Output only. The detailed state of a job.", - "type": "string", - "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." - ] - }, - "predictionInput": { - "description": "Input parameters to create a prediction job.", - "$ref": "GoogleCloudMlV1__PredictionInput" - }, - "jobId": { - "description": "Required. The user-specified id of the job.", - "type": "string" - }, - "errorMessage": { - "description": "Output only. The details of a failure or a cancellation.", - "type": "string" - }, "endTime": { "format": "google-datetime", "description": "Output only. When the job processing was completed.", @@ -1957,8 +874,8 @@ "type": "string" }, "predictionOutput": { - "description": "The current prediction job result.", - "$ref": "GoogleCloudMlV1__PredictionOutput" + "$ref": "GoogleCloudMlV1__PredictionOutput", + "description": "The current prediction job result." }, "trainingOutput": { "$ref": "GoogleCloudMlV1__TrainingOutput", @@ -1972,19 +889,51 @@ "format": "google-datetime", "description": "Output only. When the job was created.", "type": "string" + }, + "predictionInput": { + "description": "Input parameters to create a prediction job.", + "$ref": "GoogleCloudMlV1__PredictionInput" + }, + "state": { + "description": "Output only. The detailed state of a job.", + "type": "string", + "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" + ] + }, + "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" } }, "id": "GoogleCloudMlV1__Job" }, "GoogleApi__HttpBody": { + "id": "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" @@ -1992,16 +941,20 @@ "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": "object" + } }, "type": "array" + }, + "data": { + "format": "byte", + "description": "HTTP body binary data.", + "type": "string" } - }, - "id": "GoogleApi__HttpBody" + } }, "GoogleCloudMlV1__GetConfigResponse": { "description": "Returns service account information associated with a project.", @@ -2019,77 +972,26 @@ }, "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" - }, - "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." - }, - "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" - }, - "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.", - "type": "string" + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" } }, - "id": "GoogleCloudMlV1beta1__Version" + "id": "GoogleIamV1__TestIamPermissionsResponse" } }, - "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 +1001,844 @@ } } } - } + }, + "rootUrl": "https://ml.googleapis.com/", + "ownerDomain": "google.com", + "name": "ml", + "batchPath": "batch", + "title": "Google Cloud Machine Learning Engine", + "ownerName": "Google", + "resources": { + "projects": { + "methods": { + "predict": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleApi__HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "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/.+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}:predict", + "path": "v1/{+name}:predict", + "id": "ml.projects.predict", + "request": { + "$ref": "GoogleCloudMlV1__PredictRequest" + }, + "description": "Performs prediction on the data in the request.\n\n**** REMOVE FROM GENERATED DOCUMENTATION" + }, + "getConfig": { + "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.", + "response": { + "$ref": "GoogleCloudMlV1__GetConfigResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET" + } + }, + "resources": { + "jobs": { + "methods": { + "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." + }, + "get": { + "response": { + "$ref": "GoogleCloudMlV1__Job" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "Required. The name of the job to get the description of.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/jobs/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}", + "id": "ml.projects.jobs.get", + "path": "v1/{+name}", + "description": "Describes a job." + }, + "testIamPermissions": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/jobs/[^/]+$", + "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}/jobs/{jobsId}:testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "id": "ml.projects.jobs.testIamPermissions", + "request": { + "$ref": "GoogleIamV1__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": "GoogleIamV1__TestIamPermissionsResponse" + } + }, + "list": { + "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": { + "description": "Required. The name of the project for which to list jobs.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + }, + "filter": { + "description": "Optional. Specifies the subset of jobs to retrieve.", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1/projects/{projectsId}/jobs", + "path": "v1/{+parent}/jobs", + "id": "ml.projects.jobs.list", + "description": "Lists the jobs in the project.", + "httpMethod": "GET", + "response": { + "$ref": "GoogleCloudMlV1__ListJobsResponse" + }, + "parameterOrder": [ + "parent" + ] + }, + "create": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "parent": { + "description": "Required. The project name.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/jobs", + "path": "v1/{+parent}/jobs", + "id": "ml.projects.jobs.create", + "request": { + "$ref": "GoogleCloudMlV1__Job" + }, + "description": "Creates a training or a batch prediction job.", + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "GoogleCloudMlV1__Job" + } + }, + "setIamPolicy": { + "path": "v1/{+resource}:setIamPolicy", + "id": "ml.projects.jobs.setIamPolicy", + "request": { + "$ref": "GoogleIamV1__SetIamPolicyRequest" + }, + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "GoogleIamV1__Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "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 + } + }, + "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:setIamPolicy" + }, + "cancel": { + "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", + "id": "ml.projects.jobs.cancel", + "path": "v1/{+name}:cancel", + "description": "Cancels a running job.", + "request": { + "$ref": "GoogleCloudMlV1__CancelJobRequest" + }, + "response": { + "$ref": "GoogleProtobuf__Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST" + } + } + }, + "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.", + "response": { + "$ref": "GoogleIamV1__Policy" + }, + "httpMethod": "GET", + "parameterOrder": [ + "resource" + ], + "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 + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/models/{modelsId}:getIamPolicy", + "id": "ml.projects.models.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy" + }, + "get": { + "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}", + "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).", + "response": { + "$ref": "GoogleCloudMlV1__Model" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "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" + }, + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "GoogleIamV1__TestIamPermissionsResponse" + }, + "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" + ], + "flatPath": "v1/projects/{projectsId}/models/{modelsId}:testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "id": "ml.projects.models.testIamPermissions" + }, + "delete": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/models/[^/]+$", + "location": "path", + "description": "Required. The name of the model.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/models/{modelsId}", + "id": "ml.projects.models.delete", + "path": "v1/{+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/v1/projects.models.versions/delete).", + "response": { + "$ref": "GoogleLongrunning__Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE" + }, + "list": { + "description": "Lists the models in a project.\n\nEach project can contain multiple models, and each model can have multiple\nversions.", + "httpMethod": "GET", + "response": { + "$ref": "GoogleCloudMlV1__ListModelsResponse" + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "Required. The name of the project whose models are to be listed.", + "type": "string", + "required": true + }, + "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 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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/models", + "path": "v1/{+parent}/models", + "id": "ml.projects.models.list" + }, + "setIamPolicy": { + "path": "v1/{+resource}:setIamPolicy", + "id": "ml.projects.models.setIamPolicy", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "request": { + "$ref": "GoogleIamV1__SetIamPolicyRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "GoogleIamV1__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/[^/]+/models/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/models/{modelsId}:setIamPolicy" + }, + "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", + "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)." + } + }, + "resources": { + "versions": { + "methods": { + "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": "v1/projects/{projectsId}/models/{modelsId}/versions", + "id": "ml.projects.models.versions.create", + "path": "v1/{+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/v1/projects.models.versions/setDefault).", + "request": { + "$ref": "GoogleCloudMlV1__Version" + } + }, + "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": "GoogleCloudMlV1__SetDefaultVersionRequest" + }, + "response": { + "$ref": "GoogleCloudMlV1__Version" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "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).", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}:setDefault", + "id": "ml.projects.models.versions.setDefault", + "path": "v1/{+name}:setDefault" + }, + "delete": { + "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.", + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunning__Operation" + } + }, + "get": { + "id": "ml.projects.models.versions.get", + "path": "v1/{+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/v1/projects.models.versions/list)\nto get the same information that this method returns for all of the\nversions of a model.", + "response": { + "$ref": "GoogleCloudMlV1__Version" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the version.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}" + }, + "list": { + "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):", + "response": { + "$ref": "GoogleCloudMlV1__ListVersionsResponse" + }, + "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": { + "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", + "location": "query" + }, + "parent": { + "description": "Required. The name of the model for which to list the version.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/models/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions" + } + } + } + } + }, + "operations": { + "methods": { + "delete": { + "parameters": { + "name": { + "pattern": "^projects/[^/]+/operations/[^/]+$", + "location": "path", + "description": "The name of the operation resource to be deleted.", + "type": "string", + "required": true + } + }, + "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`.", + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobuf__Empty" + } + }, + "get": { + "response": { + "$ref": "GoogleLongrunning__Operation" + }, + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "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.", + "httpMethod": "GET", + "response": { + "$ref": "GoogleLongrunning__ListOperationsResponse" + }, + "parameterOrder": [ + "name" + ], + "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": { + "description": "The name of the operation's parent resource.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + } + }, + "flatPath": "v1/projects/{projectsId}/operations", + "path": "v1/{+name}/operations", + "id": "ml.projects.operations.list" + }, + "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`.", + "httpMethod": "POST", + "response": { + "$ref": "GoogleProtobuf__Empty" + }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/operations/[^/]+$", + "location": "path", + "description": "The name of the operation resource to be cancelled.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel", + "path": "v1/{+name}:cancel", + "id": "ml.projects.operations.cancel" + } + } + } + } + } + }, + "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": { + "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": { + "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": { + "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": { + "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://ml.googleapis.com/", + "kind": "discovery#restDescription", + "description": "An API to enable creating and using machine learning models.", + "servicePath": "", + "basePath": "", + "id": "ml:v1", + "revision": "20170825", + "documentationLink": "https://cloud.google.com/ml/", + "discoveryVersion": "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 2fa57b0..d9c173c 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) } @@ -484,6 +484,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 +714,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 +787,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 +811,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 +1200,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 +1274,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 +1282,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,7 +1488,8 @@ 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). // "CUSTOM" - The CUSTOM tier is not a set tier, but rather enables // you to use your @@ -1622,13 +1640,15 @@ 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: 18 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 +1660,7 @@ type GoogleCloudMlV1__Version struct { // model // deployment](/ml-engine/docs/concepts/deployment-overview) for // more - // informaiton. + // information. // // When passing Version // to @@ -1678,7 +1698,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 +1725,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 +1744,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 +1759,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 +1992,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 +2059,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 +2089,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 +2245,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 +2416,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 +3197,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 +3546,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 +5626,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 a0ee121..3ed1064 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 4fead61..aac3ad9 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 c5bfe90..85d3af5 100644 --- a/vendor/google.golang.org/api/monitoring/v3/monitoring-api.json +++ b/vendor/google.golang.org/api/monitoring/v3/monitoring-api.json @@ -1,16 +1,383 @@ { + "revision": "20170822", "documentationLink": "https://cloud.google.com/monitoring/api/", - "revision": "20170701", "id": "monitoring:v3", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "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." + }, + "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": { + "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": { + "format": "int32", + "description": "Must be greater than 0.", + "type": "integer" + } + }, + "id": "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))." + }, + "Point": { + "id": "Point", + "description": "A single data point in a time series.", + "type": "object", + "properties": { + "value": { + "$ref": "TypedValue", + "description": "The value of the data point." + }, + "interval": { + "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.", + "$ref": "TimeInterval" + } + } + }, + "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": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The set of label values that uniquely identify this metric. All labels listed in the MetricDescriptor must be assigned values." + } + }, + "id": "Metric" + }, + "Field": { + "description": "A single field of a message type.", + "type": "object", + "properties": { + "number": { + "format": "int32", + "description": "The field number.", + "type": "integer" + }, + "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." + }, + "jsonName": { + "description": "The field JSON name.", + "type": "string" + }, + "options": { + "items": { + "$ref": "Option" + }, + "type": "array", + "description": "The protocol buffer options." + }, + "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" + }, + "packed": { + "type": "boolean", + "description": "Whether to use alternative packed wire representation." + }, + "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" + }, + "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" + } + }, + "id": "Field" + }, + "LabelDescriptor": { + "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", + "description": "A description of a label.", + "type": "object" + }, + "ListTimeSeriesResponse": { + "properties": { + "timeSeries": { + "description": "One or more time series that match the filter included in the request.", + "items": { + "$ref": "TimeSeries" + }, + "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": "ListTimeSeriesResponse", + "description": "The ListTimeSeries response.", + "type": "object" + }, + "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": { + "type": "string", + "description": "The filter used to determine which monitored resources belong to this group." + } + }, + "id": "Group" + }, + "Type": { + "description": "A protocol buffer message type.", + "type": "object", + "properties": { + "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": { + "enumDescriptions": [ + "Syntax proto2.", + "Syntax proto3." + ], + "enum": [ + "SYNTAX_PROTO2", + "SYNTAX_PROTO3" + ], + "description": "The source syntax.", + "type": "string" + }, + "options": { + "items": { + "$ref": "Option" + }, + "type": "array", + "description": "The protocol buffer options." + }, + "fields": { + "description": "The list of fields.", + "items": { + "$ref": "Field" + }, + "type": "array" + } + }, + "id": "Type" + }, + "BucketOptions": { + "id": "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": { + "exponentialBuckets": { + "description": "The exponential buckets.", + "$ref": "Exponential" + }, + "explicitBuckets": { + "$ref": "Explicit", + "description": "The explicit buckets." + }, + "linearBuckets": { + "description": "The linear bucket.", + "$ref": "Linear" + } + } + }, + "CollectdValue": { + "description": "A single data point from a collectd-based plugin.", + "type": "object", + "properties": { + "value": { + "$ref": "TypedValue", + "description": "The measurement value." + }, + "dataSourceType": { + "enum": [ + "UNSPECIFIED_DATA_SOURCE_TYPE", + "GAUGE", + "COUNTER", + "DERIVE", + "ABSOLUTE" + ], + "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.", + "A cumulative value over time. This corresponds to google.api.MetricDescriptor.MetricKind.CUMULATIVE.", + "A rate of change of the measurement.", + "An amount of change since the last measurement interval. This corresponds to google.api.MetricDescriptor.MetricKind.DELTA." + ] + }, + "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" + }, "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\"." + "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", @@ -28,14 +395,23 @@ "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": "string", + "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": { - "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" + "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", @@ -46,16 +422,7 @@ "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." - ] + "type": "string" }, "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.", @@ -89,64 +456,65 @@ "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" + }, + "max": { + "format": "double", + "description": "The maximum of the population values.", + "type": "number" } }, - "id": "Range" + "id": "Range", + "description": "The range of the population values." }, "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" - }, - "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": { + "description": "A set of monitored resources in the group.", "items": { "$ref": "MonitoredResource" }, - "type": "array", - "description": "A set of monitored resources in the group." + "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": { + "type": "integer", "format": "int32", - "description": "The total number of elements matching this request.", - "type": "integer" + "description": "The total number of elements matching this request." } - } + }, + "id": "ListGroupMembersResponse", + "description": "The ListGroupMembers response." }, "CreateCollectdTimeSeriesRequest": { + "id": "CreateCollectdTimeSeriesRequest", "description": "The CreateCollectdTimeSeries request.", "type": "object", "properties": { @@ -158,80 +526,38 @@ "type": "array" }, "resource": { - "$ref": "MonitoredResource", - "description": "The monitored resource associated with the time series." + "description": "The monitored resource associated with the time series.", + "$ref": "MonitoredResource" }, "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", - "description": "The monitored resource descriptors that are available to this project and that match filter, if present." + "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." + "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" } }, - "id": "ListMonitoredResourceDescriptorsResponse", - "description": "The ListMonitoredResourceDescriptors response.", - "type": "object" + "id": "ListMonitoredResourceDescriptorsResponse" }, "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", @@ -242,20 +568,61 @@ "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" + "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." + ] + }, + "resource": { + "description": "The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data.", + "$ref": "MonitoredResource" + }, + "metricKind": { + "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", + "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." + ] + }, + "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": { + "$ref": "Metric", + "description": "The associated metric. A fully-specified metric used to identify the time series." } - } + }, + "id": "TimeSeries" }, "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", - "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." + "type": "array" } }, "id": "CreateTimeSeriesRequest" @@ -264,20 +631,6 @@ "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": { @@ -294,6 +647,20 @@ "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": { + "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.", + "$ref": "Range" + }, + "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": { + "format": "double", + "description": "The arithmetic mean of the values in the population. If count is zero then this field must be zero.", + "type": "number" } }, "id": "Distribution" @@ -305,11 +672,11 @@ "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\"." + "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", @@ -317,7 +684,6 @@ "type": "object" }, "ListMetricDescriptorsResponse": { - "id": "ListMetricDescriptorsResponse", "description": "The ListMetricDescriptors response.", "type": "object", "properties": { @@ -332,18 +698,24 @@ }, "type": "array" } - } + }, + "id": "ListMetricDescriptorsResponse" }, "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": { - "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": "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.", @@ -355,19 +727,19 @@ "$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." + "id": "MonitoredResourceDescriptor" }, "TypedValue": { "description": "A single strongly-typed value.", "type": "object", "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.", @@ -382,28 +754,14 @@ "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" + "description": "A Boolean value: true or false.", + "type": "boolean" } }, "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\"." @@ -413,11 +771,11 @@ "type": "string" }, "metadata": { - "description": "The measurement metadata. Example: \"process_id\" -\u003e 12345", - "type": "object", "additionalProperties": { "$ref": "TypedValue" - } + }, + "description": "The measurement metadata. Example: \"process_id\" -\u003e 12345", + "type": "object" }, "plugin": { "description": "The name of the plugin. Example: \"disk\".", @@ -436,14 +794,28 @@ "format": "google-datetime", "description": "The start time of the interval.", "type": "string" + }, + "values": { + "description": "The measured values during this time interval. Each value must have a different dataSourceName.", + "items": { + "$ref": "CollectdValue" + }, + "type": "array" } }, - "id": "CollectdPayload" + "id": "CollectdPayload", + "description": "A collection of data points sent from a collectd-based plugin. See the collectd documentation for more information.", + "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.", @@ -453,11 +825,6 @@ "format": "double", "description": "Must be greater than 0.", "type": "number" - }, - "offset": { - "type": "number", - "format": "double", - "description": "Lower bound of the first bucket." } }, "id": "Linear" @@ -486,387 +853,17 @@ "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" - } - } - }, - "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" - }, - "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": { - "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" - }, - "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" - }, - "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": { - "description": "The linear bucket.", - "$ref": "Linear" - }, - "exponentialBuckets": { - "description": "The exponential buckets.", - "$ref": "Exponential" - } - }, - "id": "BucketOptions" - }, - "CollectdValue": { - "id": "CollectdValue", - "description": "A single data point from a collectd-based plugin.", - "type": "object", - "properties": { - "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.", - "A cumulative value over time. This corresponds to google.api.MetricDescriptor.MetricKind.CUMULATIVE.", - "A rate of change of the measurement.", - "An amount of change since the last measurement interval. This corresponds to google.api.MetricDescriptor.MetricKind.DELTA." - ], - "enum": [ - "UNSPECIFIED_DATA_SOURCE_TYPE", - "GAUGE", - "COUNTER", - "DERIVE", - "ABSOLUTE" - ] - }, - "dataSourceName": { - "description": "The data source for the collectd value. For example there are two data sources for network measurements: \"rx\" and \"tx\".", - "type": "string" - }, - "value": { - "description": "The measurement value.", - "$ref": "TypedValue" - } - } } }, + "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": "Monitoring", "auth": { "oauth2": { "scopes": { - "https://www.googleapis.com/auth/monitoring": { - "description": "View and write monitoring data for all of your Google and third-party Cloud and API projects" - }, "https://www.googleapis.com/auth/monitoring.write": { "description": "Publish metric data to your Google Cloud projects" }, @@ -875,6 +872,9 @@ }, "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/monitoring": { + "description": "View and write monitoring data for all of your Google and third-party Cloud and API projects" } } } @@ -883,458 +883,12 @@ "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": { @@ -1345,104 +899,73 @@ "response": { "$ref": "Empty" }, + "parameters": { + "name": { + "description": "The project in which to create the time series. 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.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", + "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", "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": { + "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.", + "request": { + "$ref": "CreateTimeSeriesRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "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.write" + ], + "flatPath": "v3/projects/{projectsId}/timeSeries", + "path": "v3/{+name}/timeSeries", + "id": "monitoring.projects.timeSeries.create" + }, "list": { - "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.", - "type": "string", - "location": "query" - }, - "aggregation.alignmentPeriod": { - "location": "query", - "format": "google-duration", - "description": "The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.", - "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" - }, - "orderBy": { - "location": "query", - "description": "Specifies the order in which the points of the time series should be returned. By default, results are not ordered. Currently, this field must be left blank.", - "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", - "REDUCE_MEAN", - "REDUCE_MIN", - "REDUCE_MAX", - "REDUCE_SUM", - "REDUCE_STDDEV", - "REDUCE_COUNT", - "REDUCE_COUNT_TRUE", - "REDUCE_FRACTION_TRUE", - "REDUCE_PERCENTILE_99", - "REDUCE_PERCENTILE_95", - "REDUCE_PERCENTILE_50", - "REDUCE_PERCENTILE_05" - ] - }, - "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" - }, "aggregation.perSeriesAligner": { + "type": "string", "location": "query", "enum": [ "ALIGN_NONE", @@ -1463,28 +986,88 @@ "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05" ], - "description": "The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the 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" + "description": "The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the 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." }, "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" }, - "view": { - "description": "Specifies which information is returned about the time series.", + "interval.startTime": { "type": "string", "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." + }, + "view": { "enum": [ "FULL", "HEADERS" - ] + ], + "description": "Specifies which information is returned about the time series.", + "type": "string", + "location": "query" + }, + "aggregation.groupByFields": { + "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, + "location": "query" + }, + "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" + }, + "interval.endTime": { + "format": "google-datetime", + "description": "Required. The end of the time interval.", + "type": "string", + "location": "query" + }, + "aggregation.alignmentPeriod": { + "location": "query", + "format": "google-duration", + "description": "The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.", + "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" + }, + "orderBy": { + "description": "Specifies the order in which the points of the time series should be returned. By default, results are not ordered. Currently, this field must be left blank.", + "type": "string", + "location": "query" + }, + "aggregation.crossSeriesReducer": { + "enum": [ + "REDUCE_NONE", + "REDUCE_MEAN", + "REDUCE_MIN", + "REDUCE_MAX", + "REDUCE_SUM", + "REDUCE_STDDEV", + "REDUCE_COUNT", + "REDUCE_COUNT_TRUE", + "REDUCE_FRACTION_TRUE", + "REDUCE_PERCENTILE_99", + "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", + "location": "query" + }, + "filter": { + "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", + "type": "string" } }, "scopes": [ @@ -1493,18 +1076,17 @@ "https://www.googleapis.com/auth/monitoring.read" ], "flatPath": "v3/projects/{projectsId}/timeSeries", + "id": "monitoring.projects.timeSeries.list", "path": "v3/{+name}/timeSeries", - "id": "monitoring.projects.timeSeries.list" - }, + "description": "Lists time series that match a filter. This method does not require a Stackdriver account." + } + } + }, + "metricDescriptors": { + "methods": { "create": { - "id": "monitoring.projects.timeSeries.create", - "path": "v3/{+name}/timeSeries", - "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" + "$ref": "MetricDescriptor" }, "parameterOrder": [ "name" @@ -1516,15 +1098,434 @@ "https://www.googleapis.com/auth/monitoring.write" ], "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/[^/]+$" + } + }, + "flatPath": "v3/projects/{projectsId}/metricDescriptors", + "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." + }, + "delete": { + "description": "Deletes a metric descriptor. Only user-created custom metrics can be deleted.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "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, + "pattern": "^projects/[^/]+/metricDescriptors/.+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring" + ], + "flatPath": "v3/projects/{projectsId}/metricDescriptors/{metricDescriptorsId}", + "id": "monitoring.projects.metricDescriptors.delete", + "path": "v3/{+name}" + }, + "get": { + "description": "Gets a single metric descriptor. This method does not require a Stackdriver account.", + "response": { + "$ref": "MetricDescriptor" + }, + "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", + "https://www.googleapis.com/auth/monitoring.write" + ], + "parameters": { + "name": { + "type": "string", + "required": true, + "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\"." + } + }, + "flatPath": "v3/projects/{projectsId}/metricDescriptors/{metricDescriptorsId}", + "id": "monitoring.projects.metricDescriptors.get", + "path": "v3/{+name}" + }, + "list": { + "response": { + "$ref": "ListMetricDescriptorsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "filter": { + "location": "query", + "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" + }, + "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": { "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": { + "format": "int32", + "description": "A positive number that is the maximum number of results to return.", + "type": "integer", + "location": "query" } }, - "flatPath": "v3/projects/{projectsId}/timeSeries" + "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." + } + } + }, + "monitoredResourceDescriptors": { + "methods": { + "get": { + "description": "Gets a single monitored resource descriptor. This method does not require a Stackdriver account.", + "response": { + "$ref": "MonitoredResourceDescriptor" + }, + "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", + "https://www.googleapis.com/auth/monitoring.write" + ], + "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/[^/]+$" + } + }, + "flatPath": "v3/projects/{projectsId}/monitoredResourceDescriptors/{monitoredResourceDescriptorsId}", + "id": "monitoring.projects.monitoredResourceDescriptors.get", + "path": "v3/{+name}" + }, + "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": { + "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": { + "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": { + "resources": { + "members": { + "methods": { + "list": { + "path": "v3/{+name}/members", + "id": "monitoring.projects.groups.members.list", + "description": "Lists the monitored resources that are members of a group.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ListGroupMembersResponse" + }, + "parameters": { + "interval.endTime": { + "format": "google-datetime", + "description": "Required. The end of the time interval.", + "type": "string", + "location": "query" + }, + "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" + }, + "pageSize": { + "format": "int32", + "description": "A positive number that is the maximum number of results to return.", + "type": "integer", + "location": "query" + }, + "interval.startTime": { + "type": "string", + "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." + }, + "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" + } + }, + "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}/members" + } + } + } + }, + "methods": { + "delete": { + "description": "Deletes an existing group.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "location": "path", + "description": "The group to delete. The format is \"projects/{project_id_or_number}/groups/{group_id}\".", + "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.delete", + "path": "v3/{+name}" + }, + "get": { + "description": "Gets a single group.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Group" + }, + "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": { + "path": "v3/{+name}/groups", + "id": "monitoring.projects.groups.list", + "description": "Lists the existing groups.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ListGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read" + ], + "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" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "A positive number that is the maximum number of results to return.", + "type": "integer" + }, + "ancestorsOfGroup": { + "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", + "location": "query" + }, + "name": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The project whose groups are to be listed. The format is \"projects/{project_id_or_number}\".", + "type": "string", + "required": true + }, + "childrenOfGroup": { + "type": "string", + "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." + }, + "descendantsOfGroup": { + "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.", + "type": "string" + } + }, + "flatPath": "v3/projects/{projectsId}/groups" + }, + "update": { + "response": { + "$ref": "Group" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "parameters": { + "validateOnly": { + "description": "If true, validate this request but do not update the existing group.", + "type": "boolean", + "location": "query" + }, + "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}", + "description": "Updates an existing group. You can change any group attributes except name.", + "request": { + "$ref": "Group" + } + }, + "create": { + "flatPath": "v3/projects/{projectsId}/groups", + "id": "monitoring.projects.groups.create", + "path": "v3/{+name}/groups", + "description": "Creates a new group.", + "request": { + "$ref": "Group" + }, + "response": { + "$ref": "Group" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "validateOnly": { + "description": "If true, validate this request but do not create the group.", + "type": "boolean", + "location": "query" + }, + "name": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The project in which to create the group. 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" + ] } } } @@ -1532,15 +1533,31 @@ } }, "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.", + "alt": { "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" + ], + "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", - "location": "query" + "type": "string" }, "quotaUser": { "location": "query", @@ -1548,35 +1565,30 @@ "type": "string" }, "pp": { - "location": "query", "description": "Pretty-print response.", "default": "true", - "type": "boolean" - }, - "bearer_token": { - "type": "string", - "location": "query", - "description": "OAuth bearer token." + "type": "boolean", + "location": "query" }, "oauth_token": { - "description": "OAuth 2.0 token for the current user.", + "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": { - "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" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", + "type": "boolean", "location": "query" }, "fields": { @@ -1584,6 +1596,16 @@ "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": { "type": "string", "enumDescriptions": [ @@ -1596,27 +1618,6 @@ "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", diff --git a/vendor/google.golang.org/api/option/option.go b/vendor/google.golang.org/api/option/option.go index 4b14a2e..e3080e3 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 49a1b26..68a6d34 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 ad952ca..7d5a895 100644 --- a/vendor/google.golang.org/api/oslogin/v1alpha/oslogin-api.json +++ b/vendor/google.golang.org/api/oslogin/v1alpha/oslogin-api.json @@ -1,281 +1,85 @@ { - "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", - "description": "Deletes an SSH public key.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "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" - } - }, - "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}" - }, - "patch": { - "response": { - "$ref": "SshPublicKey" - }, - "parameterOrder": [ - "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", - "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", - "location": "path" - }, - "updateMask": { - "description": "Mask to control which fields get updated. Updates all if not present.", - "format": "google-fieldmask", - "type": "string", - "location": "query" - } - }, - "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", - "path": "v1alpha/{+name}", - "id": "oslogin.users.sshPublicKeys.patch", - "description": "Updates an SSH public key and returns the profile information. This method\nsupports patch semantics.", - "request": { - "$ref": "SshPublicKey" - } - } - } - } - }, - "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" - ], - "response": { - "$ref": "ImportSshPublicKeyResponse" - }, - "parameters": { - "parent": { - "description": "The unique ID for the user in format `users/{user}`.", - "required": true, - "type": "string", - "pattern": "^users/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1alpha/users/{usersId}:importSshPublicKey", - "id": "oslogin.users.importSshPublicKey", - "path": "v1alpha/{+parent}:importSshPublicKey" - }, - "getLoginProfile": { - "path": "v1alpha/{+name}/loginProfile", - "id": "oslogin.users.getLoginProfile", - "description": "Retrieves the profile information used for logging in to a virtual machine\non Google Compute Engine.", - "response": { - "$ref": "LoginProfile" - }, - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The unique ID for the user in format `users/{user}`.", - "required": true, - "type": "string", - "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" - }, - "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": { - "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" - }, - "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": "v1alpha", - "baseUrl": "https://oslogin.googleapis.com/", - "description": "A Google Cloud API for managing OS login configuration for Directory API users.", - "kind": "discovery#restDescription", - "servicePath": "", "basePath": "", - "revision": "20170619", - "documentationLink": "https://developers.google.com/apis-explorer/#p/oslogin/v1alpha/", + "revision": "20170811", + "documentationLink": "https://cloud.google.com/compute/docs/oslogin/rest/", "id": "oslogin:v1alpha", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "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." + } + }, + "id": "ImportSshPublicKeyResponse" + }, + "PosixAccount": { + "description": "The POSIX account information associated with a Directory API User.", + "type": "object", + "properties": { + "homeDirectory": { + "description": "The path to the home directory for this account.", + "type": "string" + }, + "systemId": { + "type": "string", + "description": "System identifier for which account the username or uid applies to.\nBy default, the empty value is used." + }, + "gecos": { + "description": "The GECOS (user information) entry for this account.", + "type": "string" + }, + "primary": { + "description": "Only one POSIX account can be marked as primary.", + "type": "boolean" + }, + "gid": { + "format": "uint32", + "description": "The default group ID.", + "type": "integer" + }, + "uid": { + "format": "uint32", + "description": "The user ID.", + "type": "integer" + }, + "username": { + "description": "The username of the POSIX account.", + "type": "string" + }, + "shell": { + "type": "string", + "description": "The path to the logic shell for this account." + } + }, + "id": "PosixAccount" + }, "LoginProfile": { "description": "The Directory API profile information used for logging in to a virtual\nmachine on Google Compute Engine.", "type": "object", "properties": { "sshPublicKeys": { + "type": "object", "additionalProperties": { "$ref": "SshPublicKey" }, - "description": "A map from SSH public key fingerprint to the associated key object.", - "type": "object" + "description": "A map from SSH public key fingerprint to the associated key 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" }, - "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" @@ -283,19 +87,13 @@ }, "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": { @@ -309,62 +107,16 @@ }, "id": "SshPublicKey" }, - "ImportSshPublicKeyResponse": { - "properties": { - "loginProfile": { - "$ref": "LoginProfile", - "description": "The login profile information for the user." - } - }, - "id": "ImportSshPublicKeyResponse", - "description": "A response message for importing an SSH public key.", - "type": "object" - }, - "PosixAccount": { - "properties": { - "primary": { - "description": "Only one POSIX account can be marked as primary.", - "type": "boolean" - }, - "gid": { - "description": "The default group ID.", - "format": "int32", - "type": "integer" - }, - "uid": { - "description": "The user ID.", - "format": "int32", - "type": "integer" - }, - "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" - }, - "gecos": { - "description": "The GECOS (user information) entry 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" - } - }, - "id": "PosixAccount", - "description": "The POSIX account information associated with a Directory API User.", - "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" } }, "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 OS Login", @@ -380,5 +132,253 @@ } } }, - "rootUrl": "https://oslogin.googleapis.com/" + "rootUrl": "https://oslogin.googleapis.com/", + "ownerDomain": "google.com", + "name": "oslogin", + "batchPath": "batch", + "title": "Google Cloud OS Login API", + "ownerName": "Google", + "resources": { + "users": { + "methods": { + "importSshPublicKey": { + "response": { + "$ref": "ImportSshPublicKeyResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "parameters": { + "parent": { + "location": "path", + "description": "The unique ID for the user in format `users/{user}`.", + "type": "string", + "required": true, + "pattern": "^users/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1alpha/users/{usersId}:importSshPublicKey", + "id": "oslogin.users.importSshPublicKey", + "path": "v1alpha/{+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" + } + }, + "getLoginProfile": { + "description": "Retrieves the profile information used for logging in to a virtual machine\non Google Compute Engine.", + "response": { + "$ref": "LoginProfile" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "location": "path", + "description": "The unique ID for the user in format `users/{user}`.", + "type": "string", + "required": true, + "pattern": "^users/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1alpha/users/{usersId}/loginProfile", + "id": "oslogin.users.getLoginProfile", + "path": "v1alpha/{+name}/loginProfile" + } + }, + "resources": { + "sshPublicKeys": { + "methods": { + "patch": { + "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", + "id": "oslogin.users.sshPublicKeys.patch", + "path": "v1alpha/{+name}", + "request": { + "$ref": "SshPublicKey" + }, + "description": "Updates an SSH public key and returns the profile information. This method\nsupports patch semantics.", + "response": { + "$ref": "SshPublicKey" + }, + "parameterOrder": [ + "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}`.", + "type": "string", + "required": true, + "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", + "location": "path" + }, + "updateMask": { + "format": "google-fieldmask", + "description": "Mask to control which fields get updated. Updates all if not present.", + "type": "string", + "location": "query" + } + } + }, + "get": { + "response": { + "$ref": "SshPublicKey" + }, + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "type": "string", + "required": true, + "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}`." + } + }, + "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", + "id": "oslogin.users.sshPublicKeys.get", + "path": "v1alpha/{+name}", + "description": "Retrieves an SSH public key." + }, + "delete": { + "description": "Deletes an SSH public key.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "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, + "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$" + } + }, + "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", + "id": "oslogin.users.sshPublicKeys.delete", + "path": "v1alpha/{+name}" + } + } + } + } + } + }, + "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": { + "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": { + "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": { + "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": { + "default": "true", + "type": "boolean", + "location": "query", + "description": "Pretty-print response." + }, + "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" + } + }, + "version": "v1alpha", + "baseUrl": "https://oslogin.googleapis.com/", + "servicePath": "", + "description": "Manages OS login configuration for Directory API users.", + "kind": "discovery#restDescription" } 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 6499aae..2d3c78b 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: // 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 0a92c94..6fa28ae 100644 --- a/vendor/google.golang.org/api/partners/v2/partners-api.json +++ b/vendor/google.golang.org/api/partners/v2/partners-api.json @@ -1,34 +1,400 @@ { - "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", + "documentationLink": "https://developers.google.com/partners/", + "revision": "20170822", "title": "Google Partners API", - "ownerName": "Google", "discoveryVersion": "v1", - "version_module": "True", + "ownerName": "Google", + "version_module": true, "resources": { - "exams": { + "leads": { "methods": { - "getToken": { - "description": "Gets an Exam Token for a Partner's user to take an exam in the Exams System", - "httpMethod": "GET", - "parameterOrder": [ - "examType" - ], + "list": { + "description": "Lists advertiser leads for a user's associated company.\nShould only be called within the context of an authorized logged in user.", + "parameterOrder": [], "response": { - "$ref": "ExamToken" + "$ref": "ListLeadsResponse" + }, + "httpMethod": "GET", + "parameters": { + "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": { + "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" + }, + "requestMetadata.userOverrides.userId": { + "location": "query", + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "type": "string" + }, + "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 `ListLeadsResponse.next_page_token`\nreturned from the previous call to\nListLeads.", + "type": "string", + "location": "query" + }, + "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": { + "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" + } + }, + "flatPath": "v2/leads", + "id": "partners.leads.list", + "path": "v2/leads" + } + } + }, + "offers": { + "methods": { + "list": { + "response": { + "$ref": "ListOffersResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "parameters": { + "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" + }, + "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": { + "type": "string", + "repeated": true, + "location": "query", + "description": "Experiment IDs the current request belongs to." + }, + "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/offers", + "id": "partners.offers.list", + "path": "v2/offers", + "description": "Lists the Offers available for the current user" + } + }, + "resources": { + "history": { + "methods": { + "list": { + "response": { + "$ref": "ListOffersHistoryResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "parameters": { + "pageSize": { + "format": "int32", + "description": "Maximum number of rows to return per page.", + "type": "integer", + "location": "query" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "type": "string", + "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." + }, + "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" + }, + "entireCompany": { + "location": "query", + "description": "if true, show history for the entire company. Requires user to be admin.", + "type": "boolean" + }, + "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": "Comma-separated list of fields to order by, e.g.: \"foo,bar,baz\".\nUse \"foo desc\" to sort descending.\nList of valid field names is: name, offer_code, expiration_time, status,\n last_modified_time, sender_name, creation_time, country_code,\n offer_type.", + "type": "string" + }, + "requestMetadata.partnersSessionId": { + "type": "string", + "location": "query", + "description": "Google Partners session ID." + }, + "requestMetadata.userOverrides.userId": { + "location": "query", + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "type": "string" + }, + "pageToken": { + "description": "Token to retrieve a specific page.", + "type": "string", + "location": "query" + } + }, + "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)" + } + } + } + } + }, + "analytics": { + "methods": { + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListAnalyticsResponse" + }, + "parameterOrder": [], + "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" + }, + "pageToken": { + "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", + "location": "query" + }, + "pageSize": { + "location": "query", + "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" + }, + "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": { + "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" + } + }, + "flatPath": "v2/analytics", + "path": "v2/analytics", + "id": "partners.analytics.list", + "description": "Lists analytics data for a user's associated company.\nShould only be called within the context of an authorized logged in user." + } + } + }, + "userStates": { + "methods": { + "list": { + "description": "Lists states for current user.", + "parameterOrder": [], + "httpMethod": "GET", + "response": { + "$ref": "ListUserStatesResponse" }, "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": { + "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": { + "type": "string", + "location": "query", + "description": "Locale to use for the current request." + }, + "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": { + "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/userStates", + "id": "partners.userStates.list", + "path": "v2/userStates" + } + } + }, + "v2": { + "methods": { + "getPartnersstatus": { + "response": { + "$ref": "GetPartnersStatusResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "parameters": { + "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.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" + }, + "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": { + "type": "string", + "location": "query", + "description": "Locale to use for the current request." + }, + "requestMetadata.userOverrides.ipAddress": { + "location": "query", + "description": "IP address to use instead of the user's geo-located IP address.", + "type": "string" + } + }, + "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." + }, + "updateLeads": { + "description": "Updates the specified lead.", + "request": { + "$ref": "Lead" + }, + "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.", @@ -44,12 +410,697 @@ "description": "IP address to use instead of the user's geo-located IP address.", "type": "string" }, + "updateMask": { + "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", + "location": "query" + }, + "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/leads", + "id": "partners.updateLeads", + "path": "v2/leads" + }, + "updateCompanies": { + "request": { + "$ref": "Company" + }, + "description": "Update company.\nShould only be called within the context of an authorized logged in user.", + "response": { + "$ref": "Company" + }, + "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": { + "type": "string", + "location": "query", + "description": "IP address to use instead of the user's geo-located IP address." + }, + "updateMask": { + "type": "string", + "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." + }, + "requestMetadata.experimentIds": { + "type": "string", + "repeated": true, + "location": "query", + "description": "Experiment IDs the current request belongs to." + }, + "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/companies", + "id": "partners.updateCompanies", + "path": "v2/companies" + } + } + }, + "users": { + "methods": { + "deleteCompanyRelation": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "userId" + ], + "httpMethod": "DELETE", + "parameters": { + "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 + }, + "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" + }, + "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" + } + }, + "flatPath": "v2/users/{userId}/companyRelation", + "id": "partners.users.deleteCompanyRelation", + "path": "v2/users/{userId}/companyRelation", + "description": "Deletes a user's company relation. Unaffiliaites the user from a company." + }, + "createCompanyRelation": { + "description": "Creates a user's company relation. Affiliates the user to a company.", + "request": { + "$ref": "CompanyRelation" + }, + "httpMethod": "PUT", + "parameterOrder": [ + "userId" + ], + "response": { + "$ref": "CompanyRelation" + }, + "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": { + "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": { + "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" + }, + "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", + "path": "v2/users/{userId}/companyRelation", + "id": "partners.users.createCompanyRelation" + }, + "get": { + "description": "Gets a user.", + "httpMethod": "GET", + "parameterOrder": [ + "userId" + ], + "response": { + "$ref": "User" + }, + "parameters": { + "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" + }, + "userView": { + "location": "query", + "enum": [ + "BASIC", + "PROFILE", + "PUBLIC_PROFILE" + ], + "description": "Specifies what parts of the user information to return.", + "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": { + "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 }, + "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": { + "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}", + "path": "v2/users/{userId}", + "id": "partners.users.get" + }, + "updateProfile": { + "response": { + "$ref": "UserProfile" + }, + "parameterOrder": [], + "httpMethod": "PATCH", + "parameters": { + "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": { + "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": { + "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" + }, + "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" + } + }, + "flatPath": "v2/users/profile", + "id": "partners.users.updateProfile", + "path": "v2/users/profile", + "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": "UserProfile" + } + } + } + }, + "companies": { + "methods": { + "list": { + "description": "Lists companies.", + "response": { + "$ref": "ListCompaniesResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "parameters": { + "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" + }, + "minMonthlyBudget.nanos": { + "location": "query", + "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" + }, + "requestMetadata.partnersSessionId": { + "location": "query", + "description": "Google Partners session ID.", + "type": "string" + }, + "companyName": { + "description": "Company name to search for.", + "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" + }, + "industries": { + "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", + "repeated": true, + "location": "query" + }, + "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": { + "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", + "repeated": true + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Requested page size. Server may return fewer companies than requested.\nIf unspecified, server picks an appropriate default.", + "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": { + "description": "Experiment IDs the current request belongs to.", + "type": "string", + "repeated": true, + "location": "query" + }, + "orderBy": { + "location": "query", + "description": "How to order addresses within the returned companies. 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" + }, + "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": [ + "BADGE_SPECIALIZATION_UNKNOWN", + "BADGE_SPECIALIZATION_ADWORDS_SEARCH", + "BADGE_SPECIALIZATION_ADWORDS_DISPLAY", + "BADGE_SPECIALIZATION_ADWORDS_MOBILE", + "BADGE_SPECIALIZATION_ADWORDS_VIDEO", + "BADGE_SPECIALIZATION_ADWORDS_SHOPPING" + ] + }, + "maxMonthlyBudget.currencyCode": { + "type": "string", + "location": "query", + "description": "The 3-letter currency code defined in ISO 4217." + }, + "minMonthlyBudget.currencyCode": { + "location": "query", + "description": "The 3-letter currency code defined in ISO 4217.", + "type": "string" + }, + "requestMetadata.userOverrides.userId": { + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "type": "string", + "location": "query" + }, + "view": { + "type": "string", + "location": "query", + "enum": [ + "COMPANY_VIEW_UNSPECIFIED", + "CV_GOOGLE_PARTNER_SEARCH" + ], + "description": "The view of the `Company` resource to be returned. This must not be\n`COMPANY_VIEW_UNSPECIFIED`." + }, + "requestMetadata.locale": { + "description": "Locale to use for the current request.", + "type": "string", + "location": "query" + }, + "address": { + "location": "query", + "description": "The address to use when searching for companies.\nIf not given, the geo-located address of the request is used.", + "type": "string" + }, + "minMonthlyBudget.units": { + "location": "query", + "format": "int64", + "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "type": "string" + }, + "maxMonthlyBudget.nanos": { + "type": "integer", + "location": "query", + "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." + }, + "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": { + "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": { + "type": "string", + "location": "query", + "format": "int64", + "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar." + } + }, + "flatPath": "v2/companies", + "id": "partners.companies.list", + "path": "v2/companies" + }, + "get": { + "flatPath": "v2/companies/{companyId}", + "id": "partners.companies.get", + "path": "v2/companies/{companyId}", + "description": "Gets a company.", + "response": { + "$ref": "GetCompanyResponse" + }, + "parameterOrder": [ + "companyId" + ], + "httpMethod": "GET", + "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.userOverrides.ipAddress": { + "location": "query", + "description": "IP address to use instead of the user's geo-located IP address.", + "type": "string" + }, + "companyId": { + "type": "string", + "required": true, + "location": "path", + "description": "The ID of the company to retrieve." + }, + "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": { + "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" + }, + "orderBy": { + "type": "string", + "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." + }, + "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": { + "location": "query", + "enum": [ + "COMPANY_VIEW_UNSPECIFIED", + "CV_GOOGLE_PARTNER_SEARCH" + ], + "description": "The view of `Company` resource to be returned. This must not be\n`COMPANY_VIEW_UNSPECIFIED`.", + "type": "string" + }, + "requestMetadata.locale": { + "type": "string", + "location": "query", + "description": "Locale to use for the current request." + }, + "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" + } + } + } + }, + "resources": { + "leads": { + "methods": { + "create": { + "request": { + "$ref": "CreateLeadRequest" + }, + "description": "Creates an advertiser lead for the given company ID.", + "response": { + "$ref": "CreateLeadResponse" + }, + "parameterOrder": [ + "companyId" + ], + "httpMethod": "POST", + "parameters": { + "companyId": { + "type": "string", + "required": true, + "location": "path", + "description": "The ID of the company to contact." + } + }, + "flatPath": "v2/companies/{companyId}/leads", + "id": "partners.companies.leads.create", + "path": "v2/companies/{companyId}/leads" + } + } + } + } + }, + "userEvents": { + "methods": { + "log": { + "id": "partners.userEvents.log", + "path": "v2/userEvents:log", + "description": "Logs a user event.", + "request": { + "$ref": "LogUserEventRequest" + }, + "response": { + "$ref": "LogUserEventResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "flatPath": "v2/userEvents:log" + } + } + }, + "clientMessages": { + "methods": { + "log": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "LogMessageResponse" + }, + "parameters": {}, + "flatPath": "v2/clientMessages:log", + "path": "v2/clientMessages:log", + "id": "partners.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.", + "request": { + "$ref": "LogMessageRequest" + } + } + } + }, + "exams": { + "methods": { + "getToken": { + "httpMethod": "GET", + "parameterOrder": [ + "examType" + ], + "response": { + "$ref": "ExamToken" + }, + "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.", @@ -71,1104 +1122,34 @@ "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": { + "type": "string", + "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." } }, "flatPath": "v2/exams/{examType}/token", + "path": "v2/exams/{examType}/token", "id": "partners.exams.getToken", - "path": "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": { - "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" - }, - "pageToken": { - "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" - } - } - } - } - }, - "offers": { - "methods": { - "list": { - "response": { - "$ref": "ListOffersResponse" - }, - "parameterOrder": [], - "httpMethod": "GET", - "parameters": { - "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": { - "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", - "path": "v2/offers", - "id": "partners.offers.list", - "description": "Lists the Offers available for the current user" - } - }, - "resources": { - "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" - }, - "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.", - "type": "string" - }, - "requestMetadata.userOverrides.ipAddress": { - "description": "IP address to use instead of the user's geo-located IP address.", - "type": "string", - "location": "query" - }, - "entireCompany": { - "description": "if true, show history for the entire company. Requires user to be admin.", - "type": "boolean", - "location": "query" - }, - "requestMetadata.experimentIds": { - "location": "query", - "description": "Experiment IDs the current request belongs to.", - "type": "string", - "repeated": true - }, - "orderBy": { - "location": "query", - "description": "Comma-separated list of fields to order by, e.g.: \"foo,bar,baz\".\nUse \"foo desc\" to sort descending.\nList of valid field names is: name, offer_code, expiration_time, status,\n last_modified_time, sender_name, creation_time, country_code,\n offer_type.", - "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" - }, - "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" - } - } - } - } - } - } - }, - "userStates": { - "methods": { - "list": { - "response": { - "$ref": "ListUserStatesResponse" - }, - "parameterOrder": [], - "httpMethod": "GET", - "parameters": { - "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" - }, - "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" - } - }, - "flatPath": "v2/userStates", - "path": "v2/userStates", - "id": "partners.userStates.list", - "description": "Lists states for current user." - } - } - }, - "analytics": { - "methods": { - "list": { - "description": "Lists analytics data for a user's associated company.\nShould only be called within the context of an authorized logged in user.", - "response": { - "$ref": "ListAnalyticsResponse" - }, - "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": { - "description": "Google Partners session ID.", - "type": "string", - "location": "query" - }, - "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", - "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": { - "description": "IP address to use instead of the user's geo-located IP address.", - "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", - "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" - } - }, - "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" - }, - "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" - }, - "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.", - "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.", - "type": "string", - "location": "query" - } - } - }, - "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": { - "location": "query", - "description": "Experiment IDs the current request belongs to.", - "type": "string", - "repeated": true - }, - "orderBy": { - "location": "query", - "description": "How to order addresses within the returned companies. 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" - }, - "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": [ - "BADGE_SPECIALIZATION_UNKNOWN", - "BADGE_SPECIALIZATION_ADWORDS_SEARCH", - "BADGE_SPECIALIZATION_ADWORDS_DISPLAY", - "BADGE_SPECIALIZATION_ADWORDS_MOBILE", - "BADGE_SPECIALIZATION_ADWORDS_VIDEO", - "BADGE_SPECIALIZATION_ADWORDS_SHOPPING" - ] - }, - "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" - }, - "requestMetadata.userOverrides.userId": { - "description": "Logged-in user ID to impersonate instead of the user's ID.", - "type": "string", - "location": "query" - }, - "view": { - "location": "query", - "enum": [ - "COMPANY_VIEW_UNSPECIFIED", - "CV_GOOGLE_PARTNER_SEARCH" - ], - "description": "The view of the `Company` resource to be returned. This must not be\n`COMPANY_VIEW_UNSPECIFIED`.", - "type": "string" - }, - "address": { - "description": "The address to use when searching for companies.\nIf not given, the geo-located address of the request is used.", - "type": "string", - "location": "query" - }, - "requestMetadata.locale": { - "description": "Locale to use for the current request.", - "type": "string", - "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", - "type": "string" - } - }, - "flatPath": "v2/companies", - "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" - ], - "httpMethod": "POST", - "parameters": { - "companyId": { - "description": "The ID of the company to contact.", - "required": true, - "type": "string", - "location": "path" - } - } - } - } - } - } - }, - "users": { - "methods": { - "get": { - "description": "Gets a user.", - "parameterOrder": [ - "userId" - ], - "response": { - "$ref": "User" - }, - "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": { - "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" - ] - }, - "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" - }, - "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" - }, - "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": { - "request": { - "$ref": "CompanyRelation" - }, - "description": "Creates a user's company relation. Affiliates the user to a company.", - "httpMethod": "PUT", - "parameterOrder": [ - "userId" - ], - "response": { - "$ref": "CompanyRelation" - }, - "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" - }, - "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" - } - } - }, - "userEvents": { - "methods": { - "log": { - "description": "Logs a user event.", - "request": { - "$ref": "LogUserEventRequest" - }, - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "LogUserEventResponse" - }, - "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.", - "request": { - "$ref": "LogMessageRequest" - }, - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "LogMessageResponse" - }, - "parameters": {} + "description": "Gets an Exam Token for a Partner's user to take an exam in the Exams System" } } } }, "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", @@ -1188,6 +1169,12 @@ ] }, "alt": { + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -1195,181 +1182,410 @@ ], "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" + "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" + "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" + "type": "string", + "location": "query" }, "pp": { "description": "Pretty-print response.", - "type": "boolean", "default": "true", - "location": "query" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", + "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" }, - "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", + "type": "boolean", + "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" } }, "schemas": { - "Rank": { - "description": "Information related to ranking of results.", + "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" + }, + "TrafficSource": { "type": "object", "properties": { - "type": { - "description": "The type of rank.", + "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" + }, + "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" + } + }, + "id": "TrafficSource", + "description": "Source of traffic for the current request." + }, + "RequestMetadata": { + "description": "Common data that is in each API request.", + "type": "object", + "properties": { + "trafficSource": { + "description": "Source of traffic for the current request.", + "$ref": "TrafficSource" + }, + "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" + }, + "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." + } + }, + "id": "RequestMetadata" + }, + "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" + } + }, + "id": "CreateLeadRequest" + }, + "EventData": { + "id": "EventData", + "description": "Key value data pair for an event.", + "type": "object", + "properties": { + "key": { + "enumDescriptions": [ + "Unchosen.", + "Action data.", + "Agency ID data.", + "Agency name data.", + "Agency phone number data.", + "Agency website data.", + "Budget data.", + "Center-point data.", + "Certification data.", + "Comment data.", + "Country data.", + "Currency data.", + "Currently viewed agency ID data.", + "Distance data.", + "Distance type data.", + "Exam data.", + "History token data.", + "Identifier data.", + "Industry data.", + "Insight tag data.", + "Language data.", + "Location data.", + "Marketing opt-in data.", + "Query data.", + "Search start index data.", + "Service data.", + "Show vow data.", + "Solution data.", + "Traffic source ID data.", + "Traffic sub ID data.", + "Viewport data.", + "Website data.", + "Details data.", + "Experiment ID data.", + "Google Partner Search motivation data.", + "URL data.", + "Element we wanted user to focus on.", + "Progress when viewing an item \\[0-100\\]." + ], + "enum": [ + "EVENT_DATA_TYPE_UNSPECIFIED", + "ACTION", + "AGENCY_ID", + "AGENCY_NAME", + "AGENCY_PHONE_NUMBER", + "AGENCY_WEBSITE", + "BUDGET", + "CENTER_POINT", + "CERTIFICATION", + "COMMENT", + "COUNTRY", + "CURRENCY", + "CURRENTLY_VIEWED_AGENCY_ID", + "DISTANCE", + "DISTANCE_TYPE", + "EXAM", + "HISTORY_TOKEN", + "ID", + "INDUSTRY", + "INSIGHT_TAG", + "LANGUAGE", + "LOCATION", + "MARKETING_OPT_IN", + "QUERY", + "SEARCH_START_INDEX", + "SERVICE", + "SHOW_VOW", + "SOLUTION", + "TRAFFIC_SOURCE_ID", + "TRAFFIC_SUB_ID", + "VIEW_PORT", + "WEBSITE", + "DETAILS", + "EXPERIMENT_ID", + "GPS_MOTIVATION", + "URL", + "ELEMENT_FOCUS", + "PROGRESS" + ], + "description": "Data type.", + "type": "string" + }, + "values": { + "description": "Data values.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "ExamStatus": { + "type": "object", + "properties": { + "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": [ "Unchosen.", - "Total final score." - ], - "enum": [ - "RANK_TYPE_UNSPECIFIED", - "RT_FINAL_SCORE" + "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." ] }, - "value": { - "description": "The numerical value of the rank.", - "format": "double", - "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." - }, - "familyName": { - "description": "The user's family name.", - "type": "string" - }, - "languages": { - "description": "The list of languages this user understands.", - "type": "array", - "items": { - "type": "string" - } - }, - "markets": { - "description": "A list of ids representing which markets the user was interested in.", - "type": "array", - "items": { - "type": "string" - } - }, - "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", - "type": "string" - }, - "primaryCountryCode": { - "description": "The user's primary country, an ISO 2-character code.", - "type": "string" - }, - "emailAddress": { - "description": "The email address the user has selected on the Partners site as primary.", - "type": "string" - }, - "channels": { - "description": "A list of ids representing which channels the user selected they were in.", - "type": "array", - "items": { - "type": "string" - } - }, - "profilePublic": { - "description": "Whether the user's public profile is visible to anyone with the URL.", + "passed": { + "description": "Whether this exam has been passed and not expired.", "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.", + "taken": { + "format": "google-datetime", + "description": "The date the user last taken this exam.", "type": "string" }, - "address": { - "description": "The user's mailing address, contains multiple fields.", - "$ref": "Location" + "warning": { + "type": "boolean", + "description": "Whether this exam is in the state of warning." }, - "industries": { - "description": "A list of ids representing which industries the user selected.", - "type": "array", - "items": { - "type": "string" - } + "expiration": { + "format": "google-datetime", + "description": "Date this exam is due to expire.", + "type": "string" } }, - "id": "UserProfile" + "id": "ExamStatus", + "description": "A user's information on a specific exam." }, - "GetPartnersStatusResponse": { - "description": "Response message for\nGetPartnersStatus.", - "type": "object", + "ListOffersResponse": { "properties": { + "availableOffers": { + "description": "Available Offers to be distributed.", + "items": { + "$ref": "AvailableOffer" + }, + "type": "array" + }, "responseMetadata": { "$ref": "ResponseMetadata", "description": "Current response metadata." + }, + "noOfferReason": { + "type": "string", + "enumDescriptions": [ + "Unset.", + "Not an MCC.", + "Offer limit has been reached.", + "Ineligible for offers." + ], + "enum": [ + "NO_OFFER_REASON_UNSPECIFIED", + "NO_OFFER_REASON_NO_MCC", + "NO_OFFER_REASON_LIMIT_REACHED", + "NO_OFFER_REASON_INELIGIBLE" + ], + "description": "Reason why no Offers are available." } }, - "id": "GetPartnersStatusResponse" + "id": "ListOffersResponse", + "description": "Response for ListOffer.", + "type": "object" }, - "HistoricalOffer": { - "description": "Historical information about a Google Partners Offer.", + "CountryOfferInfo": { "type": "object", "properties": { - "adwordsUrl": { - "description": "Client's AdWords page URL.", + "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" }, "offerType": { + "enum": [ + "OFFER_TYPE_UNSPECIFIED", + "OFFER_TYPE_SPEND_X_GET_Y", + "OFFER_TYPE_VIDEO", + "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": { + "type": "string", + "description": "(localized) Get Y amount for that country's offer." + } + }, + "id": "CountryOfferInfo", + "description": "Offer info by country." + }, + "ListCompaniesResponse": { + "properties": { + "nextPageToken": { + "type": "string", + "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." + }, + "responseMetadata": { + "description": "Current response metadata.", + "$ref": "ResponseMetadata" + }, + "companies": { + "description": "The list of companies.", + "items": { + "$ref": "Company" + }, + "type": "array" + } + }, + "id": "ListCompaniesResponse", + "description": "Response message for\nListCompanies.", + "type": "object" + }, + "OfferCustomer": { + "description": "Customers qualified for an offer.", + "type": "object", + "properties": { + "name": { + "description": "Name of the customer.", + "type": "string" + }, + "spendXAmount": { + "description": "Formatted Spend X amount with currency code.", + "type": "string" + }, + "adwordsUrl": { + "description": "URL to the customer's AdWords page.", + "type": "string" + }, + "creationTime": { + "format": "google-datetime", + "description": "Time the customer was created.", + "type": "string" + }, + "eligibilityDaysLeft": { + "format": "int32", + "description": "Days the customer is still eligible.", + "type": "integer" + }, + "offerType": { + "description": "Type of the offer", + "type": "string", "enumDescriptions": [ "Unset.", "AdWords spend X get Y.", @@ -1381,21 +1597,929 @@ "OFFER_TYPE_SPEND_X_GET_Y", "OFFER_TYPE_VIDEO", "OFFER_TYPE_SPEND_MATCH" + ] + }, + "externalCid": { + "format": "int64", + "description": "External CID for the customer.", + "type": "string" + }, + "countryCode": { + "description": "Country code of the customer.", + "type": "string" + }, + "getYAmount": { + "description": "Formatted Get Y amount with currency code.", + "type": "string" + } + }, + "id": "OfferCustomer" + }, + "CertificationStatus": { + "description": "Google Partners certification status.", + "type": "object", + "properties": { + "examStatuses": { + "description": "List of certification exam statuses.", + "items": { + "$ref": "CertificationExamStatus" + }, + "type": "array" + }, + "type": { + "description": "The type of the certification.", + "type": "string", + "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": "Type of offer.", + "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" + ] + }, + "userCount": { + "format": "int32", + "description": "Number of people who are certified,", + "type": "integer" + }, + "isCertified": { + "description": "Whether certification is passing.", + "type": "boolean" + } + }, + "id": "CertificationStatus" + }, + "LocalizedCompanyInfo": { + "description": "The localized company information.", + "type": "object", + "properties": { + "displayName": { + "description": "Localized display name.", "type": "string" }, - "senderName": { - "description": "Name (First + Last) of the partners user to whom the incentive is allocated.", + "languageCode": { + "description": "Language code of the localized company info, 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" }, + "countryCodes": { + "items": { + "type": "string" + }, + "type": "array", + "description": "List of country codes for the localized company info." + }, + "overview": { + "description": "Localized brief description that the company uses to advertise themselves.", + "type": "string" + } + }, + "id": "LocalizedCompanyInfo" + }, + "LogUserEventResponse": { + "properties": { + "responseMetadata": { + "description": "Current response metadata.", + "$ref": "ResponseMetadata" + } + }, + "id": "LogUserEventResponse", + "description": "Response message for\nLogUserEvent.", + "type": "object" + }, + "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": { + "format": "int32", + "description": "Number of results across all pages.", + "type": "integer" + }, + "showingEntireCompany": { + "description": "True if this response is showing entire company history.", + "type": "boolean" + }, + "offers": { + "description": "Historical offers meeting request.", + "items": { + "$ref": "HistoricalOffer" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Supply this token in a ListOffersHistoryRequest to retrieve the next page.", + "type": "string" + }, + "responseMetadata": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." + } + }, + "id": "ListOffersHistoryResponse" + }, + "LogMessageResponse": { + "id": "LogMessageResponse", + "description": "Response message for\nLogClientMessage.", + "type": "object", + "properties": { + "responseMetadata": { + "description": "Current response metadata.", + "$ref": "ResponseMetadata" + } + } + }, + "SpecializationStatus": { + "description": "Agency specialization status", + "type": "object", + "properties": { + "badgeSpecialization": { + "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", + "enumDescriptions": [ + "Unknown specialization", + "AdWords Search specialization", + "AdWords Display specialization", + "AdWords Mobile specialization", + "AdWords Video specialization", + "AdWords Shopping specialization" + ] + }, + "badgeSpecializationState": { + "description": "State of agency specialization.", + "type": "string", + "enumDescriptions": [ + "Unknown state", + "Specialization passed", + "Specialization not passed", + "Specialization in grace" + ], + "enum": [ + "BADGE_SPECIALIZATION_STATE_UNKNOWN", + "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": { + "certificationType": { + "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", + "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." + ] + }, + "lastAchieved": { + "format": "google-datetime", + "description": "The date the user last achieved certification.", + "type": "string" + }, + "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" + } + }, + "id": "Certification" + }, + "User": { + "description": "A resource representing a user of the Partners platform.", + "type": "object", + "properties": { + "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": { + "type": "string", + "description": "The ID of the user." + }, + "publicProfile": { + "$ref": "PublicProfile", + "description": "Information about a user's external public profile outside Google Partners." + }, + "companyVerificationEmail": { + "description": "The email address used by the user used for company verification.\n@OutputOnly", + "type": "string" + }, + "certificationStatus": { + "items": { + "$ref": "Certification" + }, + "type": "array", + "description": "The list of achieved certifications. These are calculated based on exam\nresults and other requirements.\n@OutputOnly" + }, + "profile": { + "description": "The profile information of a Partners user, contains all the directly\neditable user information.", + "$ref": "UserProfile" + }, + "company": { + "$ref": "CompanyRelation", + "description": "The company that the user is associated with.\nIf not present, the user is not associated with any company." + }, + "lastAccessTime": { + "type": "string", + "format": "google-datetime", + "description": "The most recent time the user interacted with the Partners site.\n@OutputOnly" + }, + "primaryEmails": { + "description": "The list of emails the user has access to/can select as primary.\n@OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "internalId": { + "description": "The internal user ID.\nOnly available for a whitelisted set of api clients.", + "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.", + "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" + }, + "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" + }, + "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" + }, + "Company": { + "description": "A company resource in the Google Partners API. Once certified, it qualifies\nfor being searched by advertisers.", + "type": "object", + "properties": { + "industries": { + "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", + "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." + ] + }, + "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": { + "type": "string", + "description": "The ID of the company." + }, + "publicProfile": { + "description": "Basic information from the company's public profile.", + "$ref": "PublicProfile" + }, + "originalMinMonthlyBudget": { + "$ref": "Money", + "description": "The unconverted minimum monthly budget that the company accepts for partner\nbusiness." + }, + "primaryLocation": { + "$ref": "Location", + "description": "The primary location of the company." + }, + "services": { + "description": "Services the company can help with.", + "items": { + "type": "string", + "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": "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." + ] + }, + "ranks": { + "description": "Information related to the ranking of the company within the list of\ncompanies.", + "items": { + "$ref": "Rank" + }, + "type": "array" + }, + "badgeTier": { + "type": "string", + "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" + }, + "specializationStatus": { + "description": "The list of Google Partners specialization statuses for the company.", + "items": { + "$ref": "SpecializationStatus" + }, + "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" + }, + "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" + }, + "profileStatus": { + "description": "The public viewability status of the company's profile.", + "type": "string", + "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" + ] + }, + "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": { + "items": { + "$ref": "Location" + }, + "type": "array", + "description": "The list of all company locations.\nIf set, must include the\nprimary_location\nin the list." + }, + "convertedMinMonthlyBudget": { + "$ref": "Money", + "description": "The minimum monthly budget that the company accepts for partner business,\nconverted to the requested currency code." + } + }, + "id": "Company" + }, + "CreateLeadResponse": { + "type": "object", + "properties": { + "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" + }, + "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": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." + } + }, + "id": "CreateLeadResponse", + "description": "Response message for CreateLead." + }, + "GetCompanyResponse": { + "description": "Response message for GetCompany.", + "type": "object", + "properties": { + "company": { + "description": "The company.", + "$ref": "Company" + }, + "responseMetadata": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." + } + }, + "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": { + "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": { + "type": "string", + "description": "Values are frequently alphanumeric." + }, + "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" + }, + "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." + } + }, + "id": "Location" + }, + "ExamToken": { + "description": "A token that allows a user to take an exam.", + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "The token, only present if the user has access to the exam." + }, + "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" + }, + "examId": { + "type": "string", + "format": "int64", + "description": "The id of the exam the token is for." + } + }, + "id": "ExamToken" + }, + "CertificationExamStatus": { + "description": "Status for a Google Partners certification exam.", + "type": "object", + "properties": { + "numberUsersPass": { + "format": "int32", + "description": "The number of people who have passed the certification exam.", + "type": "integer" + }, + "type": { + "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" + ], + "description": "The type of certification exam." + } + }, + "id": "CertificationExamStatus" + }, + "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": { + "enumDescriptions": [ + "Unchosen.", + "Total final score." + ], + "enum": [ + "RANK_TYPE_UNSPECIFIED", + "RT_FINAL_SCORE" + ], + "description": "The type of rank.", + "type": "string" + }, + "value": { + "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": { + "markets": { + "description": "A list of ids representing which markets the user was interested in.", + "items": { + "type": "string" + }, + "type": "array" + }, + "adwordsManagerAccount": { + "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" + }, + "phoneNumber": { + "description": "The user's phone number.", + "type": "string" + }, + "primaryCountryCode": { + "description": "The user's primary country, an ISO 2-character code.", + "type": "string" + }, + "emailAddress": { + "description": "The email address the user has selected on the Partners site as primary.", + "type": "string" + }, + "profilePublic": { + "description": "Whether the user's public profile is visible to anyone with the URL.", + "type": "boolean" + }, + "channels": { + "description": "A list of ids representing which channels the user selected they were in.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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": { + "$ref": "Location", + "description": "The user's mailing address, contains multiple fields." + }, + "industries": { + "description": "A list of ids representing which industries the user selected.", + "items": { + "type": "string" + }, + "type": "array" + }, + "emailOptIns": { + "$ref": "OptIns", + "description": "The list of opt-ins for the user, related to communication preferences." + }, + "languages": { + "description": "The list of languages this user understands.", + "items": { + "type": "string" + }, + "type": "array" + }, + "familyName": { + "description": "The user's family name.", + "type": "string" + } + }, + "id": "UserProfile" + }, + "GetPartnersStatusResponse": { + "description": "Response message for\nGetPartnersStatus.", + "type": "object", + "properties": { + "responseMetadata": { + "description": "Current response metadata.", + "$ref": "ResponseMetadata" + } + }, + "id": "GetPartnersStatusResponse" + }, + "HistoricalOffer": { + "description": "Historical information about a Google Partners Offer.", + "type": "object", + "properties": { "offerCountryCode": { "description": "Country Code for the offer country.", "type": "string" }, "expirationTime": { - "description": "Time this offer expires.", "format": "google-datetime", + "description": "Time this offer expires.", "type": "string" }, "offerCode": { @@ -1403,8 +2527,8 @@ "type": "string" }, "creationTime": { - "description": "Time offer was first created.", "format": "google-datetime", + "description": "Time offer was first created.", "type": "string" }, "clientEmail": { @@ -1412,7 +2536,6 @@ "type": "string" }, "status": { - "description": "Status of the offer.", "type": "string", "enumDescriptions": [ "Unset.", @@ -1427,11 +2550,12 @@ "OFFER_STATUS_REDEEMED", "OFFER_STATUS_AWARDED", "OFFER_STATUS_EXPIRED" - ] + ], + "description": "Status of the offer." }, "clientId": { - "description": "ID of client.", "format": "int64", + "description": "ID of client.", "type": "string" }, "clientName": { @@ -1439,65 +2563,41 @@ "type": "string" }, "lastModifiedTime": { - "description": "Time last action was taken.", "format": "google-datetime", + "description": "Time last action was taken.", + "type": "string" + }, + "adwordsUrl": { + "description": "Client's AdWords page URL.", + "type": "string" + }, + "offerType": { + "description": "Type of offer.", + "type": "string", + "enumDescriptions": [ + "Unset.", + "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" + ] + }, + "senderName": { + "description": "Name (First + Last) of the partners user to whom the incentive is allocated.", "type": "string" } }, "id": "HistoricalOffer" }, - "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" - } - }, - "id": "UserOverrides" - }, "LogUserEventRequest": { - "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.", @@ -1534,13 +2634,15 @@ "GOOGLE_PARTNER_PORTAL_COMPANY_PROFILE", "EXTERNAL_LINKS", "GOOGLE_PARTNER_LANDING" - ] + ], + "description": "The category the action belongs to." }, "lead": { "$ref": "Lead", "description": "Advertiser lead information." }, "eventAction": { + "type": "string", "enumDescriptions": [ "Unchosen.", "Advertiser clicked `Find a partner` bottom button.", @@ -1669,6 +2771,7 @@ "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.", @@ -1827,6 +2930,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", @@ -1857,66 +2961,112 @@ "AGENCY_CLICKED_CANCEL_ACCEPT_TOS_BUTTON", "SMB_ENTERED_WEBSITE_IN_CONTACT_PARTNER_FORM" ], - "description": "The action that occurred.", + "description": "The action that occurred." + }, + "url": { + "type": "string", + "description": "The URL where the event occurred." + }, + "requestMetadata": { + "$ref": "RequestMetadata", + "description": "Current request metadata." + }, + "eventDatas": { + "description": "List of event data for the event.", + "items": { + "$ref": "EventData" + }, + "type": "array" + }, + "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." + ] + } + }, + "id": "LogUserEventRequest", + "description": "Request message for\nLogUserEvent." + }, + "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" } }, - "id": "LogUserEventRequest" + "id": "UserOverrides" }, "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", - "type": "integer" - }, "eventLocations": { - "description": "Location information of where these events occurred.", - "type": "array", "items": { "$ref": "LatLng" - } + }, + "type": "array", + "description": "Location information of where these events occurred." + }, + "eventCount": { + "format": "int32", + "description": "Number of times the type of event occurred.\nMeaning depends on context (e.g. profile views, contacts, etc.).", + "type": "integer" } }, "id": "AnalyticsDataPoint" }, "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": { + "description": "Instances of users seeing the `Company` in Google Partners Search results\non the specified date.", + "$ref": "AnalyticsDataPoint" }, "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": { + "description": "Date on which these events occurred.", + "$ref": "Date" }, "contacts": { - "$ref": "AnalyticsDataPoint", - "description": "Instances of users contacting the `Company`\non the specified date." + "description": "Instances of users contacting the `Company`\non the specified date.", + "$ref": "AnalyticsDataPoint" } }, - "id": "Analytics" + "id": "Analytics", + "description": "Analytics data for a `Company` within a single day.", + "type": "object" }, "AdWordsManagerAccountInfo": { "description": "Information about a particular AdWords Manager Account.\nRead more at https://support.google.com/adwords/answer/6139186", "type": "object", "properties": { - "id": { - "description": "The AdWords Manager Account id.", - "format": "int64", - "type": "string" - }, "customerName": { "description": "Name of the customer this account represents.", "type": "string" + }, + "id": { + "format": "int64", + "description": "The AdWords Manager Account id.", + "type": "string" } }, "id": "AdWordsManagerAccountInfo" @@ -1925,65 +3075,106 @@ "description": "Basic information from a public profile.", "type": "object", "properties": { - "displayName": { - "description": "The display name of the public profile.", + "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" }, - "id": { - "description": "The ID which can be used to retrieve more details about the public profile.", + "displayName": { + "description": "The display name of the public profile.", "type": "string" }, "url": { - "description": "The URL of the public profile.", - "type": "string" + "type": "string", + "description": "The URL of the public profile." }, - "profileImage": { - "description": "The URL to the main profile image of the public profile.", + "id": { + "description": "The ID which can be used to retrieve more details about the public profile.", "type": "string" } }, "id": "PublicProfile" }, "ResponseMetadata": { - "description": "Common data that is in each API response.", - "type": "object", "properties": { "debugInfo": { - "description": "Debug information about this request.", - "$ref": "DebugInfo" + "$ref": "DebugInfo", + "description": "Debug information about this request." } }, - "id": "ResponseMetadata" + "id": "ResponseMetadata", + "description": "Common data that is in each API response.", + "type": "object" }, "RecaptchaChallenge": { + "id": "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.", - "type": "string" - }, "id": { "description": "The ID of the reCaptcha challenge.", "type": "string" + }, + "response": { + "type": "string", + "description": "The response to the reCaptcha challenge." } - }, - "id": "RecaptchaChallenge" + } }, "AvailableOffer": { "description": "Available Offers to be distributed.", "type": "object", "properties": { + "description": { + "description": "Description of the offer.", + "type": "string" + }, + "offerLevel": { + "enum": [ + "OFFER_LEVEL_UNSPECIFIED", + "OFFER_LEVEL_DENY_PROBLEM", + "OFFER_LEVEL_DENY_CONTRACT", + "OFFER_LEVEL_MANUAL", + "OFFER_LEVEL_LIMIT_0", + "OFFER_LEVEL_LIMIT_5", + "OFFER_LEVEL_LIMIT_15", + "OFFER_LEVEL_LIMIT_50" + ], + "description": "Level of this offer.", + "type": "string", + "enumDescriptions": [ + "Unset.", + "Users/Agencies that have no offers because of a problem.", + "Users/Agencies that have no offers due to contractural agreements.", + "Users/Agencies that have a manually-configured limit.", + "Some Agencies don't get any offers.", + "Basic level gets 5 per month.", + "Agencies with adequate AHI and spend get 15/month.", + "Badged partners (even in grace) get 50 per month." + ] + }, + "name": { + "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" + }, "countryOfferInfos": { "description": "Offer info by country.", - "type": "array", "items": { "$ref": "CountryOfferInfo" - } + }, + "type": "array" }, "offerType": { "description": "Type of offer.", @@ -2002,16 +3193,16 @@ ] }, "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,50 +3213,9 @@ "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": { - "description": "Description of the offer.", - "type": "string" - }, - "offerLevel": { - "enumDescriptions": [ - "Unset.", - "Users/Agencies that have no offers because of a problem.", - "Users/Agencies that have no offers due to contractural agreements.", - "Users/Agencies that have a manually-configured limit.", - "Some Agencies don't get any offers.", - "Basic level gets 5 per month.", - "Agencies with adequate AHI and spend get 15/month.", - "Badged partners (even in grace) get 50 per month." - ], - "enum": [ - "OFFER_LEVEL_UNSPECIFIED", - "OFFER_LEVEL_DENY_PROBLEM", - "OFFER_LEVEL_DENY_CONTRACT", - "OFFER_LEVEL_MANUAL", - "OFFER_LEVEL_LIMIT_0", - "OFFER_LEVEL_LIMIT_5", - "OFFER_LEVEL_LIMIT_15", - "OFFER_LEVEL_LIMIT_50" - ], - "description": "Level of this offer.", - "type": "string" - }, - "name": { - "description": "Name of the 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" } }, "id": "AvailableOffer" @@ -2075,77 +3225,83 @@ "type": "object", "properties": { "latitude": { - "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", "format": "double", + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", "type": "number" }, "longitude": { - "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", "format": "double", + "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", "type": "number" } }, "id": "LatLng" }, "Money": { + "id": "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" }, "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", - "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.", "type": "object", "properties": { + "details": { + "description": "Details about the client message.", + "type": "string" + }, "clientInfo": { + "description": "Map of client info, such as URL, browser navigator, browser platform, etc.", + "type": "object", "additionalProperties": { "type": "string" - }, - "description": "Map of client info, such as URL, browser navigator, browser platform, etc.", - "type": "object" + } }, "requestMetadata": { "$ref": "RequestMetadata", "description": "Current request metadata." }, "level": { + "description": "Message level of client message.", + "type": "string", "enumDescriptions": [ "Unchosen.", "Message level for tracing information.", @@ -2159,54 +3315,34 @@ "ML_INFO", "ML_WARNING", "ML_SEVERE" - ], - "description": "Message level of client message.", - "type": "string" - }, - "details": { - "description": "Details about the client message.", - "type": "string" + ] } }, "id": "LogMessageRequest" }, "DebugInfo": { + "id": "DebugInfo", "description": "Debug information about this request.", "type": "object", "properties": { - "serviceUrl": { - "description": "URL of the service that handled this request.", + "serverTraceInfo": { + "description": "Server-side debug stack trace.", "type": "string" }, "serverInfo": { "description": "Info about the server that serviced this request.", "type": "string" }, - "serverTraceInfo": { - "description": "Server-side debug stack trace.", + "serviceUrl": { + "description": "URL of the service that handled this request.", "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", - "type": "string" - }, - "phoneNumber": { - "description": "Phone number of lead source.", - "type": "string" - }, - "createTime": { - "description": "Timestamp of when this lead was created.", - "format": "google-datetime", - "type": "string" - }, "marketingOptIn": { "description": "Whether or not the lead signed up for marketing emails", "type": "boolean" @@ -2231,35 +3367,34 @@ "description": "First name of lead source.", "type": "string" }, - "websiteUrl": { - "description": "Website URL of lead source.", - "type": "string" - }, "languageCode": { "description": "Language code of the lead's language preference, 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" }, + "websiteUrl": { + "type": "string", + "description": "Website URL of lead source." + }, "gpsMotivations": { + "items": { + "enum": [ + "GPS_MOTIVATION_UNSPECIFIED", + "GPSM_HELP_WITH_ADVERTISING", + "GPSM_HELP_WITH_WEBSITE", + "GPSM_NO_WEBSITE" + ], + "type": "string" + }, + "type": "array", "enumDescriptions": [ "Unchosen.", "Advertiser needs help with their advertising.", "Advertiser needs help with their website.", "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" - ] - } + "description": "List of reasons for using Google Partner Search and creating a lead." }, "state": { - "description": "The lead's state in relation to the company.", "type": "string", "enumDescriptions": [ "Unchosen.", @@ -2274,7 +3409,8 @@ "CONTACTED", "CLIENT", "OTHER" - ] + ], + "description": "The lead's state in relation to the company." }, "email": { "description": "Email address of lead source.", @@ -2284,28 +3420,34 @@ "description": "Last name of lead source.", "type": "string" }, + "comments": { + "description": "Comments lead source gave.", + "type": "string" + }, "id": { "description": "ID of the lead.", "type": "string" }, - "comments": { - "description": "Comments lead source gave.", + "adwordsCustomerId": { + "type": "string", + "format": "int64", + "description": "The AdWords Customer ID of the lead." + }, + "phoneNumber": { + "description": "Phone number of lead source.", + "type": "string" + }, + "createTime": { + "format": "google-datetime", + "description": "Timestamp of when this lead was created.", "type": "string" } }, "id": "Lead" }, "ListUserStatesResponse": { - "description": "Response message for\nListUserStates.", - "type": "object", "properties": { - "responseMetadata": { - "description": "Current response metadata.", - "$ref": "ResponseMetadata" - }, "userStates": { - "description": "User's states.", - "type": "array", "items": { "enum": [ "USER_STATE_UNSPECIFIED", @@ -2313,13 +3455,21 @@ ], "type": "string" }, + "type": "array", "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." + }, + "responseMetadata": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." } }, - "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.", @@ -2329,35 +3479,35 @@ "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": { + "enum": [ + "BADGE_TIER_NONE", + "BADGE_TIER_REGULAR", + "BADGE_TIER_PREMIER" + ], "description": "Whether the company is a Partner.", "type": "string", "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" ] }, - "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.", - "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" @@ -2375,8 +3525,8 @@ "type": "string" }, "resolvedTimestamp": { - "description": "The timestamp when the user was approved.\n@OutputOnly", "format": "google-datetime", + "description": "The timestamp when the user was approved.\n@OutputOnly", "type": "string" }, "companyAdmin": { @@ -2392,11 +3542,16 @@ "type": "string" }, "creationTime": { - "description": "The timestamp of when affiliation was requested.\n@OutputOnly", "format": "google-datetime", + "description": "The timestamp of when affiliation was requested.\n@OutputOnly", "type": "string" }, + "primaryAddress": { + "description": "The primary location of the company.", + "$ref": "Location" + }, "state": { + "type": "string", "enumDescriptions": [ "Default unspecified value.", "User has filled in a request to be associated with an company.\nNow waiting email confirmation.", @@ -2409,25 +3564,19 @@ "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" + "description": "The state of relationship, in terms of approvals." }, "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", + "description": "The AdWords manager account # associated this company.", "type": "string" }, "segment": { "description": "The segment the company is classified as.", - "type": "array", "items": { "type": "string", "enum": [ @@ -2437,6 +3586,7 @@ "COMPANY_SEGMENT_PPSP" ] }, + "type": "array", "enumDescriptions": [ "Default segment indicates an unknown.", "Segment representing a selected group of Partners", @@ -2451,1186 +3601,38 @@ "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.", + "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": { - "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" - }, - "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" - }, - "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.", - "type": "string" - }, - "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" - } - }, - "id": "TrafficSource" - }, - "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." - }, - "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" - } - }, - "id": "RequestMetadata" - }, - "CreateLeadRequest": { - "description": "Request message for CreateLead.", - "type": "object", - "properties": { - "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" - }, - "EventData": { - "description": "Key value data pair for an event.", - "type": "object", - "properties": { - "key": { - "enumDescriptions": [ - "Unchosen.", - "Action data.", - "Agency ID data.", - "Agency name data.", - "Agency phone number data.", - "Agency website data.", - "Budget data.", - "Center-point data.", - "Certification data.", - "Comment data.", - "Country data.", - "Currency data.", - "Currently viewed agency ID data.", - "Distance data.", - "Distance type data.", - "Exam data.", - "History token data.", - "Identifier data.", - "Industry data.", - "Insight tag data.", - "Language data.", - "Location data.", - "Marketing opt-in data.", - "Query data.", - "Search start index data.", - "Service data.", - "Show vow data.", - "Solution data.", - "Traffic source ID data.", - "Traffic sub ID data.", - "Viewport data.", - "Website data.", - "Details data.", - "Experiment ID data.", - "Google Partner Search motivation data.", - "URL data.", - "Element we wanted user to focus on.", - "Progress when viewing an item \\[0-100\\]." - ], - "enum": [ - "EVENT_DATA_TYPE_UNSPECIFIED", - "ACTION", - "AGENCY_ID", - "AGENCY_NAME", - "AGENCY_PHONE_NUMBER", - "AGENCY_WEBSITE", - "BUDGET", - "CENTER_POINT", - "CERTIFICATION", - "COMMENT", - "COUNTRY", - "CURRENCY", - "CURRENTLY_VIEWED_AGENCY_ID", - "DISTANCE", - "DISTANCE_TYPE", - "EXAM", - "HISTORY_TOKEN", - "ID", - "INDUSTRY", - "INSIGHT_TAG", - "LANGUAGE", - "LOCATION", - "MARKETING_OPT_IN", - "QUERY", - "SEARCH_START_INDEX", - "SERVICE", - "SHOW_VOW", - "SOLUTION", - "TRAFFIC_SOURCE_ID", - "TRAFFIC_SUB_ID", - "VIEW_PORT", - "WEBSITE", - "DETAILS", - "EXPERIMENT_ID", - "GPS_MOTIVATION", - "URL", - "ELEMENT_FOCUS", - "PROGRESS" - ], - "description": "Data type.", - "type": "string" - }, - "values": { - "description": "Data values.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "id": "EventData" - }, - "ExamStatus": { - "description": "A user's information on a specific exam.", - "type": "object", - "properties": { - "examType": { - "description": "The type of the 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." - ], - "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": { - "noOfferReason": { - "enumDescriptions": [ - "Unset.", - "Not an MCC.", - "Offer limit has been reached.", - "Ineligible for offers." - ], - "enum": [ - "NO_OFFER_REASON_UNSPECIFIED", - "NO_OFFER_REASON_NO_MCC", - "NO_OFFER_REASON_LIMIT_REACHED", - "NO_OFFER_REASON_INELIGIBLE" - ], - "description": "Reason why no Offers are available.", - "type": "string" - }, - "availableOffers": { - "description": "Available Offers to be distributed.", - "type": "array", - "items": { - "$ref": "AvailableOffer" - } - }, - "responseMetadata": { - "$ref": "ResponseMetadata", - "description": "Current response metadata." - } - }, - "id": "ListOffersResponse" - }, - "CountryOfferInfo": { - "description": "Offer info by country.", - "type": "object", - "properties": { - "getYAmount": { - "description": "(localized) Get Y 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", - "OFFER_TYPE_VIDEO", - "OFFER_TYPE_SPEND_MATCH" - ], - "description": "Type of offer country is eligible for.", - "type": "string" - } - }, - "id": "CountryOfferInfo" - }, - "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." - } - }, - "id": "ListCompaniesResponse" - }, - "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", - "type": "integer" - }, - "offerType": { - "description": "Type of the offer", - "type": "string", - "enumDescriptions": [ - "Unset.", - "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" - ] - }, - "externalCid": { - "description": "External CID for the customer.", - "format": "int64", - "type": "string" - }, - "countryCode": { - "description": "Country code of the customer.", - "type": "string" - }, - "getYAmount": { - "description": "Formatted Get Y amount with currency code.", - "type": "string" - }, - "name": { - "description": "Name of the customer.", - "type": "string" - } - }, - "id": "OfferCustomer" - }, - "CertificationStatus": { - "description": "Google Partners certification status.", - "type": "object", - "properties": { - "type": { - "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 the certification.", - "type": "string" - }, - "userCount": { - "description": "Number of people who are certified,", - "format": "int32", - "type": "integer" - }, - "isCertified": { - "description": "Whether certification is passing.", - "type": "boolean" - }, - "examStatuses": { - "description": "List of certification exam statuses.", - "type": "array", - "items": { - "$ref": "CertificationExamStatus" - } - } - }, - "id": "CertificationStatus" - }, - "LocalizedCompanyInfo": { - "description": "The localized company information.", - "type": "object", - "properties": { - "languageCode": { - "description": "Language code of the localized company info, 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" - }, - "countryCodes": { - "description": "List of country codes for the localized company info.", - "type": "array", - "items": { - "type": "string" - } - }, - "overview": { - "description": "Localized brief description that the company uses to advertise themselves.", - "type": "string" - }, - "displayName": { - "description": "Localized display name.", - "type": "string" - } - }, - "id": "LocalizedCompanyInfo" - }, - "LogUserEventResponse": { - "description": "Response message for\nLogUserEvent.", - "type": "object", - "properties": { - "responseMetadata": { - "$ref": "ResponseMetadata", - "description": "Current response metadata." - } - }, - "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", - "type": "integer" - }, - "showingEntireCompany": { - "description": "True if this response is showing entire company history.", - "type": "boolean" - }, - "offers": { - "description": "Historical offers meeting request.", - "type": "array", - "items": { - "$ref": "HistoricalOffer" - } - }, - "nextPageToken": { - "description": "Supply this token in a ListOffersHistoryRequest to retrieve the next page.", - "type": "string" - }, - "responseMetadata": { - "description": "Current response metadata.", - "$ref": "ResponseMetadata" - } - }, - "id": "ListOffersHistoryResponse" - }, - "LogMessageResponse": { - "description": "Response message for\nLogClientMessage.", - "type": "object", - "properties": { - "responseMetadata": { - "description": "Current response metadata.", - "$ref": "ResponseMetadata" - } - }, - "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", - "Specialization not passed", - "Specialization in grace" - ], - "enum": [ - "BADGE_SPECIALIZATION_STATE_UNKNOWN", - "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." - ], - "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" - } - }, - "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.", - "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" - ] - } - }, - "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" } }, - "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" } 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 fc06f7d..9069841 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 770f4b3..b3a399e 100644 --- a/vendor/google.golang.org/api/people/v1/people-api.json +++ b/vendor/google.golang.org/api/people/v1/people-api.json @@ -1,156 +1,603 @@ { - "revision": "20170704", - "documentationLink": "https://developers.google.com/people/", - "id": "people:v1", - "discoveryVersion": "v1", - "version_module": "True", - "schemas": { - "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" + "canonicalName": "People Service", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/user.birthday.read": { + "description": "View your complete date of birth" }, - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the cover photo." + "https://www.googleapis.com/auth/contacts.readonly": { + "description": "View your contacts" }, - "url": { - "description": "The URL of the cover photo.", - "type": "string" + "https://www.googleapis.com/auth/plus.login": { + "description": "Know the list of people in your circles, your age range, and language" + }, + "https://www.googleapis.com/auth/userinfo.profile": { + "description": "View your basic profile info" + }, + "https://www.googleapis.com/auth/user.emails.read": { + "description": "View your email addresses" + }, + "https://www.googleapis.com/auth/contacts": { + "description": "Manage your contacts" + }, + "https://www.googleapis.com/auth/user.addresses.read": { + "description": "View your street addresses" + }, + "https://www.googleapis.com/auth/user.phonenumbers.read": { + "description": "View your phone numbers" + }, + "https://www.googleapis.com/auth/userinfo.email": { + "description": "View your email address" + } + } + } + }, + "rootUrl": "https://people.googleapis.com/", + "ownerDomain": "google.com", + "name": "people", + "batchPath": "batch", + "title": "Google People API", + "ownerName": "Google", + "resources": { + "people": { + "methods": { + "getBatchGet": { + "flatPath": "v1/people:batchGet", + "id": "people.people.getBatchGet", + "path": "v1/people:batchGet", + "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", + "response": { + "$ref": "GetPeopleResponse" + }, + "parameterOrder": [], + "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": { + "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" + }, + "resourceNames": { + "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", + "repeated": true, + "location": "query" + } + }, + "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" + ] + }, + "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.", + "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" + }, + "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.", + "httpMethod": "PATCH", + "parameterOrder": [ + "resourceName" + ], + "response": { + "$ref": "Person" + }, + "parameters": { + "updatePersonFields": { + "location": "query", + "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" + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/contacts" + ], + "flatPath": "v1/people/{peopleId}:updateContact", + "id": "people.people.updateContact", + "path": "v1/{+resourceName}:updateContact" + }, + "createContact": { + "description": "Create a new contact and return the person resource for that contact.", + "request": { + "$ref": "Person" + }, + "response": { + "$ref": "Person" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/contacts" + ], + "parameters": { + "parent": { + "description": "The resource name of the owning person resource.", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1/people:createContact", + "path": "v1/people:createContact", + "id": "people.people.createContact" + }, + "deleteContact": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "resourceName" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/contacts" + ], + "parameters": { + "resourceName": { + "location": "path", + "description": "The resource name of the contact to delete.", + "required": true, + "type": "string", + "pattern": "^people/[^/]+$" + } + }, + "flatPath": "v1/people/{peopleId}:deleteContact", + "path": "v1/{+resourceName}:deleteContact", + "id": "people.people.deleteContact", + "description": "Delete a contact person. Any non-contact data will not be deleted." } }, - "id": "CoverPhoto" - }, - "Interest": { - "description": "One of the person's interests.", - "type": "object", - "properties": { - "metadata": { - "description": "Metadata about the interest.", - "$ref": "FieldMetadata" - }, - "value": { - "description": "The interest; for example, `stargazing`.", - "type": "string" - } - }, - "id": "Interest" - }, - "Nickname": { - "id": "Nickname", - "description": "A person's nickname.", - "type": "object", - "properties": { - "type": { - "type": "string", - "enumDescriptions": [ - "Generic nickname.", - "Maiden name or birth family name. Used when the person's family name has\nchanged as a result of marriage.", - "Initials.", - "Google+ profile nickname.", - "A professional affiliation or other name; for example, `Dr. Smith.`" - ], - "enum": [ - "DEFAULT", - "MAIDEN_NAME", - "INITIALS", - "GPLUS", - "OTHER_NAME" - ], - "description": "The type of the nickname." - }, - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the nickname." - }, - "value": { - "description": "The nickname.", - "type": "string" + "resources": { + "connections": { + "methods": { + "list": { + "flatPath": "v1/people/{peopleId}/connections", + "path": "v1/{+resourceName}/connections", + "id": "people.people.connections.list", + "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", + "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" + }, + "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.", + "required": true, + "type": "string", + "pattern": "^people/[^/]+$", + "location": "path" + }, + "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" + } + } + } + } } } }, - "EmailAddress": { - "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" + "contactGroups": { + "methods": { + "update": { + "flatPath": "v1/contactGroups/{contactGroupsId}", + "path": "v1/{+resourceName}", + "id": "people.contactGroups.update", + "request": { + "$ref": "UpdateContactGroupRequest" + }, + "description": "Update the name of an existing contact group owned by the authenticated\nuser.", + "response": { + "$ref": "ContactGroup" + }, + "parameterOrder": [ + "resourceName" + ], + "httpMethod": "PUT", + "parameters": { + "resourceName": { + "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", + "pattern": "^contactGroups/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/contacts" + ] }, - "displayName": { - "description": "The display name of the email.", - "type": "string" + "delete": { + "description": "Delete an existing contact group owned by the authenticated user by\nspecifying a contact group resource name.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "resourceName" + ], + "httpMethod": "DELETE", + "parameters": { + "deleteContacts": { + "location": "query", + "description": "Set to true to also delete the contacts in the specified group.", + "type": "boolean" + }, + "resourceName": { + "description": "The resource name of the contact group to delete.", + "required": true, + "type": "string", + "pattern": "^contactGroups/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/contacts" + ], + "flatPath": "v1/contactGroups/{contactGroupsId}", + "path": "v1/{+resourceName}", + "id": "people.contactGroups.delete" }, - "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`" + "batchGet": { + "description": "Get a list of contact groups owned by the authenticated user by specifying\na list of contact group resource names.", + "response": { + "$ref": "BatchGetContactGroupsResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/contacts", + "https://www.googleapis.com/auth/contacts.readonly" + ], + "parameters": { + "maxMembers": { + "location": "query", + "description": "Specifies the maximum number of members to return for each group.", + "format": "int32", + "type": "integer" + }, + "resourceNames": { + "description": "The resource names of the contact groups to get.", + "type": "string", + "repeated": true, + "location": "query" + } + }, + "flatPath": "v1/contactGroups:batchGet", + "path": "v1/contactGroups:batchGet", + "id": "people.contactGroups.batchGet" }, - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the email address." + "list": { + "description": "List all contact groups owned by the authenticated user. Members of the\ncontact groups are not populated.", + "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": { + "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" + }, + "pageSize": { + "location": "query", + "description": "The maximum number of resources to return.", + "format": "int32", + "type": "integer" + } + }, + "flatPath": "v1/contactGroups", + "path": "v1/contactGroups", + "id": "people.contactGroups.list" }, - "value": { - "description": "The email address.", - "type": "string" + "create": { + "response": { + "$ref": "ContactGroup" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/contacts" + ], + "parameters": {}, + "flatPath": "v1/contactGroups", + "path": "v1/contactGroups", + "id": "people.contactGroups.create", + "description": "Create a new contact group owned by the authenticated user.", + "request": { + "$ref": "CreateContactGroupRequest" + } + }, + "get": { + "description": "Get a specific contact group owned by the authenticated user by specifying\na contact group resource name.", + "response": { + "$ref": "ContactGroup" + }, + "parameterOrder": [ + "resourceName" + ], + "httpMethod": "GET", + "parameters": { + "maxMembers": { + "description": "Specifies the maximum number of members to return.", + "format": "int32", + "type": "integer", + "location": "query" + }, + "resourceName": { + "pattern": "^contactGroups/[^/]+$", + "location": "path", + "description": "The resource name of the contact group to get.", + "required": true, + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/contacts", + "https://www.googleapis.com/auth/contacts.readonly" + ], + "flatPath": "v1/contactGroups/{contactGroupsId}", + "path": "v1/{+resourceName}", + "id": "people.contactGroups.get" } }, - "id": "EmailAddress", - "description": "A person's email address." - }, - "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." + "resources": { + "members": { + "methods": { + "modify": { + "description": "Modify the members of a contact group owned by the authenticated user.", + "request": { + "$ref": "ModifyContactGroupMembersRequest" + }, + "response": { + "$ref": "ModifyContactGroupMembersResponse" + }, + "parameterOrder": [ + "resourceName" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/contacts" + ], + "parameters": { + "resourceName": { + "pattern": "^contactGroups/[^/]+$", + "location": "path", + "description": "The resource name of the contact group to modify.", + "required": true, + "type": "string" + } + }, + "flatPath": "v1/contactGroups/{contactGroupsId}/members:modify", + "path": "v1/{+resourceName}/members:modify", + "id": "people.contactGroups.members.modify" + } + } } - }, - "id": "Skill" + } + } + }, + "parameters": { + "$.xgafv": { + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" }, - "Date": { - "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" - } - }, - "id": "Date", - "description": "Represents a whole calendar date, for example a date of birth. The time\nof day and time zone are either specified elsewhere or are not\nsignificant. The date is relative to the\n[Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar).\nThe day may be 0 to represent a year and month where the day is not\nsignificant. The year may be 0 to represent a month and day independent\nof year; for example, anniversary date." + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" }, - "Tagline": { - "type": "object", - "properties": { - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the tagline." - }, - "value": { - "description": "The tagline.", - "type": "string" - } - }, - "id": "Tagline", - "description": "A read-only brief one-line description of the person." + "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" + }, + "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" + }, + "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" + } + }, + "version": "v1", + "baseUrl": "https://people.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Provides access to information about profiles and contacts.", + "servicePath": "", + "basePath": "", + "revision": "20170828", + "documentationLink": "https://developers.google.com/people/", + "id": "people:v1", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { "Name": { "description": "A person's name. If the name is a mononym, the family name is empty.", "type": "object", @@ -187,24 +634,24 @@ "description": "The family name.", "type": "string" }, - "phoneticMiddleName": { - "description": "The middle name(s) spelled as they sound.", - "type": "string" - }, "metadata": { "$ref": "FieldMetadata", "description": "Metadata about the name." }, + "phoneticMiddleName": { + "description": "The middle name(s) spelled as they sound.", + "type": "string" + }, "phoneticFullName": { "description": "The full name spelled as it sounds.", "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": { @@ -219,8 +666,8 @@ "type": "object", "properties": { "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the locale." + "description": "Metadata about the locale.", + "$ref": "FieldMetadata" }, "value": { "description": "The well-formed [IETF BCP 47](https://tools.ietf.org/html/bcp47)\nlanguage tag representing the locale.", @@ -230,41 +677,43 @@ "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" }, "Biography": { "description": "A person's short biography.", "type": "object", "properties": { + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the biography." + }, "value": { "description": "The short biography.", "type": "string" }, "contentType": { - "enumDescriptions": [ - "Unspecified.", - "Plain text.", - "HTML text." - ], "enum": [ "CONTENT_TYPE_UNSPECIFIED", "TEXT_PLAIN", "TEXT_HTML" ], "description": "The content type of the biography.", - "type": "string" - }, - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the biography." + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "Plain text.", + "HTML text." + ] } }, "id": "Biography" }, "FieldMetadata": { + "description": "Metadata about a field.", + "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.", @@ -279,34 +728,23 @@ "$ref": "Source" } }, - "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" + "id": "FieldMetadata" }, "Source": { - "description": "The source of a field.", - "type": "object", "properties": { + "updateTime": { + "description": "**Only populated in `person.metadata.sources`.**\n\nLast update timestamp of this source.", + "format": "google-datetime", + "type": "string" + }, "type": { + "enum": [ + "SOURCE_TYPE_UNSPECIFIED", + "ACCOUNT", + "PROFILE", + "DOMAIN_PROFILE", + "CONTACT" + ], "description": "The source type.", "type": "string", "enumDescriptions": [ @@ -315,67 +753,86 @@ "[Google profile](https://profiles.google.com). You can view the\nprofile at https://profiles.google.com/\u003cvar\u003eid\u003c/var\u003e where\n\u003cvar\u003eid\u003c/var\u003e is the source id.", "[Google Apps domain profile](https://admin.google.com).", "[Google contact](https://contacts.google.com). You can view the\ncontact at https://contact.google.com/\u003cvar\u003eid\u003c/var\u003e where \u003cvar\u003eid\u003c/var\u003e\nis the source id." - ], - "enum": [ - "SOURCE_TYPE_UNSPECIFIED", - "ACCOUNT", - "PROFILE", - "DOMAIN_PROFILE", - "CONTACT" ] }, "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.", + "description": "**Only populated in `person.metadata.sources`.**\n\nMetadata about a source of type PROFILE.", "$ref": "ProfileMetadata" + } + }, + "id": "Source", + "description": "The source of a field.", + "type": "object" + }, + "RelationshipInterest": { + "description": "A person's read-only relationship interest .", + "type": "object", + "properties": { + "metadata": { + "description": "Metadata about the relationship interest.", + "$ref": "FieldMetadata" }, - "updateTime": { - "format": "google-datetime", - "description": "Last update timestamp of this source.", + "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" + }, + "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" } }, - "id": "Source" + "id": "RelationshipInterest" }, "GetPeopleResponse": { - "type": "object", "properties": { "responses": { "description": "The response for each requested resource name.", + "type": "array", "items": { "$ref": "PersonResponse" - }, - "type": "array" + } } }, - "id": "GetPeopleResponse" + "id": "GetPeopleResponse", + "type": "object" }, "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." }, "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,21 +840,11 @@ "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" + "id": "PhoneNumber", + "description": "A person's phone number.", + "type": "object" }, "ListConnectionsResponse": { "type": "object", @@ -406,25 +853,25 @@ "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" + "totalItems": { + "description": "The total number of items in the list without pagination.", + "format": "int32", + "type": "integer" }, "totalPeople": { - "format": "int32", "description": "**DEPRECATED** (Please use totalItems)\nThe total number of people in the list without pagination.", + "format": "int32", "type": "integer" } }, @@ -434,14 +881,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": { + "description": "A free-form string representing the user's birthday.", + "type": "string" + }, "date": { "$ref": "Date", "description": "The date of the birthday." @@ -450,18 +897,26 @@ "id": "Birthday" }, "CreateContactGroupRequest": { - "description": "A request to create a new contact group.", - "type": "object", "properties": { "contactGroup": { "$ref": "ContactGroup", "description": "The contact group to create." } }, - "id": "CreateContactGroupRequest" + "id": "CreateContactGroupRequest", + "description": "A request to create a new contact group.", + "type": "object" }, "Address": { "properties": { + "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" + }, + "country": { + "description": "The country of the address.", + "type": "string" + }, "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" @@ -501,20 +956,39 @@ "city": { "description": "The city of the address.", "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" - }, - "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" }, + "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": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + } + } + }, + "id": "Status" + }, "ContactGroupMembership": { "properties": { "contactGroupId": { @@ -526,75 +1000,48 @@ "description": "A Google contact group membership.", "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": { - "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." - }, - "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": { - "type": "integer", - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code." - } - }, - "id": "Status" - }, "PersonMetadata": { "description": "The read-only metadata about a person.", "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": { - "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/)" + ], + "enum": [ + "OBJECT_TYPE_UNSPECIFIED", + "PERSON", + "PAGE" ] + }, + "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" @@ -603,19 +1050,19 @@ "description": "A request to modify an existing contact group's members.", "type": "object", "properties": { - "resourceNamesToRemove": { - "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" + } + }, + "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" + } } }, "id": "ModifyContactGroupMembersRequest" @@ -633,22 +1080,24 @@ "description": "The contact group." }, "status": { - "$ref": "Status", - "description": "The status of the response." + "description": "The status of the response.", + "$ref": "Status" } }, "id": "ContactGroupResponse" }, "Url": { + "description": "A person's associated URLs.", + "type": "object", "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" }, + "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" @@ -658,9 +1107,7 @@ "type": "string" } }, - "id": "Url", - "description": "A person's associated URLs.", - "type": "object" + "id": "Url" }, "ImClient": { "description": "A person's instant messaging client.", @@ -705,23 +1152,23 @@ "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." }, + "domainMembership": { + "$ref": "DomainMembership", + "description": "The domain membership." + }, "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the membership." + "description": "Metadata about the membership.", + "$ref": "FieldMetadata" } - } + }, + "id": "Membership" }, "BatchGetContactGroupsResponse": { "description": "The response to a batch get contact groups request.", @@ -729,53 +1176,80 @@ "properties": { "responses": { "description": "The list of responses for each requested contact group resource.", + "type": "array", "items": { "$ref": "ContactGroupResponse" - }, - "type": "array" + } } }, "id": "BatchGetContactGroupsResponse" }, "RelationshipStatus": { + "description": "A person's read-only relationship status.", + "type": "object", "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" + "$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`" + "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`", + "type": "string" } }, - "id": "RelationshipStatus", - "description": "A person's read-only relationship status.", - "type": "object" + "id": "RelationshipStatus" }, "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" + }, + "value": { + "description": "The bragging rights; for example, `climbed mount everest`.", + "type": "string" } - } + }, + "id": "BraggingRights" }, "Organization": { - "id": "Organization", "description": "A person's past or current organization. Overlapping date ranges are\npermitted.", "type": "object", "properties": { + "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" + }, + "startDate": { + "description": "The start date when the person joined the organization.", + "$ref": "Date" + }, + "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" + }, + "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": { + "description": "The person's job description at the organization.", + "type": "string" + }, "endDate": { "$ref": "Date", "description": "The end date when the person left the organization." @@ -792,54 +1266,30 @@ "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" }, + "location": { + "description": "The location of the organization office the person works at.", + "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." } - } + }, + "id": "Organization" }, "AgeRangeType": { + "description": "A person's age range.", "type": "object", "properties": { + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the age range." + }, "ageRange": { - "description": "The age range.", - "type": "string", "enumDescriptions": [ "Unspecified.", "Younger than eighteen.", @@ -851,45 +1301,41 @@ "LESS_THAN_EIGHTEEN", "EIGHTEEN_TO_TWENTY", "TWENTY_ONE_OR_OLDER" - ] - }, - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the age range." + ], + "description": "The age range.", + "type": "string" } }, - "id": "AgeRangeType", - "description": "A person's age range." + "id": "AgeRangeType" }, "ListContactGroupsResponse": { - "type": "object", "properties": { + "contactGroups": { + "description": "The list of contact groups. Members of the contact groups are not\npopulated.", + "type": "array", + "items": { + "$ref": "ContactGroup" + } + }, "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" - }, - "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." + "description": "The response to a list contact groups request.", + "type": "object" }, "PersonResponse": { - "type": "object", "properties": { "person": { "$ref": "Person", @@ -900,37 +1346,38 @@ "$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).", + "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." + "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.", + "type": "string" } }, "id": "PersonResponse", - "description": "The response for a single person" + "description": "The response for a single person", + "type": "object" }, "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.", + "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" }, - "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`", + "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" - }, - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the relation." } }, "id": "Relation" @@ -939,13 +1386,13 @@ "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`." + "description": "The occupation; for example, `carpenter`.", + "type": "string" + }, + "metadata": { + "description": "Metadata about the occupation.", + "$ref": "FieldMetadata" } }, "id": "Occupation" @@ -954,7 +1401,17 @@ "description": "A contact group.", "type": "object", "properties": { + "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": { + "description": "The read-only contact group type.", + "type": "string", "enumDescriptions": [ "Unspecified.", "User defined contact group.", @@ -964,189 +1421,46 @@ "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" + "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": { "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" + "$ref": "ContactGroupMetadata", + "description": "Metadata about the contact group." }, "memberCount": { - "format": "int32", "description": "The total number of contacts in the group irrespective of max members in\nspecified in the request.", + "format": "int32", "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`.", + "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": { - "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": { + "enumDescriptions": [ + "Unspecified.", + "Younger than eighteen.", + "Between eighteen and twenty.", + "Twenty-one and older." + ], "enum": [ "AGE_RANGE_UNSPECIFIED", "LESS_THAN_EIGHTEEN", @@ -1154,91 +1468,224 @@ "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." - ] + "type": "string" }, "taglines": { "description": "The person's read-only taglines.", + "type": "array", "items": { "$ref": "Tagline" - }, - "type": "array" + } }, "ageRanges": { + "description": "The person's read-only age ranges.", + "type": "array", "items": { "$ref": "AgeRangeType" - }, - "type": "array", - "description": "The person's read-only age ranges." + } }, "addresses": { "description": "The person's street addresses.", + "type": "array", "items": { "$ref": "Address" - }, - "type": "array" + } }, "events": { + "description": "The person's events.", + "type": "array", "items": { "$ref": "Event" - }, - "type": "array", - "description": "The person's events." + } }, "memberships": { "description": "The person's read-only group memberships.", + "type": "array", "items": { "$ref": "Membership" - }, - "type": "array" + } }, "phoneNumbers": { "description": "The person's phone numbers.", + "type": "array", "items": { "$ref": "PhoneNumber" - }, - "type": "array" + } }, "coverPhotos": { "description": "The person's read-only cover photos.", + "type": "array", "items": { "$ref": "CoverPhoto" - }, - "type": "array" + } }, "imClients": { "description": "The person's instant messaging clients.", + "type": "array", "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." + } + }, + "birthdays": { + "description": "The person's birthdays.", + "type": "array", + "items": { + "$ref": "Birthday" + } + }, + "locales": { + "description": "The person's locale preferences.", + "type": "array", + "items": { + "$ref": "Locale" + } + }, + "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" + } + }, + "genders": { + "description": "The person's genders.", + "type": "array", + "items": { + "$ref": "Gender" + } + }, + "interests": { + "description": "The person's interests.", + "type": "array", + "items": { + "$ref": "Interest" + } + }, + "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\n`people/`\u003cvar\u003eperson_id\u003c/var\u003e.", + "type": "string" + }, + "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" + } } }, - "id": "UpdateContactGroupRequest" + "id": "Person" + }, + "UpdateContactGroupRequest": { + "properties": { + "contactGroup": { + "description": "The contact group to update.", + "$ref": "ContactGroup" + } + }, + "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": { - "type": "string", + "description": "The time the group was last updated.", "format": "google-datetime", - "description": "The time the group was last updated." + "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.", @@ -1251,14 +1698,14 @@ "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." }, + "current": { + "description": "True if the residence is the person's current residence;\nfalse if the residence is a past residence.", + "type": "boolean" + }, "value": { "description": "The address of the residence.", "type": "string" @@ -1267,70 +1714,86 @@ "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" + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the event." }, "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." + "description": "The date of the event.", + "$ref": "Date" + }, + "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" }, "ModifyContactGroupMembersResponse": { - "id": "ModifyContactGroupMembersResponse", "description": "The response to a modify contact group members request.", "type": "object", "properties": { "notFoundResourceNames": { + "description": "The contact people resource names that were not found.", + "type": "array", "items": { "type": "string" - }, - "type": "array", - "description": "The contact people resource names that were not found." + } } - } + }, + "id": "ModifyContactGroupMembersResponse" }, "ProfileMetadata": { - "description": "The read-only metadata about a profile.", - "type": "object", "properties": { + "userTypes": { + "description": "The user types.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "USER_TYPE_UNKNOWN", + "GOOGLE_USER", + "GPLUS_USER", + "GOOGLE_APPS_USER" + ] + }, + "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." + ] + }, "objectType": { + "enumDescriptions": [ + "Unspecified.", + "Person.", + "[Google+ Page.](http://www.google.com/+/brands/)" + ], "enum": [ "OBJECT_TYPE_UNSPECIFIED", "PERSON", "PAGE" ], "description": "The profile object type.", - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "Person.", - "[Google+ Page.](http://www.google.com/+/brands/)" - ] + "type": "string" } }, - "id": "ProfileMetadata" + "id": "ProfileMetadata", + "description": "The read-only metadata about a profile.", + "type": "object" }, "Gender": { + "description": "A person's 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" @@ -1338,608 +1801,164 @@ "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": { + "description": "Metadata about the gender.", + "$ref": "FieldMetadata" } }, - "id": "Gender", - "description": "A person's gender." - } - }, - "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": { - "scopes": { - "https://www.googleapis.com/auth/plus.login": { - "description": "Know the list of people in your circles, your age range, and language" - }, - "https://www.googleapis.com/auth/userinfo.profile": { - "description": "View your basic profile info" - }, - "https://www.googleapis.com/auth/user.emails.read": { - "description": "View your email addresses" - }, - "https://www.googleapis.com/auth/contacts": { - "description": "Manage your contacts" - }, - "https://www.googleapis.com/auth/user.addresses.read": { - "description": "View your street addresses" - }, - "https://www.googleapis.com/auth/user.phonenumbers.read": { - "description": "View your phone numbers" - }, - "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" - } - } - } - }, - "rootUrl": "https://people.googleapis.com/", - "ownerDomain": "google.com", - "name": "people", - "batchPath": "batch", - "title": "Google People API", - "ownerName": "Google", - "resources": { - "contactGroups": { - "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.", - "httpMethod": "GET", - "parameterOrder": [], - "response": { - "$ref": "BatchGetContactGroupsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/contacts", - "https://www.googleapis.com/auth/contacts.readonly" - ], - "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" - } - }, - "flatPath": "v1/contactGroups:batchGet" - }, - "delete": { - "description": "Delete an existing contact group owned by the authenticated user by\nspecifying a contact group resource name.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "resourceName" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/contacts" - ], - "parameters": { - "resourceName": { - "location": "path", - "description": "The resource name of the contact group to delete.", - "type": "string", - "required": true, - "pattern": "^contactGroups/[^/]+$" - }, - "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": { - "httpMethod": "GET", - "parameterOrder": [], - "response": { - "$ref": "ListContactGroupsResponse" - }, - "parameters": { - "pageSize": { - "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.", - "type": "string", - "location": "query" - }, - "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" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/contacts", - "https://www.googleapis.com/auth/contacts.readonly" - ], - "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": { - "request": { - "$ref": "CreateContactGroupRequest" - }, - "description": "Create a new contact group owned by the authenticated user.", - "response": { - "$ref": "ContactGroup" - }, - "parameterOrder": [], - "httpMethod": "POST", - "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" - } - } - }, - "resources": { - "members": { - "methods": { - "modify": { - "request": { - "$ref": "ModifyContactGroupMembersRequest" - }, - "description": "Modify the members of a contact group owned by the authenticated user.", - "response": { - "$ref": "ModifyContactGroupMembersResponse" - }, - "parameterOrder": [ - "resourceName" - ], - "httpMethod": "POST", - "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" - } - } - } - } + "id": "Gender" }, - "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" + "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": { + "metadata": { + "description": "Metadata about the cover photo.", + "$ref": "FieldMetadata" }, - "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." + "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" }, - "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`." - } - } + "url": { + "description": "The URL of the cover photo.", + "type": "string" + } + }, + "id": "CoverPhoto" + }, + "Interest": { + "properties": { + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the interest." }, - "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" + "value": { + "description": "The interest; for example, `stargazing`.", + "type": "string" + } + }, + "id": "Interest", + "description": "One of the person's interests.", + "type": "object" + }, + "EmailAddress": { + "description": "A person's email address.", + "type": "object", + "properties": { + "displayName": { + "description": "The display name of the email.", + "type": "string" }, - "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" + "metadata": { + "description": "Metadata about the email address.", + "$ref": "FieldMetadata" + }, + "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" + }, + "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" + }, + "Nickname": { + "description": "A person's nickname.", + "type": "object", + "properties": { + "value": { + "description": "The nickname.", + "type": "string" + }, + "metadata": { + "description": "Metadata about the nickname.", + "$ref": "FieldMetadata" + }, + "type": { + "description": "The type of the nickname.", + "type": "string", + "enumDescriptions": [ + "Generic nickname.", + "Maiden name or birth family name. Used when the person's family name has\nchanged as a result of marriage.", + "Initials.", + "Google+ profile nickname.", + "A professional affiliation or other name; for example, `Dr. Smith.`" ], - "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" + "enum": [ + "DEFAULT", + "MAIDEN_NAME", + "INITIALS", + "GPLUS", + "OTHER_NAME" ] } }, - "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" - ] - } - } + "id": "Nickname" + }, + "Skill": { + "description": "A skill that the person has.", + "type": "object", + "properties": { + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the skill." + }, + "value": { + "description": "The skill; for example, `underwater basket weaving`.", + "type": "string" } - } + }, + "id": "Skill" + }, + "Date": { + "description": "Represents a whole calendar date, for example a date of birth. The time\nof day and time zone are either specified elsewhere or are not\nsignificant. The date is relative to the\n[Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar).\nThe day may be 0 to represent a year and month where the day is not\nsignificant. The year may be 0 to represent a month and day independent\nof year; for example, anniversary date.", + "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": "Date" + }, + "Tagline": { + "description": "A read-only brief one-line description of the person.", + "type": "object", + "properties": { + "metadata": { + "description": "Metadata about the tagline.", + "$ref": "FieldMetadata" + }, + "value": { + "description": "The tagline.", + "type": "string" + } + }, + "id": "Tagline" } }, - "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": { - "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": { - "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": { - "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" - } - }, - "version": "v1", - "baseUrl": "https://people.googleapis.com/", - "kind": "discovery#restDescription", - "description": "Provides access to information about profiles and contacts.", - "servicePath": "", - "basePath": "" + "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/people/v1/people-gen.go b/vendor/google.golang.org/api/people/v1/people-gen.go index 2883a94..47ff5bd 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. @@ -1844,7 +1844,7 @@ type Photo struct { // 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` @@ -1883,6 +1883,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 +2139,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 +2175,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 +2287,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 @@ -3295,7 +3309,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 +3912,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 +4009,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 +4137,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 +4322,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/playmoviespartner/v1/playmoviespartner-api.json b/vendor/google.golang.org/api/playmoviespartner/v1/playmoviespartner-api.json index 450eba7..1152280 100644 --- a/vendor/google.golang.org/api/playmoviespartner/v1/playmoviespartner-api.json +++ b/vendor/google.golang.org/api/playmoviespartner/v1/playmoviespartner-api.json @@ -1,9 +1,4 @@ { - "batchPath": "batch", - "revision": "20170627", - "documentationLink": "https://developers.google.com/playmoviespartner/", - "id": "playmoviespartner:v1", - "title": "Google Play Movies Partner API", "ownerName": "Google", "discoveryVersion": "v1", "resources": { @@ -12,24 +7,16 @@ "orders": { "methods": { "list": { - "httpMethod": "GET", "response": { "$ref": "ListOrdersResponse" }, "parameterOrder": [ "accountId" ], - "scopes": [ - "https://www.googleapis.com/auth/playmovies_partner.readonly" - ], + "httpMethod": "GET", "parameters": { - "pphNames": { - "description": "See _List methods rules_ for info about this field.", - "type": "string", - "repeated": true, - "location": "query" - }, "status": { + "description": "Filter Orders that match one of the given status.", "type": "string", "repeated": true, "location": "query", @@ -40,8 +27,7 @@ "STATUS_PROCESSING", "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.", @@ -49,10 +35,10 @@ "location": "query" }, "studioNames": { - "location": "query", "description": "See _List methods rules_ for info about this field.", "type": "string", - "repeated": true + "repeated": true, + "location": "query" }, "accountId": { "location": "path", @@ -60,46 +46,53 @@ "type": "string", "required": true }, - "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.", "type": "string", "repeated": true, "location": "query" }, - "pageToken": { + "customId": { + "description": "Filter Orders that match a case-insensitive, partner-specific custom id.", "type": "string", + "location": "query" + }, + "pageToken": { "location": "query", - "description": "See _List methods rules_ for info about this field." + "description": "See _List methods rules_ for info about this field.", + "type": "string" }, "pageSize": { - "location": "query", "format": "int32", "description": "See _List methods rules_ for info about this field.", - "type": "integer" + "type": "integer", + "location": "query" + }, + "pphNames": { + "description": "See _List methods rules_ for info about this field.", + "type": "string", + "repeated": true, + "location": "query" } }, + "scopes": [ + "https://www.googleapis.com/auth/playmovies_partner.readonly" + ], "flatPath": "v1/accounts/{accountId}/orders", - "path": "v1/accounts/{accountId}/orders", "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." }, "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.", + "httpMethod": "GET", "response": { "$ref": "Order" }, - "httpMethod": "GET", "parameterOrder": [ "accountId", "orderId" ], - "scopes": [ - "https://www.googleapis.com/auth/playmovies_partner.readonly" - ], "parameters": { "orderId": { "description": "REQUIRED. Order ID.", @@ -108,64 +101,39 @@ "location": "path" }, "accountId": { - "location": "path", - "description": "REQUIRED. See _General rules_ for more information about this field.", "type": "string", - "required": true + "required": true, + "location": "path", + "description": "REQUIRED. See _General rules_ for more information about this field." } }, + "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}", - "description": "Get an Order given its id.\n\nSee _Authentication and Authorization rules_ and\n_Get methods rules_ for more information about this method." + "id": "playmoviespartner.accounts.orders.get" } } }, "avails": { "methods": { "list": { + "response": { + "$ref": "ListAvailsResponse" + }, + "parameterOrder": [ + "accountId" + ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/playmovies_partner.readonly" ], "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.", - "type": "string" - }, - "videoIds": { - "description": "Filter Avails that match any of the given `video_id`s.", - "type": "string", - "repeated": true, - "location": "query" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "See _List methods rules_ for info about this field.", - "type": "integer" - }, - "altIds": { - "repeated": true, - "location": "query", - "description": "Filter Avails that match (case-insensitive) any of the given partner-specific custom ids.", - "type": "string" - }, - "pphNames": { - "type": "string", - "repeated": true, - "location": "query", - "description": "See _List methods rules_ for info about this field." - }, "altId": { - "location": "query", "description": "Filter Avails that match a case-insensitive, partner-specific custom id.\nNOTE: this field is deprecated and will be removed on V2; `alt_ids`\nshould be used instead.", - "type": "string" + "type": "string", + "location": "query" }, "studioNames": { "location": "query", @@ -184,24 +152,48 @@ "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 + }, + "title": { + "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.", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "See _List methods rules_ for info about this field.", + "type": "string" + }, + "videoIds": { + "repeated": true, + "location": "query", + "description": "Filter Avails that match any of the given `video_id`s.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "See _List methods rules_ for info about this field.", + "type": "integer" + }, + "altIds": { + "description": "Filter Avails that match (case-insensitive) any of the given partner-specific custom ids.", + "type": "string", + "repeated": true, + "location": "query" + }, + "pphNames": { + "type": "string", + "repeated": true, + "location": "query", + "description": "See _List methods rules_ for info about this field." } }, "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" - ], - "httpMethod": "GET" + "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." }, "get": { - "flatPath": "v1/accounts/{accountId}/avails/{availId}", - "path": "v1/accounts/{accountId}/avails/{availId}", - "id": "playmoviespartner.accounts.avails.get", "description": "Get an Avail given its avail group id and avail id.", "httpMethod": "GET", "parameterOrder": [ @@ -213,57 +205,77 @@ }, "parameters": { "availId": { - "location": "path", "description": "REQUIRED. Avail ID.", "type": "string", - "required": true - }, - "accountId": { - "description": "REQUIRED. See _General rules_ for more information about this field.", - "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}/avails/{availId}", + "path": "v1/accounts/{accountId}/avails/{availId}", + "id": "playmoviespartner.accounts.avails.get" } } }, "storeInfos": { "methods": { "list": { + "httpMethod": "GET", "response": { "$ref": "ListStoreInfosResponse" }, "parameterOrder": [ "accountId" ], - "httpMethod": "GET", "parameters": { + "name": { + "location": "query", + "description": "Filter that matches StoreInfos with a `name` or `show_name`\nthat contains the given case-insensitive name.", + "type": "string" + }, + "studioNames": { + "location": "query", + "description": "See _List methods rules_ for info about this field.", + "type": "string", + "repeated": true + }, + "accountId": { + "description": "REQUIRED. See _General rules_ for more information about this field.", + "type": "string", + "required": true, + "location": "path" + }, "seasonIds": { "location": "query", "description": "Filter StoreInfos that match any of the given `season_id`s.", "type": "string", "repeated": true }, - "pageToken": { - "location": "query", - "description": "See _List methods rules_ for info about this field.", - "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" }, + "videoId": { + "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", + "location": "query" + }, + "pageToken": { + "location": "query", + "description": "See _List methods rules_ for info about this field.", + "type": "string" + }, "pageSize": { "format": "int32", "description": "See _List methods rules_ for info about this field.", @@ -283,35 +295,18 @@ "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" - }, - "studioNames": { + "type": "string", "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", "location": "query" - }, - "accountId": { - "type": "string", - "required": true, - "location": "path", - "description": "REQUIRED. See _General rules_ for more information about this field." } }, "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." } }, @@ -319,7 +314,11 @@ "country": { "methods": { "get": { + "flatPath": "v1/accounts/{accountId}/storeInfos/{videoId}/country/{country}", + "path": "v1/accounts/{accountId}/storeInfos/{videoId}/country/{country}", + "id": "playmoviespartner.accounts.storeInfos.country.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.", + "httpMethod": "GET", "response": { "$ref": "StoreInfo" }, @@ -328,19 +327,21 @@ "videoId", "country" ], - "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/playmovies_partner.readonly" + ], "parameters": { "country": { + "location": "path", "description": "REQUIRED. Edit country.", "type": "string", - "required": true, - "location": "path" + "required": true }, "videoId": { + "location": "path", "description": "REQUIRED. Video ID.", "type": "string", - "required": true, - "location": "path" + "required": true }, "accountId": { "location": "path", @@ -348,13 +349,7 @@ "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}" + } } } } @@ -365,15 +360,15 @@ }, "parameters": { "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string", - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")." + "location": "query" }, "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.", @@ -399,9 +394,9 @@ "location": "query" }, "callback": { - "location": "query", "description": "JSONP", - "type": "string" + "type": "string", + "location": "query" }, "alt": { "description": "Data format for response.", @@ -420,9 +415,9 @@ "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", @@ -430,15 +425,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.", - "type": "string", - "location": "query" + "type": "string" }, "pp": { + "location": "query", "description": "Pretty-print response.", "default": "true", - "type": "boolean", - "location": "query" + "type": "boolean" }, "bearer_token": { "description": "OAuth bearer token.", @@ -453,6 +448,8 @@ }, "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\".", @@ -477,8 +474,6 @@ "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.", @@ -492,7 +487,9 @@ "SEASON", "EPISODE", "BUNDLE" - ] + ], + "description": "Type of the Edit linked to the Order.", + "type": "string" }, "rejectionNote": { "description": "Field explaining why an Order has been rejected.\nExample: \"Trailer audio is 2ch mono, please re-deliver in stereo\".", @@ -502,14 +499,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,31 +532,10 @@ }, "type": "array" }, - "statusDetail": { - "description": "Detailed status of the order", + "earliestAvailStartTime": { "type": "string", - "enumDescriptions": [ - "Value could not be determined, please contact technical support if\nit should.", - "Approved by Google's Quality Control team.", - "Rejected by Google's Quality Control team, pending partner redelivery.", - "Internal error while processing the Order.", - "Waiting for initial delivery from partner.", - "Used on Orders that do not have Status, like TV Seasons.", - "Waiting for re-delivery from partner.", - "Asset was delivered by partner, but is being reviewed by Google's\nQuality Control team.", - "Waiting for Google to process the asset." - ], - "enum": [ - "ORDER_STATUS_UNSPECIFIED", - "ORDER_STATUS_QC_APPROVED", - "ORDER_STATUS_QC_REJECTION", - "ORDER_STATUS_INTERNAL_FIX", - "ORDER_STATUS_OPEN_ORDER", - "ORDER_STATUS_NOT_AVAILABLE", - "ORDER_STATUS_AWAITING_REDELIVERY", - "ORDER_STATUS_READY_FOR_QC", - "ORDER_STATUS_FILE_PROCESSING" - ] + "format": "google-datetime", + "description": "Timestamp of the earliest start date of the Avails\nlinked to this Order." }, "status": { "enum": [ @@ -581,9 +557,30 @@ "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.", + "statusDetail": { + "enumDescriptions": [ + "Value could not be determined, please contact technical support if\nit should.", + "Approved by Google's Quality Control team.", + "Rejected by Google's Quality Control team, pending partner redelivery.", + "Internal error while processing the Order.", + "Waiting for initial delivery from partner.", + "Used on Orders that do not have Status, like TV Seasons.", + "Waiting for re-delivery from partner.", + "Asset was delivered by partner, but is being reviewed by Google's\nQuality Control team.", + "Waiting for Google to process the asset." + ], + "enum": [ + "ORDER_STATUS_UNSPECIFIED", + "ORDER_STATUS_QC_APPROVED", + "ORDER_STATUS_QC_REJECTION", + "ORDER_STATUS_INTERNAL_FIX", + "ORDER_STATUS_OPEN_ORDER", + "ORDER_STATUS_NOT_AVAILABLE", + "ORDER_STATUS_AWAITING_REDELIVERY", + "ORDER_STATUS_READY_FOR_QC", + "ORDER_STATUS_FILE_PROCESSING" + ], + "description": "Detailed status of the order", "type": "string" }, "name": { @@ -600,16 +597,16 @@ "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" + "type": "string", + "description": "YouTube Channel Name that should be used to fulfill the Order.\nExample: \"Google_channel\"." }, "approvedTime": { "format": "google-datetime", @@ -617,11 +614,10 @@ "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": { + "id": "ListStoreInfosResponse", "description": "Response to the 'ListStoreInfos' method.", "type": "object", "properties": { @@ -630,24 +626,30 @@ "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.", "items": { "$ref": "StoreInfo" }, - "type": "array" + "type": "array", + "description": "List of StoreInfos that match the request criteria." } - }, - "id": "ListStoreInfosResponse" + } }, "ListAvailsResponse": { "description": "Response to the 'ListAvails' method.", "type": "object", "properties": { + "avails": { + "items": { + "$ref": "Avail" + }, + "type": "array", + "description": "List of Avails that match the request criteria." + }, "nextPageToken": { "description": "See _List methods rules_ for info about this field.", "type": "string" @@ -656,173 +658,63 @@ "format": "int32", "description": "See _List methods rules_ for more information about this field.", "type": "integer" - }, - "avails": { - "description": "List of Avails that match the request criteria.", - "items": { - "$ref": "Avail" - }, - "type": "array" } }, "id": "ListAvailsResponse" }, - "ListOrdersResponse": { + "Avail": { + "type": "object", "properties": { - "totalSize": { - "format": "int32", - "description": "See _List methods rules_ for more information about this field.", - "type": "integer" - }, - "orders": { - "description": "List of Orders that match the request criteria.", - "items": { - "$ref": "Order" - }, - "type": "array" - }, - "nextPageToken": { - "description": "See _List methods rules_ for info about this field.", - "type": "string" - } - }, - "id": "ListOrdersResponse", - "description": "Response to the 'ListOrders' method.", - "type": "object" - }, - "StoreInfo": { - "properties": { - "subtitles": { - "description": "Subtitles available for this Edit.", - "items": { - "type": "string" - }, - "type": "array" - }, - "audioTracks": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Audio tracks available for this Edit." - }, - "showName": { - "type": "string", - "description": "Default Show name, usually in the language of the country of\norigin.\nOnly available for TV Edits\nExample: \"Googlers, The\"." - }, - "country": { - "description": "Country where Edit is available in ISO 3166-1 alpha-2 country\ncode.\nExample: \"US\".", + "suppressionLiftDate": { + "description": "First date an Edit could be publically announced as becoming\navailable at a specific future date in territory of Avail.\n*Not* the Avail start date or pre-order start date.\nFormat is YYYY-MM-DD.\nOnly available for pre-orders.\nExample: \"2012-12-10\"", "type": "string" }, - "showId": { - "description": "Google-generated ID identifying the show linked to the Edit.\nOnly available for TV Edits.\nExample: 'et2hsue_x'", + "seasonAltId": { + "description": "Other identifier referring to the season, as defined by partner.\nOnly available on TV avails.\nExample: \"rs_googlers_s1\".", "type": "string" }, - "type": { + "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": { + "description": "Communicating if caption file will be delivered.", + "type": "boolean" + }, + "seasonNumber": { + "description": "The number assigned to the season within a series.\nOnly available on TV Avails.\nExample: \"1\".", + "type": "string" + }, + "licenseType": { "enum": [ - "TITLE_TYPE_UNSPECIFIED", - "MOVIE", - "SEASON", - "EPISODE", - "BUNDLE" + "LICENSE_TYPE_UNSPECIFIED", + "EST", + "VOD", + "SVOD", + "POEST" ], - "description": "Edit type, like Movie, Episode or Season.", + "description": "Type of transaction.", "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\"" + "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." ] }, - "trailerId": { - "type": "string", - "description": "Google-generated ID identifying the trailer linked to the Edit.\nExample: 'bhd_4e_cx'" - }, - "hasHdOffer": { - "description": "Whether the Edit has a HD offer.", - "type": "boolean" - }, - "mid": { - "description": "Knowledge Graph ID associated to this Edit, if available.\nThis ID links the Edit to its knowledge entity, externally accessible\nat http://freebase.com.\nIn the absense of Title EIDR or Edit EIDR, this ID helps link together\nmultiple Edits across countries.\nExample: '/m/0ffx29'", + "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" }, - "hasAudio51": { - "description": "Whether the Edit has a 5.1 channel audio track.", - "type": "boolean" - }, - "name": { - "type": "string", - "description": "Default Edit name, usually in the language of the country of\norigin.\nExample: \"Googlers, The\"." - }, - "seasonId": { - "description": "Google-generated ID identifying the season linked to the Edit.\nOnly available for TV Edits.\nExample: 'ster23ex'", + "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" }, - "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.", - "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" - }, - "Avail": { - "properties": { "videoId": { "description": "Google-generated ID identifying the video linked to this Avail, once\ndelivered.\nNot part of EMA Specs.\nExample: 'gtry456_xc'", "type": "string" @@ -847,24 +739,18 @@ "type": "string" }, "altId": { - "description": "Other identifier referring to the Edit, as defined by partner.\nExample: \"GOOGLER_2006\"", - "type": "string" + "type": "string", + "description": "Other identifier referring to the Edit, as defined by partner.\nExample: \"GOOGLER_2006\"" }, "episodeNumber": { "description": "The number assigned to the episode within a season.\nOnly available on TV Avails.\nExample: \"3\".", "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,28 +758,30 @@ "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": { "description": "Spoken language of the intended audience.\nLanguage shall be encoded in accordance with RFC 5646.\nExample: \"fr\".", "type": "string" }, - "productId": { - "description": "Edit Identifier. This should be the Edit Level EIDR.\nExample: \"10.2340/1489-49A2-3956-4B2D-FE16-6\"", - "type": "string" - }, "displayName": { "description": "The name of the studio that owns the Edit referred in the Avail.\nThis is the equivalent of `studio_name` in other resources, but it follows\nthe EMA nomenclature.\nExample: \"Google Films\".", "type": "string" @@ -902,23 +790,113 @@ "description": "Communicating an exempt category as defined by FCC regulations.\nIt is not required for non-US Avails.\nExample: \"1\"", "type": "string" }, + "productId": { + "description": "Edit Identifier. This should be the Edit Level EIDR.\nExample: \"10.2340/1489-49A2-3956-4B2D-FE16-6\"", + "type": "string" + }, "seasonTitleInternalAlias": { "description": "Title used by involved parties to refer to this season.\nOnly available on TV Avails.\nExample: \"Googlers, The\".", "type": "string" }, - "priceValue": { - "description": "Value to be applied to the pricing type.\nExample: \"4\" or \"2.99\"", - "type": "string" - }, "episodeAltId": { "description": "Other identifier referring to the episode, as defined by partner.\nOnly available on TV avails.\nExample: \"rs_googlers_s1_3\".", "type": "string" }, + "priceValue": { + "description": "Value to be applied to the pricing type.\nExample: \"4\" or \"2.99\"", + "type": "string" + }, "territory": { "description": "ISO 3166-1 alpha-2 country code for the country or territory\nof this Avail.\nFor Avails, we use Territory in lieu of Country to comply with\nEMA specifications.\nBut please note that Territory and Country identify the same thing.\nExample: \"US\".", "type": "string" }, "workType": { + "description": "Work type as enumerated in EMA.", + "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" + ] + }, + "availId": { + "description": "ID internally generated by Google to uniquely identify an Avail.\nNot part of EMA Specs.", + "type": "string" + }, + "ratingReason": { + "description": "Value representing the rating reason.\nRating reasons should be formatted as per\n[EMA ratings spec](http://www.movielabs.com/md/ratings/)\nand comma-separated for inclusion of multiple reasons.\nExample: \"L, S, V\"", + "type": "string" + }, + "episodeTitleInternalAlias": { + "type": "string", + "description": "OPTIONAL.TV Only. Title used by involved parties to refer to this episode.\nOnly available on TV Avails.\nExample: \"Coding at Google\"." + } + }, + "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." + }, + "ListOrdersResponse": { + "description": "Response to the 'ListOrders' method.", + "type": "object", + "properties": { + "orders": { + "description": "List of Orders that match the request criteria.", + "items": { + "$ref": "Order" + }, + "type": "array" + }, + "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.", + "type": "integer" + } + }, + "id": "ListOrdersResponse" + }, + "StoreInfo": { + "type": "object", + "properties": { + "subtitles": { + "description": "Subtitles available for this Edit.", + "items": { + "type": "string" + }, + "type": "array" + }, + "audioTracks": { + "description": "Audio tracks available for this Edit.", + "items": { + "type": "string" + }, + "type": "array" + }, + "showName": { + "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\".", + "type": "string" + }, + "showId": { + "description": "Google-generated ID identifying the show linked to the Edit.\nOnly available for TV Edits.\nExample: 'et2hsue_x'", + "type": "string" + }, + "type": { "enumDescriptions": [ "Value could not be determined, please contact technical support if\nit should.", "A movie picture.", @@ -933,82 +911,99 @@ "EPISODE", "BUNDLE" ], - "description": "Work type as enumerated in EMA.", + "description": "Edit type, like Movie, Episode or Season.", "type": "string" }, - "availId": { - "description": "ID internally generated by Google to uniquely identify an Avail.\nNot part of EMA Specs.", + "trailerId": { + "description": "Google-generated ID identifying the trailer linked to the Edit.\nExample: 'bhd_4e_cx'", "type": "string" }, - "ratingReason": { - "description": "Value representing the rating reason.\nRating reasons should be formatted as per\n[EMA ratings spec](http://www.movielabs.com/md/ratings/)\nand comma-separated for inclusion of multiple reasons.\nExample: \"L, S, V\"", + "hasHdOffer": { + "description": "Whether the Edit has a HD offer.", + "type": "boolean" + }, + "mid": { + "description": "Knowledge Graph ID associated to this Edit, if available.\nThis ID links the Edit to its knowledge entity, externally accessible\nat http://freebase.com.\nIn the absense of Title EIDR or Edit EIDR, this ID helps link together\nmultiple Edits across countries.\nExample: '/m/0ffx29'", "type": "string" }, - "episodeTitleInternalAlias": { - "description": "OPTIONAL.TV Only. Title used by involved parties to refer to this episode.\nOnly available on TV Avails.\nExample: \"Coding at Google\".", - "type": "string" + "hasAudio51": { + "description": "Whether the Edit has a 5.1 channel audio track.", + "type": "boolean" }, - "suppressionLiftDate": { - "description": "First date an Edit could be publically announced as becoming\navailable at a specific future date in territory of Avail.\n*Not* the Avail start date or pre-order start date.\nFormat is YYYY-MM-DD.\nOnly available for pre-orders.\nExample: \"2012-12-10\"", - "type": "string" - }, - "seasonAltId": { + "name": { "type": "string", - "description": "Other identifier referring to the season, as defined by partner.\nOnly available on TV avails.\nExample: \"rs_googlers_s1\"." + "description": "Default Edit name, usually in the language of the country of\norigin.\nExample: \"Googlers, The\"." }, - "encodeId": { - "description": "Manifestation Identifier. This should be the Manifestation\nLevel EIDR.\nExample: \"10.2340/1489-49A2-3956-4B2D-FE16-7\"", + "seasonId": { + "description": "Google-generated ID identifying the season linked to the Edit.\nOnly available for TV Edits.\nExample: 'ster23ex'", "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\".", + "titleLevelEidr": { + "description": "Title-level EIDR ID.\nExample: \"10.5240/1489-49A2-3956-4B2D-FE16-5\".", "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" - ] + "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 series.\nOnly available on TV Avails.\nExample: \"1\".", + "description": "The number assigned to the season within a show.\nOnly available on TV Edits.\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\"", + "editLevelEidr": { + "type": "string", + "description": "Edit-level EIDR ID.\nExample: \"10.5240/1489-49A2-3956-4B2D-FE16-6\"." + }, + "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" }, - "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\"", + "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": { + "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": { + "type": "string", + "description": "Name of the studio that owns the Edit ordered." } }, - "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": "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." } }, - "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": "v1", "baseUrl": "https://playmoviespartner.googleapis.com/", "canonicalName": "Play Movies", @@ -1021,11 +1016,16 @@ } } }, - "servicePath": "", - "description": "Gets the delivery status of titles for Google Play Movies Partners.", "kind": "discovery#restDescription", + "description": "Gets the delivery status of titles for Google Play Movies Partners.", + "servicePath": "", "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": "20170822", + "title": "Google Play Movies Partner API" } 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 671e69b..30dc655 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,11 @@ { - "basePath": "", - "ownerDomain": "google.com", - "name": "proximitybeacon", - "batchPath": "batch", - "id": "proximitybeacon:v1beta1", - "documentationLink": "https://developers.google.com/beacons/proximity/", - "revision": "20170629", - "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,48 +14,59 @@ "parameters": {}, "flatPath": "v1beta1/beaconinfo:getforobserved", "path": "v1beta1/beaconinfo:getforobserved", - "id": "proximitybeacon.beaconinfo.getforobserved" + "id": "proximitybeacon.beaconinfo.getforobserved", + "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.", + "request": { + "$ref": "GetInfoForObservedBeaconsRequest" + } } } }, "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" }, + "parameterOrder": [], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/userlocation.beacon.registry" ], "parameters": { "projectId": { + "location": "query", "description": "The project id to list namespaces under.\nOptional.", - "type": "string", - "location": "query" + "type": "string" } - } + }, + "flatPath": "v1beta1/namespaces", + "id": "proximitybeacon.namespaces.list", + "path": "v1beta1/namespaces", + "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." }, "update": { - "response": { + "request": { "$ref": "Namespace" }, + "description": "Updates the information about the specified namespace. Only the namespace\nvisibility can be updated.", + "httpMethod": "PUT", "parameterOrder": [ "namespaceName" ], - "httpMethod": "PUT", + "response": { + "$ref": "Namespace" + }, + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ], "parameters": { "namespaceName": { + "pattern": "^namespaces/[^/]+$", "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/[^/]+$" + "required": true }, "projectId": { "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.", @@ -75,23 +74,15 @@ "location": "query" } }, - "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" - } + "id": "proximitybeacon.namespaces.update" } } }, "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" }, @@ -103,15 +94,45 @@ "parameters": {}, "flatPath": "v1beta1/eidparams", "id": "proximitybeacon.getEidparams", - "path": "v1beta1/eidparams" + "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." } } }, "beacons": { "methods": { "decommission": { + "flatPath": "v1beta1/beacons/{beaconsId}:decommission", + "id": "proximitybeacon.beacons.decommission", + "path": "v1beta1/{+beaconName}: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.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "beaconName" + ], "httpMethod": "POST", + "parameters": { + "beaconName": { + "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.", + "type": "string", + "required": true, + "pattern": "^beacons/[^/]+$" + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ] + }, + "delete": { + "httpMethod": "DELETE", "parameterOrder": [ "beaconName" ], @@ -119,44 +140,42 @@ "$ref": "Empty" }, "parameters": { - "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.", + "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.", "type": "string", "required": true, - "pattern": "^beacons/[^/]+$", - "location": "path" + "pattern": "^beacons/[^/]+$" + }, + "projectId": { + "location": "query", + "description": "The project id of the beacon to delete. If not provided, the project\nthat is making the request is used.\nOptional.", + "type": "string" } }, "scopes": [ "https://www.googleapis.com/auth/userlocation.beacon.registry" ], - "flatPath": "v1beta1/beacons/{beaconsId}:decommission", - "path": "v1beta1/{+beaconName}:decommission", - "id": "proximitybeacon.beacons.decommission" + "flatPath": "v1beta1/beacons/{beaconsId}", + "path": "v1beta1/{+beaconName}", + "id": "proximitybeacon.beacons.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." }, "deactivate": { "httpMethod": "POST", - "response": { - "$ref": "Empty" - }, "parameterOrder": [ "beaconName" ], - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], + "response": { + "$ref": "Empty" + }, "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/[^/]+$" + "pattern": "^beacons/[^/]+$", + "location": "path" }, "projectId": { "location": "query", @@ -164,76 +183,33 @@ "type": "string" } }, + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ], "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." }, - "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.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "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.", - "type": "string", - "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" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], - "flatPath": "v1beta1/beacons:register", - "id": "proximitybeacon.beacons.register", - "path": "v1beta1/beacons:register" - }, "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": { + "pageToken": { + "description": "A pagination token obtained from a previous request to list beacons.", + "type": "string", + "location": "query" + }, "pageSize": { "location": "query", "format": "int32", @@ -241,26 +217,43 @@ "type": "integer" }, "q": { - "location": "query", "description": "Filter query string that supports the following field filters:\n\n* **description:`\"\u003cstring\u003e\"`**\n For example: **description:\"Room 3\"**\n Returns beacons whose description matches tokens in the string \"Room 3\"\n (not necessarily that exact string).\n The string must be double-quoted.\n* **status:`\u003cenum\u003e`**\n For example: **status:active**\n Returns beacons whose status matches the given value. Values must be\n one of the Beacon.Status enum values (case insensitive). Accepts\n multiple filters which will be combined with OR logic.\n* **stability:`\u003cenum\u003e`**\n For example: **stability:mobile**\n Returns beacons whose expected stability matches the given value.\n Values must be one of the Beacon.Stability enum values (case\n insensitive). Accepts multiple filters which will be combined with\n OR logic.\n* **place\\_id:`\"\u003cstring\u003e\"`**\n For example: **place\\_id:\"ChIJVSZzVR8FdkgRXGmmm6SslKw=\"**\n Returns beacons explicitly registered at the given place, expressed as\n a Place ID obtained from [Google Places API](/places/place-id). Does not\n match places inside the given place. Does not consider the beacon's\n actual location (which may be different from its registered place).\n Accepts multiple filters that will be combined with OR logic. The place\n ID must be double-quoted.\n* **registration\\_time`[\u003c|\u003e|\u003c=|\u003e=]\u003cinteger\u003e`**\n For example: **registration\\_time\u003e=1433116800**\n Returns beacons whose registration time matches the given filter.\n Supports the operators: \u003c, \u003e, \u003c=, and \u003e=. Timestamp must be expressed as\n an integer number of seconds since midnight January 1, 1970 UTC. Accepts\n at most two filters that will be combined with AND logic, to support\n \"between\" semantics. If more than two are supplied, the latter ones are\n ignored.\n* **lat:`\u003cdouble\u003e lng:\u003cdouble\u003e radius:\u003cinteger\u003e`**\n For example: **lat:51.1232343 lng:-1.093852 radius:1000**\n Returns beacons whose registered location is within the given circle.\n When any of these fields are given, all are required. Latitude and\n longitude must be decimal degrees between -90.0 and 90.0 and between\n -180.0 and 180.0 respectively. Radius must be an integer number of\n meters between 10 and 1,000,000 (1000 km).\n* **property:`\"\u003cstring\u003e=\u003cstring\u003e\"`**\n For example: **property:\"battery-type=CR2032\"**\n Returns beacons which have a property of the given name and value.\n Supports multiple filters which will be combined with OR logic.\n The entire name=value string must be double-quoted as one string.\n* **attachment\\_type:`\"\u003cstring\u003e\"`**\n For example: **attachment_type:\"my-namespace/my-type\"**\n Returns beacons having at least one attachment of the given namespaced\n type. Supports \"any within this namespace\" via the partial wildcard\n syntax: \"my-namespace/*\". Supports multiple filters which will be\n combined with OR logic. The string must be double-quoted.\n* **indoor\\_level:`\"\u003cstring\u003e\"`**\n For example: **indoor\\_level:\"1\"**\n Returns beacons which are located on the given indoor level. Accepts\n multiple filters that will be combined with OR logic.\n\nMultiple filters on the same field are combined with OR logic (except\nregistration_time which is combined with AND logic).\nMultiple filters on different fields are combined with AND logic.\nFilters should be separated by spaces.\n\nAs with any HTTP query string parameter, the whole filter expression must\nbe URL-encoded.\n\nExample REST request:\n`GET /v1beta1/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:1000`", - "type": "string" + "type": "string", + "location": "query" }, "projectId": { - "location": "query", "description": "The project id to list beacons under. If not present then the project\ncredential that made the request is used as the project.\nOptional.", - "type": "string" - }, - "pageToken": { - "location": "query", - "description": "A pagination token obtained from a previous request to list beacons.", - "type": "string" + "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": { + "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": "query" } }, - "flatPath": "v1beta1/beacons", - "path": "v1beta1/beacons", - "id": "proximitybeacon.beacons.list" + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ] }, "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" }, @@ -270,11 +263,11 @@ "httpMethod": "POST", "parameters": { "beaconName": { + "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.", "type": "string", "required": true, - "pattern": "^beacons/[^/]+$", - "location": "path" + "pattern": "^beacons/[^/]+$" }, "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.", @@ -287,44 +280,39 @@ ], "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." + "path": "v1beta1/{+beaconName}:activate" }, "get": { - "flatPath": "v1beta1/beacons/{beaconsId}", - "id": "proximitybeacon.beacons.get", "path": "v1beta1/{+beaconName}", + "id": "proximitybeacon.beacons.get", "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.", + "httpMethod": "GET", "response": { "$ref": "Beacon" }, "parameterOrder": [ "beaconName" ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], "parameters": { "beaconName": { + "pattern": "^beacons/[^/]+$", "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-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/[^/]+$" + "required": true }, "projectId": { - "location": "query", "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" + "type": "string", + "location": "query" } - } + }, + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ], + "flatPath": "v1beta1/beacons/{beaconsId}" }, "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" @@ -332,6 +320,9 @@ "response": { "$ref": "Beacon" }, + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ], "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.", @@ -346,149 +337,150 @@ "type": "string" } }, - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], "flatPath": "v1beta1/beacons/{beaconsId}", "path": "v1beta1/{+beaconName}", - "id": "proximitybeacon.beacons.update" + "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" - }, - "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" - }, - "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" - }, - "beaconName": { - "location": "path", - "description": "Beacon whose attachments should be fetched. 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/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ] - }, - "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" - }, - "parameterOrder": [ - "beaconName" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], - "parameters": { - "namespacedType": { - "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" - }, - "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/[^/]+$" - }, - "projectId": { - "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" - } - } - }, - "create": { - "response": { - "$ref": "BeaconAttachment" - }, - "parameterOrder": [ - "beaconName" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], - "parameters": { - "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." - }, "delete": { - "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" - }, + "httpMethod": "DELETE", "parameterOrder": [ "attachmentName" ], - "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, "parameters": { "projectId": { - "location": "query", "description": "The project id of the attachment to delete. If not provided, the project\nthat is making the request is used.\nOptional.", - "type": "string" + "type": "string", + "location": "query" }, "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}", + "path": "v1beta1/{+attachmentName}", "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." + }, + "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.", + "response": { + "$ref": "ListBeaconAttachmentsResponse" + }, + "parameterOrder": [ + "beaconName" + ], + "httpMethod": "GET", + "parameters": { + "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" + }, + "beaconName": { + "description": "Beacon whose attachments should be fetched. 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" + }, + "projectId": { + "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.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ], + "flatPath": "v1beta1/beacons/{beaconsId}/attachments", + "id": "proximitybeacon.beacons.attachments.list", + "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.", + "httpMethod": "POST", + "response": { + "$ref": "DeleteAttachmentsResponse" + }, + "parameterOrder": [ + "beaconName" + ], + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ], + "parameters": { + "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" + }, + "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" + }, + "beaconName": { + "pattern": "^beacons/[^/]+$", + "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 + } + }, + "flatPath": "v1beta1/beacons/{beaconsId}/attachments:batchDelete", + "path": "v1beta1/{+beaconName}/attachments:batchDelete", + "id": "proximitybeacon.beacons.attachments.batchDelete" + }, + "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" + }, + "parameterOrder": [ + "beaconName" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ], + "parameters": { + "beaconName": { + "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, + "pattern": "^beacons/[^/]+$" + }, + "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" + } + }, + "flatPath": "v1beta1/beacons/{beaconsId}/attachments", + "id": "proximitybeacon.beacons.attachments.create", + "path": "v1beta1/{+beaconName}/attachments" } } }, @@ -496,28 +488,28 @@ "methods": { "list": { "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.", + "httpMethod": "GET", "response": { "$ref": "ListDiagnosticsResponse" }, "parameterOrder": [ "beaconName" ], - "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/userlocation.beacon.registry" ], "parameters": { "beaconName": { - "location": "path", "description": "Beacon that the diagnostics are for.", "type": "string", "required": true, - "pattern": "^beacons/[^/]+$" + "pattern": "^beacons/[^/]+$", + "location": "path" }, "pageToken": { + "location": "query", "description": "Requests results that occur after the `page_token`, obtained from the\nresponse to a previous request. Optional.", - "type": "string", - "location": "query" + "type": "string" }, "alertFilter": { "location": "query", @@ -530,20 +522,20 @@ "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" + "path": "v1beta1/{+beaconName}/diagnostics", + "id": "proximitybeacon.beacons.diagnostics.list" } } } @@ -551,61 +543,6 @@ } }, "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" - }, - "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": { "description": "OAuth access token.", "type": "string", @@ -617,9 +554,9 @@ "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": { "location": "query", @@ -628,67 +565,72 @@ "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" }, - "bearer_token": { + "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": "OAuth bearer token.", + "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": { + "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" } }, "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", @@ -711,10 +653,24 @@ }, "id": "EphemeralIdRegistrationParams" }, - "Observation": { - "description": "Represents one beacon observed once.", + "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": { + "properties": { + "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" + }, "telemetry": { "format": "byte", "description": "The array of telemetry bytes received from the beacon. The server is\nresponsible for parsing it. This field may frequently be empty, as\nwith a beacon that transmits telemetry only occasionally.", @@ -724,28 +680,26 @@ "format": "google-datetime", "description": "Time when the beacon was observed.", "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" } }, - "id": "Observation" + "id": "Observation", + "description": "Represents one beacon observed once.", + "type": "object" }, "ListDiagnosticsResponse": { "description": "Response that contains the requested diagnostics.", "type": "object", "properties": { + "nextPageToken": { + "description": "Token that can be used for pagination. Returned only if the\nrequest matches more beacons than can be returned in this response.", + "type": "string" + }, "diagnostics": { "description": "The diagnostics matching the given request.", "items": { "$ref": "Diagnostics" }, "type": "array" - }, - "nextPageToken": { - "description": "Token that can be used for pagination. Returned only if the\nrequest matches more beacons than can be returned in this response.", - "type": "string" } }, "id": "ListDiagnosticsResponse" @@ -768,25 +722,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." @@ -812,13 +747,6 @@ "type": "string" }, "expectedStability": { - "enumDescriptions": [ - "Do not use this value.", - "Not expected to move, for example a store's front door.", - "Usually stable but may move rarely, usually within a single place,\nfor example a store display.", - "Moves frequently, for example a personal item or food truck.", - "Moves continuously in service, for example a bus or train." - ], "enum": [ "STABILITY_UNSPECIFIED", "STABLE", @@ -827,7 +755,14 @@ "ROVING" ], "description": "Expected location stability. This is set when the beacon is registered or\nupdated, not automatically detected in any way.\nOptional.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "Do not use this value.", + "Not expected to move, for example a store's front door.", + "Usually stable but may move rarely, usually within a single place,\nfor example a store display.", + "Moves frequently, for example a personal item or food truck.", + "Moves continuously in service, for example a bus or train." + ] }, "advertisedId": { "$ref": "AdvertisedId", @@ -841,6 +776,25 @@ "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.", "type": "string" + }, + "latLng": { + "$ref": "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." + }, + "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" @@ -875,17 +829,6 @@ }, "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,6 +851,17 @@ }, "id": "Date" }, + "IndoorLevel": { + "properties": { + "name": { + "description": "The name of this level.", + "type": "string" + } + }, + "id": "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" + }, "ListNamespacesResponse": { "description": "Response to ListNamespacesRequest that contains all the project's namespaces.", "type": "object", @@ -922,9 +876,39 @@ }, "id": "ListNamespacesResponse" }, - "ListBeaconsResponse": { - "description": "Response that contains list beacon results and pagination help.", + "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": { + "enum": [ + "ALERT_UNSPECIFIED", + "WRONG_LOCATION", + "LOW_BATTERY" + ], + "type": "string" + }, + "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." + } + }, + "id": "Diagnostics" + }, + "ListBeaconsResponse": { "properties": { "nextPageToken": { "description": "An opaque pagination token that the client may provide in their next\nrequest to retrieve the next page of results.", @@ -943,49 +927,11 @@ "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." - } - }, - "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.", + "type": "object" }, "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.", @@ -1002,7 +948,15 @@ "type": "array" } }, - "id": "GetInfoForObservedBeaconsRequest" + "id": "GetInfoForObservedBeaconsRequest", + "description": "Request for beacon and attachment information about beacons that\na mobile client has encountered \"in the wild\".", + "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" }, "BeaconAttachment": { "description": "Project-specific data associated with a beacon.", @@ -1098,8 +1052,6 @@ "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.", @@ -1120,7 +1072,47 @@ "type": "string" } }, - "id": "Namespace" + "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" + }, + "BeaconInfo": { + "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", + "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" + }, + "AttachmentInfo": { + "properties": { + "data": { + "format": "byte", + "description": "An opaque data container for client-provided data.", + "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, for\nexample \u003ccode\u003escrupulous-wombat-12345/welcome-message\u003c/code\u003e", + "type": "string" + } + }, + "id": "AttachmentInfo", + "description": "A subset of attachment information served via the\n`beaconinfo.getforobserved` method, used when your users encounter your\nbeacons.", + "type": "object" } }, "protocol": "rest", @@ -1142,5 +1134,13 @@ "kind": "discovery#restDescription", "description": "Registers, manages, indexes, and searches beacons.", "servicePath": "", - "rootUrl": "https://proximitybeacon.googleapis.com/" + "rootUrl": "https://proximitybeacon.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "proximitybeacon", + "batchPath": "batch", + "revision": "20170823", + "id": "proximitybeacon:v1beta1", + "documentationLink": "https://developers.google.com/beacons/proximity/", + "title": "Google Proximity Beacon API" } 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 506cc41..e28694c 100644 --- a/vendor/google.golang.org/api/pubsub/v1/pubsub-api.json +++ b/vendor/google.golang.org/api/pubsub/v1/pubsub-api.json @@ -1,798 +1,201 @@ { - "basePath": "", - "ownerDomain": "google.com", - "name": "pubsub", - "batchPath": "batch", - "revision": "20170622", - "documentationLink": "https://cloud.google.com/pubsub/docs", - "id": "pubsub:v1", - "title": "Google Cloud Pub/Sub API", - "ownerName": "Google", - "discoveryVersion": "v1", - "resources": { - "projects": { - "resources": { - "topics": { - "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.", - "request": { - "$ref": "PublishRequest" - }, - "response": { - "$ref": "PublishResponse" - }, - "parameterOrder": [ - "topic" - ], - "httpMethod": "POST", - "parameters": { - "topic": { - "location": "path", - "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/[^/]+$" - } - }, - "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" - }, - "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": { - "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/[^/]+$", - "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" - }, - "parameterOrder": [ - "topic" - ], - "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/[^/]+$" - } - } - }, - "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", - "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/[^/]+/topics/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy", - "id": "pubsub.projects.topics.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" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST" - }, - "create": { - "httpMethod": "PUT", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Topic" - }, - "parameters": { - "name": { - "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\"`.", - "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", - "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" - } - }, - "modifyAckDeadline": { - "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 name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline", - "id": "pubsub.projects.subscriptions.modifyAckDeadline", - "path": "v1/{+subscription}:modifyAckDeadline", - "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" - ], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "subscription": { - "description": "The subscription whose message is being acknowledged.\nFormat is `projects/{project}/subscriptions/{sub}`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge", - "path": "v1/{+subscription}:acknowledge", - "id": "pubsub.projects.subscriptions.acknowledge" - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "subscription" - ], - "response": { - "$ref": "Subscription" - }, - "parameters": { - "subscription": { - "description": "The name of the subscription to get.\nFormat is `projects/{project}/subscriptions/{sub}`.", - "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}", - "path": "v1/{+subscription}", - "id": "pubsub.projects.subscriptions.get", - "description": "Gets the configuration details of a subscription." - }, - "testIamPermissions": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "parameters": { - "resource": { - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "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}/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" - } - }, - "modifyPushConfig": { - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "subscription": { - "description": "The name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig", - "path": "v1/{+subscription}:modifyPushConfig", - "id": "pubsub.projects.subscriptions.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", - "parameterOrder": [ - "subscription" - ], - "response": { - "$ref": "Empty" - } - } - } - } - } - } - }, - "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.", - "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": { - "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": { - "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": { - "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": { + "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": { + "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": { + "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" + }, + "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" + } + }, + "id": "Subscription" + }, + "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": { + "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" + }, + "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", + "properties": { + "ackDeadlineSeconds": { + "format": "int32", + "description": "The new ack deadline with respect to the time this request was sent to\nthe Pub/Sub system. For example, if the value is 10, the new\nack deadline will expire 10 seconds after the `ModifyAckDeadline` call\nwas made. Specifying zero may immediately make the message available for\nanother pull request.\nThe minimum deadline you can specify is 0 seconds.\nThe maximum deadline you can specify is 600 seconds (10 minutes).", + "type": "integer" + }, + "ackIds": { + "description": "List of acknowledgment IDs.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "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" + }, + "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" + }, + "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.", + "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" + }, + "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" + }, + "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": "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": { "nextPageToken": { @@ -807,28 +210,7 @@ "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." + "id": "ListTopicsResponse" }, "ListTopicSubscriptionsResponse": { "description": "Response for the `ListTopicSubscriptions` method.", @@ -863,37 +245,37 @@ "id": "PullResponse" }, "ReceivedMessage": { + "description": "A message and its corresponding acknowledgment ID.", + "type": "object", "properties": { "message": { - "description": "The message.", - "$ref": "PubsubMessage" + "$ref": "PubsubMessage", + "description": "The message." }, "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" + "id": "ReceivedMessage" }, "PushConfig": { + "description": "Configuration for a push delivery endpoint.", + "type": "object", "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." + "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" } }, - "id": "PushConfig", - "description": "Configuration for a push delivery endpoint.", - "type": "object" + "id": "PushConfig" }, "TestIamPermissionsResponse": { "description": "Response message for `TestIamPermissions` method.", @@ -926,24 +308,25 @@ "id": "PullRequest" }, "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", - "description": "The subscriptions that match the request." + "type": "array" } }, - "id": "ListSubscriptionsResponse", - "description": "Response for the `ListSubscriptions` method.", - "type": "object" + "id": "ListSubscriptionsResponse" }, "PublishRequest": { + "description": "Request for the Publish method.", "type": "object", "properties": { "messages": { @@ -954,182 +337,7 @@ "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", - "properties": { - "ackDeadlineSeconds": { - "format": "int32", - "description": "The new ack deadline with respect to the time this request was sent to\nthe Pub/Sub system. For example, if the value is 10, the new\nack deadline will expire 10 seconds after the `ModifyAckDeadline` call\nwas made. Specifying zero may immediately make the message available for\nanother pull request.\nThe minimum deadline you can specify is 0 seconds.\nThe maximum deadline you can specify is 600 seconds (10 minutes).", - "type": "integer" - }, - "ackIds": { - "items": { - "type": "string" - }, - "type": "array", - "description": "List of acknowledgment IDs." - } - }, - "id": "ModifyAckDeadlineRequest" - }, - "SetIamPolicyRequest": { - "id": "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." - } - } - }, - "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.", - "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": { - "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": { - "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" - } - }, - "id": "Binding" + "id": "PublishRequest" } }, "protocol": "rest", @@ -1143,17 +351,809 @@ "auth": { "oauth2": { "scopes": { - "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" + }, + "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", + "kind": "discovery#restDescription", "servicePath": "", - "rootUrl": "https://pubsub.googleapis.com/" + "rootUrl": "https://pubsub.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "pubsub", + "batchPath": "batch", + "id": "pubsub:v1", + "documentationLink": "https://cloud.google.com/pubsub/docs", + "revision": "20170814", + "title": "Google Cloud Pub/Sub API", + "ownerName": "Google", + "discoveryVersion": "v1", + "resources": { + "projects": { + "resources": { + "snapshots": { + "methods": { + "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": { + "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/[^/]+/snapshots/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "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.", + "httpMethod": "GET", + "parameterOrder": [ + "resource" + ], + "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/[^/]+/snapshots/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "id": "pubsub.projects.snapshots.getIamPolicy" + }, + "setIamPolicy": { + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:setIamPolicy", + "id": "pubsub.projects.snapshots.setIamPolicy", + "path": "v1/{+resource}: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": { + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + } + } + }, + "subscriptions": { + "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.", + "response": { + "$ref": "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/[^/]+/subscriptions/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy", + "id": "pubsub.projects.subscriptions.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy" + }, + "modifyAckDeadline": { + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline", + "id": "pubsub.projects.subscriptions.modifyAckDeadline", + "path": "v1/{+subscription}:modifyAckDeadline", + "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.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "subscription" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "subscription": { + "location": "path", + "description": "The name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.", + "type": "string", + "required": true, + "pattern": "^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" + }, + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "subscription" + ], + "httpMethod": "POST", + "parameters": { + "subscription": { + "location": "path", + "description": "The subscription whose message is being acknowledged.\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" + ], + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge", + "id": "pubsub.projects.subscriptions.acknowledge", + "path": "v1/{+subscription}:acknowledge" + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "subscription" + ], + "response": { + "$ref": "Subscription" + }, + "parameters": { + "subscription": { + "location": "path", + "description": "The name of the subscription to get.\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" + ], + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", + "path": "v1/{+subscription}", + "id": "pubsub.projects.subscriptions.get", + "description": "Gets the configuration details of a subscription." + }, + "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": { + "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/[^/]+/subscriptions/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "id": "pubsub.projects.subscriptions.testIamPermissions" + }, + "modifyPushConfig": { + "httpMethod": "POST", + "parameterOrder": [ + "subscription" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "subscription": { + "location": "path", + "description": "The name of the subscription.\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" + ], + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig", + "path": "v1/{+subscription}:modifyPushConfig", + "id": "pubsub.projects.subscriptions.modifyPushConfig", + "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`.", + "request": { + "$ref": "ModifyPushConfigRequest" + } + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "subscription" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "subscription": { + "location": "path", + "description": "The subscription to delete.\nFormat is `projects/{project}/subscriptions/{sub}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/subscriptions/[^/]+$" + } + }, + "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." + }, + "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": { + "description": "Lists matching subscriptions.", + "response": { + "$ref": "ListSubscriptionsResponse" + }, + "parameterOrder": [ + "project" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum number of subscriptions to return.", + "type": "integer" + }, + "project": { + "description": "The name of the cloud project that subscriptions belong to.\nFormat is `projects/{project}`.", + "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" + } + }, + "flatPath": "v1/projects/{projectsId}/subscriptions", + "id": "pubsub.projects.subscriptions.list", + "path": "v1/{+project}/subscriptions" + }, + "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/[^/]+/subscriptions/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy", + "id": "pubsub.projects.subscriptions.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy" + }, + "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, 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": { + "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, + "pattern": "^projects/[^/]+/subscriptions/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", + "id": "pubsub.projects.subscriptions.create", + "path": "v1/{+name}" + } + } + }, + "topics": { + "methods": { + "getIamPolicy": { + "httpMethod": "GET", + "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/[^/]+/topics/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "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." + }, + "get": { + "description": "Gets the configuration of a topic.", + "response": { + "$ref": "Topic" + }, + "parameterOrder": [ + "topic" + ], + "httpMethod": "GET", + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", + "id": "pubsub.projects.topics.get", + "path": "v1/{+topic}" + }, + "publish": { + "httpMethod": "POST", + "parameterOrder": [ + "topic" + ], + "response": { + "$ref": "PublishResponse" + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:publish", + "path": "v1/{+topic}:publish", + "id": "pubsub.projects.topics.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.", + "request": { + "$ref": "PublishRequest" + } + }, + "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": { + "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": "v1/projects/{projectsId}/topics/{topicsId}:testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "id": "pubsub.projects.topics.testIamPermissions" + }, + "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": { + "description": "Name of the topic to delete.\nFormat is `projects/{project}/topics/{topic}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", + "id": "pubsub.projects.topics.delete", + "path": "v1/{+topic}" + }, + "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": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum number of topics to return.", + "type": "integer" + }, + "project": { + "description": "The name of the cloud project that topics belong to.\nFormat is `projects/{project}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + }, + "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" + } + }, + "flatPath": "v1/projects/{projectsId}/topics", + "id": "pubsub.projects.topics.list", + "path": "v1/{+project}/topics" + }, + "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": { + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy", + "id": "pubsub.projects.topics.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy" + }, + "create": { + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", + "id": "pubsub.projects.topics.create", + "path": "v1/{+name}", + "request": { + "$ref": "Topic" + }, + "description": "Creates the given topic with the given name.", + "response": { + "$ref": "Topic" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "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" + } + } + } + }, + "resources": { + "subscriptions": { + "methods": { + "list": { + "description": "Lists the name of the subscriptions for this topic.", + "response": { + "$ref": "ListTopicSubscriptionsResponse" + }, + "parameterOrder": [ + "topic" + ], + "httpMethod": "GET", + "parameters": { + "pageSize": { + "format": "int32", + "description": "Maximum number of subscription names to return.", + "type": "integer", + "location": "query" + }, + "topic": { + "location": "path", + "description": "The name of the topic that subscriptions are attached to.\nFormat is `projects/{project}/topics/{topic}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$" + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/subscriptions", + "id": "pubsub.projects.topics.subscriptions.list", + "path": "v1/{+topic}/subscriptions" + } + } + } + } + } + } + } + }, + "parameters": { + "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" + }, + "$.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": { + "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": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + } + } } 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 62b39dd..1b97b6e 100644 --- a/vendor/google.golang.org/api/pubsub/v1beta1a/pubsub-api.json +++ b/vendor/google.golang.org/api/pubsub/v1beta1a/pubsub-api.json @@ -1,56 +1,149 @@ { - "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", - "documentationLink": "https://cloud.google.com/pubsub/docs", - "revision": "20170622", - "title": "Google Cloud Pub/Sub API", "discoveryVersion": "v1", "ownerName": "Google", "resources": { "subscriptions": { "methods": { - "acknowledge": { - "path": "v1beta1a/subscriptions/acknowledge", - "id": "pubsub.subscriptions.acknowledge", + "modifyPushConfig": { + "flatPath": "v1beta1a/subscriptions/modifyPushConfig", + "id": "pubsub.subscriptions.modifyPushConfig", + "path": "v1beta1a/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.", "request": { - "$ref": "AcknowledgeRequest" + "$ref": "ModifyPushConfigRequest" }, - "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.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "pull": { + "request": { + "$ref": "PullRequest" + }, + "description": "Pulls a single message from the server.\nIf return_immediately is true, and no messages are available in the\nsubscription, this method returns FAILED_PRECONDITION. The system is free\nto return an UNAVAILABLE error if no messages are available in a\nreasonable amount of time (to reduce system load).", "httpMethod": "POST", "parameterOrder": [], "response": { - "$ref": "Empty" + "$ref": "PullResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], "parameters": {}, - "flatPath": "v1beta1a/subscriptions/acknowledge" + "flatPath": "v1beta1a/subscriptions/pull", + "path": "v1beta1a/subscriptions/pull", + "id": "pubsub.subscriptions.pull" + }, + "delete": { + "httpMethod": "DELETE", + "parameterOrder": [ + "subscription" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "subscription": { + "description": "The subscription to delete.", + "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}", + "path": "v1beta1a/subscriptions/{+subscription}", + "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." + }, + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListSubscriptionsResponse" + }, + "parameterOrder": [], + "parameters": { + "pageToken": { + "location": "query", + "description": "The value obtained in the last \u003ccode\u003eListSubscriptionsResponse\u003c/code\u003e\nfor continuation.", + "type": "string" + }, + "maxResults": { + "format": "int32", + "description": "Maximum number of subscriptions to return.", + "type": "integer", + "location": "query" + }, + "query": { + "location": "query", + "description": "A valid label query expression.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta1a/subscriptions", + "path": "v1beta1a/subscriptions", + "id": "pubsub.subscriptions.list", + "description": "Lists matching subscriptions." + }, + "create": { + "response": { + "$ref": "Subscription" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": {}, + "flatPath": "v1beta1a/subscriptions", + "id": "pubsub.subscriptions.create", + "path": "v1beta1a/subscriptions", + "request": { + "$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." + }, + "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.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": {}, + "flatPath": "v1beta1a/subscriptions/acknowledge", + "id": "pubsub.subscriptions.acknowledge", + "path": "v1beta1a/subscriptions/acknowledge" }, "modifyAckDeadline": { + "description": "Modifies the Ack deadline for a message received from a pull request.", + "request": { + "$ref": "ModifyAckDeadlineRequest" + }, "response": { "$ref": "Empty" }, @@ -63,11 +156,33 @@ ], "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" - } + "path": "v1beta1a/subscriptions/modifyAckDeadline" + }, + "get": { + "description": "Gets the configuration details of a subscription.", + "response": { + "$ref": "Subscription" + }, + "parameterOrder": [ + "subscription" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "subscription": { + "location": "path", + "description": "The name of the subscription to get.", + "type": "string", + "required": true, + "pattern": "^.+$" + } + }, + "flatPath": "v1beta1a/subscriptions/{subscriptionsId}", + "id": "pubsub.subscriptions.get", + "path": "v1beta1a/subscriptions/{+subscription}" }, "pullBatch": { "id": "pubsub.subscriptions.pullBatch", @@ -87,283 +202,83 @@ ], "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": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "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.", - "request": { - "$ref": "ModifyPushConfigRequest" - }, - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "Empty" - } - }, - "pull": { - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "PullResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": {}, - "flatPath": "v1beta1a/subscriptions/pull", - "path": "v1beta1a/subscriptions/pull", - "id": "pubsub.subscriptions.pull", - "request": { - "$ref": "PullRequest" - }, - "description": "Pulls a single message from the server.\nIf return_immediately is true, and no messages are available in the\nsubscription, this method returns FAILED_PRECONDITION. The system is free\nto return an UNAVAILABLE error if no messages are available in a\nreasonable amount of time (to reduce system load)." - }, - "delete": { - "path": "v1beta1a/subscriptions/{+subscription}", - "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" - ], - "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": "^.+$" - } - }, - "flatPath": "v1beta1a/subscriptions/{subscriptionsId}" - }, - "list": { - "response": { - "$ref": "ListSubscriptionsResponse" - }, - "parameterOrder": [], - "httpMethod": "GET", - "parameters": { - "pageToken": { - "location": "query", - "description": "The value obtained in the last \u003ccode\u003eListSubscriptionsResponse\u003c/code\u003e\nfor continuation.", - "type": "string" - }, - "maxResults": { - "location": "query", - "format": "int32", - "description": "Maximum number of subscriptions to return.", - "type": "integer" - }, - "query": { - "description": "A valid label query expression.", - "type": "string", - "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", - "description": "Lists matching subscriptions." - }, - "create": { - "request": { - "$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" - }, - "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": [], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": {}, - "flatPath": "v1beta1a/topics/publish", - "path": "v1beta1a/topics/publish", - "id": "pubsub.topics.publish", - "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" - }, - "parameterOrder": [ - "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" - } - }, - "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", + "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" - } - }, - "list": { - "description": "Lists matching topics.", - "httpMethod": "GET", - "parameterOrder": [], - "response": { - "$ref": "ListTopicsResponse" }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], + "flatPath": "v1beta1a/topics/publishBatch", + "id": "pubsub.topics.publishBatch", + "path": "v1beta1a/topics/publishBatch" + }, + "list": { + "flatPath": "v1beta1a/topics", + "path": "v1beta1a/topics", + "id": "pubsub.topics.list", + "description": "Lists matching topics.", + "httpMethod": "GET", + "response": { + "$ref": "ListTopicsResponse" + }, + "parameterOrder": [], "parameters": { - "pageToken": { - "location": "query", - "description": "The value obtained in the last \u003ccode\u003eListTopicsResponse\u003c/code\u003e\nfor continuation.", - "type": "string" - }, "maxResults": { - "location": "query", "format": "int32", "description": "Maximum number of topics to return.", - "type": "integer" + "type": "integer", + "location": "query" }, "query": { "location": "query", "description": "A valid label query expression.", "type": "string" + }, + "pageToken": { + "location": "query", + "description": "The value obtained in the last \u003ccode\u003eListTopicsResponse\u003c/code\u003e\nfor continuation.", + "type": "string" } }, - "flatPath": "v1beta1a/topics", - "path": "v1beta1a/topics", - "id": "pubsub.topics.list" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] }, "create": { + "description": "Creates the given topic with the given name.", + "request": { + "$ref": "Topic" + }, "response": { "$ref": "Topic" }, "parameterOrder": [], "httpMethod": "POST", + "parameters": {}, "scopes": [ "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." + "path": "v1beta1a/topics" }, "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", @@ -374,22 +289,127 @@ }, "parameterOrder": [ "topic" - ] + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "topic": { + "type": "string", + "required": true, + "pattern": "^.+$", + "location": "path", + "description": "The name of the topic to get." + } + } + }, + "publish": { + "request": { + "$ref": "PublishRequest" + }, + "description": "Adds a message to the topic. Returns NOT_FOUND if the topic does not\nexist.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": {}, + "flatPath": "v1beta1a/topics/publish", + "id": "pubsub.topics.publish", + "path": "v1beta1a/topics/publish" + }, + "delete": { + "path": "v1beta1a/topics/{+topic}", + "id": "pubsub.topics.delete", + "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.", + "httpMethod": "DELETE", + "parameterOrder": [ + "topic" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "topic": { + "pattern": "^.+$", + "location": "path", + "description": "Name of the topic to delete.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1a/topics/{topicsId}" } } } }, "parameters": { - "upload_protocol": { + "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": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "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" }, - "prettyPrint": { + "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." + }, + "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": { + "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" + "type": "boolean", + "location": "query" }, "fields": { "description": "Selector specifying which fields to include in a partial response.", @@ -415,83 +435,63 @@ "type": "string" }, "callback": { + "location": "query", "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": { - "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": { - "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" } }, "schemas": { - "ModifyPushConfigRequest": { + "ModifyAckDeadlineRequest": { + "description": "Request for the ModifyAckDeadline method.", + "type": "object", "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" - }, "subscription": { - "description": "The name of the 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" + }, + "ackIds": { + "description": "List of acknowledgment IDs. Either this field or ack_id\nshould be populated, not both.", + "items": { + "type": "string" + }, + "type": "array" } }, - "id": "ModifyPushConfigRequest", - "description": "Request for the ModifyPushConfig method.", - "type": "object" + "id": "ModifyAckDeadlineRequest" + }, + "PullBatchRequest": { + "description": "Request for the PullBatch method.", + "type": "object", + "properties": { + "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" + }, + "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" + } + }, + "id": "PullBatchRequest" }, "PubsubMessage": { "description": "A message data and its labels.", "type": "object", "properties": { - "data": { - "format": "byte", - "description": "The message payload.", - "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.", "type": "string" @@ -507,11 +507,68 @@ "$ref": "Label" }, "type": "array" + }, + "data": { + "format": "byte", + "description": "The message payload.", + "type": "string" } }, "id": "PubsubMessage" }, + "ModifyPushConfigRequest": { + "description": "Request for the ModifyPushConfig method.", + "type": "object", + "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" + }, + "subscription": { + "description": "The name of the subscription.", + "type": "string" + } + }, + "id": "ModifyPushConfigRequest" + }, + "ListTopicsResponse": { + "id": "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": { + "description": "The resulting topics.", + "items": { + "$ref": "Topic" + }, + "type": "array" + } + } + }, + "PublishBatchRequest": { + "description": "Request for the PublishBatch method.", + "type": "object", + "properties": { + "messages": { + "items": { + "$ref": "PubsubMessage" + }, + "type": "array", + "description": "The messages to publish." + }, + "topic": { + "description": "The messages in the request will be published on this topic.", + "type": "string" + } + }, + "id": "PublishBatchRequest" + }, "AcknowledgeRequest": { + "id": "AcknowledgeRequest", "description": "Request for the Acknowledge method.", "type": "object", "properties": { @@ -526,8 +583,7 @@ }, "type": "array" } - }, - "id": "AcknowledgeRequest" + } }, "PullBatchResponse": { "description": "Response for the PullBatch method.", @@ -544,46 +600,10 @@ "id": "PullBatchResponse" }, "Empty": { + "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", - "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" + "properties": {} }, "PullResponse": { "properties": { @@ -601,17 +621,18 @@ "type": "object" }, "PushConfig": { + "description": "Configuration for a push delivery endpoint.", + "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" } }, - "id": "PushConfig", - "description": "Configuration for a push delivery endpoint.", - "type": "object" + "id": "PushConfig" }, "PullRequest": { + "id": "PullRequest", "description": "Request for the Pull method.", "type": "object", "properties": { @@ -620,11 +641,10 @@ "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" + } }, "PubsubEvent": { "description": "An event indicating a received message or truncation event.", @@ -635,8 +655,8 @@ "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" + "type": "boolean", + "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.)" }, "truncated": { "description": "Indicates that this subscription has been truncated.", @@ -668,19 +688,19 @@ "id": "ListSubscriptionsResponse" }, "PublishRequest": { - "description": "Request for the Publish method.", "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.", - "$ref": "PubsubMessage" + "$ref": "PubsubMessage", + "description": "The message to publish." } }, - "id": "PublishRequest" + "id": "PublishRequest", + "description": "Request for the Publish method." }, "PublishBatchResponse": { "description": "Response for the PublishBatch method.", @@ -700,6 +720,10 @@ "description": "A subscription resource.", "type": "object", "properties": { + "name": { + "description": "Name of the subscription.", + "type": "string" + }, "topic": { "description": "The name of the topic from which this subscription is receiving messages.", "type": "string" @@ -712,16 +736,11 @@ "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": { @@ -729,16 +748,13 @@ "description": "Name of the topic.", "type": "string" } - } + }, + "id": "Topic" }, "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.", @@ -747,61 +763,45 @@ "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" + }, + "strValue": { + "description": "A string value.", + "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" } }, "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", + "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", + "revision": "20170814", + "documentationLink": "https://cloud.google.com/pubsub/docs", + "id": "pubsub:v1beta1a", + "title": "Google Cloud Pub/Sub API" } 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 8b2aae2..826f8de 100644 --- a/vendor/google.golang.org/api/pubsub/v1beta2/pubsub-api.json +++ b/vendor/google.golang.org/api/pubsub/v1beta2/pubsub-api.json @@ -1,628 +1,8 @@ { - "title": "Google Cloud Pub/Sub API", - "discoveryVersion": "v1", - "ownerName": "Google", - "resources": { - "projects": { - "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.", - "httpMethod": "GET", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "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.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy" - }, - "modifyAckDeadline": { - "path": "v1beta2/{+subscription}: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.", - "request": { - "$ref": "ModifyAckDeadlineRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "subscription" - ], - "response": { - "$ref": "Empty" - }, - "parameters": { - "subscription": { - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "description": "The name of the subscription.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline" - }, - "acknowledge": { - "httpMethod": "POST", - "parameterOrder": [ - "subscription" - ], - "response": { - "$ref": "Empty" - }, - "parameters": { - "subscription": { - "location": "path", - "description": "The subscription whose message is being acknowledged.", - "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", - "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" - }, - "parameterOrder": [ - "subscription" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "subscription": { - "location": "path", - "description": "The name of the subscription.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$" - } - }, - "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`." - }, - "delete": { - "httpMethod": "DELETE", - "parameterOrder": [ - "subscription" - ], - "response": { - "$ref": "Empty" - }, - "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." - }, - "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" - }, - "httpMethod": "POST", - "parameterOrder": [ - "subscription" - ], - "response": { - "$ref": "PullResponse" - }, - "parameters": { - "subscription": { - "description": "The subscription from which messages should be pulled.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "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}" - } - } - }, - "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" - }, - "parameters": { - "pageToken": { - "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" - }, - "pageSize": { - "type": "integer", - "location": "query", - "format": "int32", - "description": "Maximum number of topics to return." - }, - "project": { - "description": "The name of the cloud project that topics belong to.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "flatPath": "v1beta2/projects/{projectsId}/topics", - "path": "v1beta2/{+project}/topics", - "id": "pubsub.projects.topics.list", - "description": "Lists matching topics." - }, - "setIamPolicy": { - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "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\"`." - } - }, - "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}", - "path": "v1beta2/{+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" - } - }, - "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": { - "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/[^/]+$" - } - }, - "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:getIamPolicy", - "id": "pubsub.projects.topics.getIamPolicy", - "path": "v1beta2/{+resource}:getIamPolicy" - }, - "get": { - "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}", - "path": "v1beta2/{+topic}", - "id": "pubsub.projects.topics.get", - "description": "Gets the configuration of a topic.", - "httpMethod": "GET", - "response": { - "$ref": "Topic" - }, - "parameterOrder": [ - "topic" - ], - "parameters": { - "topic": { - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "description": "The name of the topic to get.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ] - }, - "publish": { - "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:publish", - "id": "pubsub.projects.topics.publish", - "path": "v1beta2/{+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.", - "response": { - "$ref": "PublishResponse" - }, - "parameterOrder": [ - "topic" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "topic": { - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "description": "The messages in the request will be published on this topic.", - "type": "string", - "required": true - } - } - } - }, - "resources": { - "subscriptions": { - "methods": { - "list": { - "id": "pubsub.projects.topics.subscriptions.list", - "path": "v1beta2/{+topic}/subscriptions", - "description": "Lists the name of the subscriptions for this topic.", - "response": { - "$ref": "ListTopicSubscriptionsResponse" - }, - "parameterOrder": [ - "topic" - ], - "httpMethod": "GET", - "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": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "description": "The name of the topic that subscriptions are attached to." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}/subscriptions" - } - } - } - } - } - } - } - }, "parameters": { - "alt": { - "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", - "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": { @@ -630,50 +10,50 @@ "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", - "location": "query" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" + "type": "boolean" }, "oauth_token": { + "type": "string", "location": "query", - "description": "OAuth 2.0 token for the current user.", + "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": { - "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" }, + "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", + "description": "Selector specifying which fields to include in a partial response." + }, + "callback": { + "description": "JSONP", "type": "string", "location": "query" }, @@ -690,10 +70,21 @@ "2" ] }, - "callback": { + "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": "JSONP" + "description": "Data format for response.", + "default": "json" } }, "schemas": { @@ -708,45 +99,45 @@ }, "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." + "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" }, + "PubsubMessage": { + "type": "object", + "properties": { + "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": { + "description": "Optional attributes for this message.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "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" + } + }, + "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." + }, "Binding": { "description": "Associates `members` with a `role`.", "type": "object", @@ -759,8 +150,8 @@ "type": "array" }, "role": { - "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", - "type": "string" + "type": "string", + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired" } }, "id": "Binding" @@ -772,6 +163,8 @@ "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": { + "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.", @@ -781,30 +174,27 @@ "type": "array" } }, - "id": "AcknowledgeRequest", - "description": "Request for the Acknowledge method.", - "type": "object" + "id": "AcknowledgeRequest" }, "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" - }, - "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": { @@ -819,9 +209,12 @@ "type": "array" } }, - "id": "ListTopicSubscriptionsResponse" + "id": "ListTopicSubscriptionsResponse", + "description": "Response for the `ListTopicSubscriptions` method." }, "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.", @@ -831,28 +224,24 @@ "type": "array" } }, - "id": "PullResponse", - "description": "Response for the `Pull` method.", - "type": "object" + "id": "PullResponse" }, "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." + }, + "ackId": { + "description": "This ID can be used to acknowledge the received message.", + "type": "string" } - } + }, + "id": "ReceivedMessage" }, "PushConfig": { - "description": "Configuration for a push delivery endpoint.", - "type": "object", "properties": { "attributes": { "additionalProperties": { @@ -862,43 +251,47 @@ "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\"." + "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" + "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", - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed." + "type": "array" } }, "id": "TestIamPermissionsResponse" }, "PullRequest": { + "description": "Request for the `Pull` method.", + "type": "object", "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" + }, + "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" } }, - "id": "PullRequest", - "description": "Request for the `Pull` method.", - "type": "object" + "id": "PullRequest" }, "ListSubscriptionsResponse": { + "id": "ListSubscriptionsResponse", + "description": "Response for the `ListSubscriptions` method.", "type": "object", "properties": { "nextPageToken": { @@ -912,23 +305,21 @@ }, "type": "array" } - }, - "id": "ListSubscriptionsResponse", - "description": "Response for the `ListSubscriptions` method." + } }, "PublishRequest": { - "description": "Request for the Publish method.", "type": "object", "properties": { "messages": { + "description": "The messages to publish.", "items": { "$ref": "PubsubMessage" }, - "type": "array", - "description": "The messages to publish." + "type": "array" } }, - "id": "PublishRequest" + "id": "PublishRequest", + "description": "Request for the Publish method." }, "PublishResponse": { "type": "object", @@ -945,28 +336,28 @@ "description": "Response for the `Publish` method." }, "Subscription": { + "id": "Subscription", + "description": "A subscription resource.", + "type": "object", "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" + "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": { "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" + }, + "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.", @@ -982,17 +373,6 @@ }, "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", @@ -1017,10 +397,28 @@ }, "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", "properties": { + "ackIds": { + "description": "List of acknowledgment IDs.", + "items": { + "type": "string" + }, + "type": "array" + }, "ackId": { "description": "The acknowledgment ID. Either this or ack_ids must be populated, but not\nboth.", "type": "string" @@ -1029,13 +427,6 @@ "format": "int32", "description": "The new ack deadline with respect to the time this request was sent to\nthe Pub/Sub system. Must be \u003e= 0. For example, if the value is 10, the new\nack deadline will expire 10 seconds after the `ModifyAckDeadline` call\nwas made. Specifying zero may immediately make the message available for\nanother pull request.", "type": "integer" - }, - "ackIds": { - "description": "List of acknowledgment IDs.", - "items": { - "type": "string" - }, - "type": "array" } }, "id": "ModifyAckDeadlineRequest" @@ -1061,15 +452,624 @@ } } }, - "kind": "discovery#restDescription", - "description": "Provides reliable, many-to-many, asynchronous messaging between applications.\n", "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", - "revision": "20170622", + "id": "pubsub:v1beta2", "documentationLink": "https://cloud.google.com/pubsub/docs", - "id": "pubsub:v1beta2" + "revision": "20170814", + "title": "Google Cloud Pub/Sub API", + "discoveryVersion": "v1", + "ownerName": "Google", + "resources": { + "projects": { + "resources": { + "subscriptions": { + "methods": { + "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" + }, + "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/[^/]+/subscriptions/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions", + "path": "v1beta2/{+resource}:testIamPermissions", + "id": "pubsub.projects.subscriptions.testIamPermissions" + }, + "modifyPushConfig": { + "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" + } + }, + "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`." + }, + "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": { + "description": "The subscription from which messages should be pulled.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:pull", + "id": "pubsub.projects.subscriptions.pull", + "path": "v1beta2/{+subscription}:pull" + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "subscription" + ], + "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" + ], + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}", + "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." + }, + "list": { + "flatPath": "v1beta2/projects/{projectsId}/subscriptions", + "id": "pubsub.projects.subscriptions.list", + "path": "v1beta2/{+project}/subscriptions", + "description": "Lists matching subscriptions.", + "response": { + "$ref": "ListSubscriptionsResponse" + }, + "parameterOrder": [ + "project" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "project": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The name of the cloud project that subscriptions belong to.", + "type": "string", + "required": true + }, + "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": { + "location": "query", + "format": "int32", + "description": "Maximum number of subscriptions to return.", + "type": "integer" + } + } + }, + "create": { + "id": "pubsub.projects.subscriptions.create", + "path": "v1beta2/{+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. Note that\nfor REST API requests, you must specify a name.", + "request": { + "$ref": "Subscription" + }, + "response": { + "$ref": "Subscription" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "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}" + }, + "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": { + "type": "string", + "required": true, + "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." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy", + "id": "pubsub.projects.subscriptions.setIamPolicy", + "path": "v1beta2/{+resource}:setIamPolicy" + }, + "acknowledge": { + "httpMethod": "POST", + "parameterOrder": [ + "subscription" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "subscription": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "description": "The subscription whose message is being acknowledged." + } + }, + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge", + "path": "v1beta2/{+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." + }, + "modifyAckDeadline": { + "httpMethod": "POST", + "parameterOrder": [ + "subscription" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "subscription": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "description": "The name of the subscription." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline", + "path": "v1beta2/{+subscription}: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.", + "request": { + "$ref": "ModifyAckDeadlineRequest" + } + }, + "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.", + "httpMethod": "GET", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "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.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy" + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "subscription" + ], + "response": { + "$ref": "Subscription" + }, + "parameters": { + "subscription": { + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "description": "The name of the subscription to get.", + "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/{+subscription}", + "id": "pubsub.projects.subscriptions.get", + "description": "Gets the configuration details of a subscription." + } + } + }, + "topics": { + "methods": { + "create": { + "response": { + "$ref": "Topic" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "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}", + "id": "pubsub.projects.topics.create", + "path": "v1beta2/{+name}", + "request": { + "$ref": "Topic" + }, + "description": "Creates the given topic with the given name." + }, + "setIamPolicy": { + "httpMethod": "POST", + "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 specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:setIamPolicy", + "path": "v1beta2/{+resource}:setIamPolicy", + "id": "pubsub.projects.topics.setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy." + }, + "getIamPolicy": { + "path": "v1beta2/{+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", + "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/[^/]+/topics/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:getIamPolicy" + }, + "get": { + "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.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}", + "id": "pubsub.projects.topics.get", + "path": "v1beta2/{+topic}", + "description": "Gets the configuration of a topic." + }, + "publish": { + "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:publish", + "id": "pubsub.projects.topics.publish", + "path": "v1beta2/{+topic}: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.", + "request": { + "$ref": "PublishRequest" + }, + "response": { + "$ref": "PublishResponse" + }, + "parameterOrder": [ + "topic" + ], + "httpMethod": "POST", + "parameters": { + "topic": { + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "description": "The messages in the request will be published on this topic.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "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": "^projects/[^/]+/topics/[^/]+$", + "location": "path" + } + }, + "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" + }, + "delete": { + "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}", + "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" + ], + "parameters": { + "topic": { + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "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" + ] + }, + "list": { + "flatPath": "v1beta2/projects/{projectsId}/topics", + "path": "v1beta2/{+project}/topics", + "id": "pubsub.projects.topics.list", + "description": "Lists matching topics.", + "httpMethod": "GET", + "response": { + "$ref": "ListTopicsResponse" + }, + "parameterOrder": [ + "project" + ], + "parameters": { + "pageToken": { + "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" + }, + "pageSize": { + "type": "integer", + "location": "query", + "format": "int32", + "description": "Maximum number of topics to return." + }, + "project": { + "description": "The name of the cloud project that topics belong to.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + } + }, + "resources": { + "subscriptions": { + "methods": { + "list": { + "description": "Lists the name of the subscriptions for this topic.", + "httpMethod": "GET", + "parameterOrder": [ + "topic" + ], + "response": { + "$ref": "ListTopicSubscriptionsResponse" + }, + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum number of subscription names to return.", + "type": "integer" + }, + "topic": { + "description": "The name of the topic that subscriptions are attached to.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path" + }, + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}/subscriptions", + "path": "v1beta2/{+topic}/subscriptions", + "id": "pubsub.projects.topics.subscriptions.list" + } + } + } + } + } + } + } + } } 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 6004846..50bb231 100644 --- a/vendor/google.golang.org/api/runtimeconfig/v1/runtimeconfig-api.json +++ b/vendor/google.golang.org/api/runtimeconfig/v1/runtimeconfig-api.json @@ -1,16 +1,22 @@ { - "id": "runtimeconfig:v1", - "revision": "20170620", - "documentationLink": "https://cloud.google.com/deployment-manager/runtime-configurator/", - "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "CancelOperationRequest": { + "id": "CancelOperationRequest", + "description": "The request message for Operations.CancelOperation.", + "type": "object", + "properties": {} + }, "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": { "type": "object", "additionalProperties": { @@ -24,63 +30,59 @@ "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" }, "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.", - "type": "boolean" + "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" }, - "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`.", + "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" } }, - "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" + "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" }, - "error": { - "$ref": "Status", - "description": "The error result of the operation in case of failure or cancellation." - }, - "metadata": { + "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": "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": "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" } - }, - "id": "Operation", - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call." + } }, "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" @@ -90,19 +92,13 @@ "type": "object", "properties": {}, "id": "Empty" - }, - "CancelOperationRequest": { - "type": "object", - "properties": {}, - "id": "CancelOperationRequest", - "description": "The request message for Operations.CancelOperation." } }, - "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 RuntimeConfig", "auth": { "oauth2": { @@ -125,14 +121,92 @@ "resources": { "operations": { "methods": { - "cancel": { + "delete": { + "path": "v1/{+name}", + "id": "runtimeconfig.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/cloudruntimeconfig" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "type": "string", + "required": true, + "pattern": "^operations/.+$", + "location": "path" + } + }, + "flatPath": "v1/operations/{operationsId}" + }, + "list": { + "response": { + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "pageToken": { + "description": "The standard list page token.", + "type": "string", + "location": "query" + }, + "name": { + "pattern": "^operations$", + "location": "path", + "description": "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" + }, + "filter": { + "description": "The standard list filter.", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1/operations", + "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." + }, + "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": { "description": "The name of the operation resource to be cancelled.", @@ -142,149 +216,45 @@ "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" - ] + "flatPath": "v1/operations/{operationsId}:cancel" } } } }, "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": { + "location": "query", "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\")." + "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" + }, "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" + ] }, "alt": { "enum": [ @@ -308,15 +278,45 @@ "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" + }, + "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" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string" } }, "version": "v1", "baseUrl": "https://runtimeconfig.googleapis.com/", + "servicePath": "", "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": "" + "basePath": "", + "documentationLink": "https://cloud.google.com/deployment-manager/runtime-configurator/", + "revision": "20170816", + "id": "runtimeconfig:v1", + "discoveryVersion": "v1" } 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 2b66cb6..4dcb473 100644 --- a/vendor/google.golang.org/api/runtimeconfig/v1/runtimeconfig-gen.go +++ b/vendor/google.golang.org/api/runtimeconfig/v1/runtimeconfig-gen.go @@ -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 89651b3..7e73d38 100644 --- a/vendor/google.golang.org/api/runtimeconfig/v1beta1/runtimeconfig-api.json +++ b/vendor/google.golang.org/api/runtimeconfig/v1beta1/runtimeconfig-api.json @@ -1,13 +1,353 @@ { + "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" + }, + "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" + }, + "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 `{}`." + }, + "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.", + "type": "object", + "properties": { + "number": { + "format": "int32", + "description": "The number variables under the `path` that must exist to meet this\ncondition. Defaults to 1 if not specified.", + "type": "integer" + }, + "path": { + "description": "The root of the variable subtree to monitor. For example, `/foo`.", + "type": "string" + } + }, + "id": "Cardinality" + }, + "ListConfigsResponse": { + "id": "ListConfigsResponse", + "description": "`ListConfigs()` returns the following response. The order of returned\nobjects is arbitrary; that is, it is not ordered in any particular way.", + "type": "object", + "properties": { + "configs": { + "items": { + "$ref": "RuntimeConfig" + }, + "type": "array", + "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." + }, + "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" + } + } + }, + "EndCondition": { + "description": "The condition that a Waiter resource is waiting for.", + "type": "object", + "properties": { + "cardinality": { + "$ref": "Cardinality", + "description": "The cardinality of the `EndCondition`." + } + }, + "id": "EndCondition" + }, + "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" + } + } + }, + "ListVariablesResponse": { + "properties": { + "variables": { + "description": "A list of variables and their values. The order of returned variable\nobjects is arbitrary.", + "items": { + "$ref": "Variable" + }, + "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", + "description": "Response for the `ListVariables()` method.", + "type": "object" + }, + "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": { + "type": "string", + "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." + } + }, + "id": "WatchVariableRequest" + }, + "ListWaitersResponse": { + "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", + "description": "Response for the `ListWaiters()` method.\nOrder of returned waiter objects is arbitrary." + }, + "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": { + "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": { + "error": { + "description": "[Output Only] If the waiter ended due to a failure or timeout, this value\nwill be set.", + "$ref": "Status" + }, + "failure": { + "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.", + "$ref": "EndCondition" + }, + "success": { + "$ref": "EndCondition", + "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." + }, + "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": { + "type": "string", + "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`." + }, + "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" + } + } + }, + "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": { + "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" + }, + "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": { + "type": "string", + "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." + } + }, + "id": "Variable" + }, + "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" + }, + "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." + }, + "response": { + "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`.", + "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": "Operation" + } + }, + "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 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" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" } } } @@ -22,416 +362,255 @@ "projects": { "resources": { "configs": { + "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": "^projects/[^/]+/configs/[^/]+$", + "location": "path" + } + }, + "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", + "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", + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1beta1/projects/{projectsId}/configs", + "id": "runtimeconfig.projects.configs.create", + "path": "v1beta1/{+parent}/configs", + "description": "Creates a new RuntimeConfig resource. The configuration name must be\nunique within project.", + "request": { + "$ref": "RuntimeConfig" + } + }, + "getIamPolicy": { + "httpMethod": "GET", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "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 is being requested.\nSee the operation documentation for the appropriate value for this field." + } + }, + "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." + }, + "get": { + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}", + "path": "v1beta1/{+name}", + "id": "runtimeconfig.projects.configs.get", + "description": "Gets information about a RuntimeConfig resource.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "RuntimeConfig" + }, + "parameters": { + "name": { + "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, + "pattern": "^projects/[^/]+/configs/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ] + }, + "update": { + "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" + }, + "httpMethod": "PUT", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "RuntimeConfig" + }, + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/configs/[^/]+$", + "location": "path", + "description": "The name of the RuntimeConfig resource to update, 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" + ] + }, + "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/[^/]+/configs/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}:testIamPermissions", + "path": "v1beta1/{+resource}:testIamPermissions", + "id": "runtimeconfig.projects.configs.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 a RuntimeConfig resource.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "parameters": { + "name": { + "location": "path", + "description": "The RuntimeConfig resource to delete, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/configs/[^/]+$" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}", + "id": "runtimeconfig.projects.configs.delete", + "path": "v1beta1/{+name}" + }, + "list": { + "description": "Lists all the RuntimeConfig resources within project.", + "httpMethod": "GET", + "response": { + "$ref": "ListConfigsResponse" + }, + "parameterOrder": [ + "parent" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "parameters": { + "parent": { + "pattern": "^projects/[^/]+$", + "location": "path", + "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 + }, + "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" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/configs", + "path": "v1beta1/{+parent}/configs", + "id": "runtimeconfig.projects.configs.list" + } + }, "resources": { - "waiters": { - "methods": { - "delete": { - "description": "Deletes the waiter with the specified name.", - "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "parameters": { - "name": { - "description": "The Waiter resource to delete, in the format:\n\n `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]`", - "type": "string", - "required": true, - "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" - }, - "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]`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+/waiters/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters/{waitersId}" - }, - "list": { - "description": "List waiters within the given configuration.", - "httpMethod": "GET", - "response": { - "$ref": "ListWaitersResponse" - }, - "parameterOrder": [ - "parent" - ], - "parameters": { - "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 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]`", - "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}/waiters", - "path": "v1beta1/{+parent}/waiters", - "id": "runtimeconfig.projects.configs.waiters.list" - }, - "create": { - "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.", - "response": { - "$ref": "Operation" - }, - "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": { - "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]`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+$" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters", - "id": "runtimeconfig.projects.configs.waiters.create", - "path": "v1beta1/{+parent}/waiters" - }, - "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": { - "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/[^/]+$", - "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", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "location": "path", - "description": "The name of the operation resource.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+/operations/.+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "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": { + "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.", "response": { "$ref": "Variable" }, @@ -456,254 +635,415 @@ "required": true, "pattern": "^projects/[^/]+/configs/[^/]+$" } + } + }, + "get": { + "id": "runtimeconfig.projects.configs.variables.get", + "path": "v1beta1/{+name}", + "description": "Gets information about a single variable.", + "response": { + "$ref": "Variable" }, - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables", - "id": "runtimeconfig.projects.configs.variables.create", - "path": "v1beta1/{+parent}/variables", + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "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]`", + "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}" + }, + "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" + }, + "response": { + "$ref": "Variable" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "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 + } + }, + "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" + }, + "update": { "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" + "description": "Updates an existing variable with a new value.", + "httpMethod": "PUT", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Variable" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "parameters": { + "name": { + "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, + "pattern": "^projects/[^/]+/configs/[^/]+/variables/.+$" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}", + "path": "v1beta1/{+name}", + "id": "runtimeconfig.projects.configs.variables.update" }, - "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" + "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": { + "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/[^/]+/variables/.+$" + } + }, + "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" }, - "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" + "delete": { + "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.", + "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": { + "type": "string", + "required": true, + "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]`" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}" + }, + "list": { + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables", + "id": "runtimeconfig.projects.configs.variables.list", + "path": "v1beta1/{+parent}/variables", + "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": { + "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": { + "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": { + "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 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": { + "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" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ] } - }, - "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" + "waiters": { + "methods": { + "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" + }, + "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": { + "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]`.", + "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}/waiters", + "path": "v1beta1/{+parent}/waiters", + "id": "runtimeconfig.projects.configs.waiters.create" }, - "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" + "testIamPermissions": { + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters/{waitersId}:testIamPermissions", + "path": "v1beta1/{+resource}:testIamPermissions", + "id": "runtimeconfig.projects.configs.waiters.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" + }, + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameters": { + "resource": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/configs/[^/]+/waiters/[^/]+$", + "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/cloudruntimeconfig" + ] + }, + "delete": { + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "name": { + "pattern": "^projects/[^/]+/configs/[^/]+/waiters/[^/]+$", + "location": "path", + "description": "The Waiter resource to delete, in the format:\n\n `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_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}/waiters/{waitersId}", + "path": "v1beta1/{+name}", + "id": "runtimeconfig.projects.configs.waiters.delete", + "description": "Deletes the waiter with the specified name." + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Waiter" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "parameters": { + "name": { + "location": "path", + "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]`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/configs/[^/]+/waiters/[^/]+$" + } + }, + "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": { + "response": { + "$ref": "ListWaitersResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "parameters": { + "parent": { + "pattern": "^projects/[^/]+/configs/[^/]+$", + "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 by in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", + "type": "string", + "required": true + }, + "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": { + "type": "integer", + "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." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters", + "id": "runtimeconfig.projects.configs.waiters.list", + "path": "v1beta1/{+parent}/waiters", + "description": "List waiters within the given configuration." } - }, - "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." + } + }, + "operations": { + "methods": { + "get": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "pattern": "^projects/[^/]+/configs/[^/]+/operations/.+$", + "location": "path", + "description": "The name of the operation resource.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/operations/{operationsId}", + "id": "runtimeconfig.projects.configs.operations.get", + "path": "v1beta1/{+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." + }, + "testIamPermissions": { + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "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/[^/]+/operations/.+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/operations/{operationsId}:testIamPermissions", + "id": "runtimeconfig.projects.configs.operations.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." + } + } } } } @@ -711,16 +1051,60 @@ } }, "parameters": { - "access_token": { + "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": { + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], "location": "query", - "description": "OAuth access token.", + "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": { "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", @@ -733,14 +1117,14 @@ "type": "boolean" }, "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": { "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", @@ -748,54 +1132,10 @@ "location": "query" }, "prettyPrint": { + "location": "query", "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": { - "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" + "type": "boolean" } }, "version": "v1beta1", @@ -804,349 +1144,9 @@ "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", + "revision": "20170816", "documentationLink": "https://cloud.google.com/deployment-manager/runtime-configurator/", "id": "runtimeconfig:v1beta1", "discoveryVersion": "v1", - "version_module": "True", - "schemas": { - "SetIamPolicyRequest": { - "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", - "description": "Request message for `SetIamPolicy` method." - }, - "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": { - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, - "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.\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" - }, - "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.", - "type": "object", - "properties": { - "number": { - "format": "int32", - "description": "The number variables under the `path` that must exist to meet this\ncondition. Defaults to 1 if not specified.", - "type": "integer" - }, - "path": { - "description": "The root of the variable subtree to monitor. For example, `/foo`.", - "type": "string" - } - }, - "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": { - "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", - "description": "`ListConfigs()` returns the following response. The order of returned\nobjects is arbitrary; that is, it is not ordered in any particular way.", - "type": "object" - }, - "EndCondition": { - "description": "The condition that a Waiter resource is waiting for.", - "type": "object", - "properties": { - "cardinality": { - "$ref": "Cardinality", - "description": "The cardinality of the `EndCondition`." - } - }, - "id": "EndCondition" - }, - "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." - }, - "ListVariablesResponse": { - "description": "Response for the `ListVariables()` method.", - "type": "object", - "properties": { - "variables": { - "items": { - "$ref": "Variable" - }, - "type": "array", - "description": "A list of variables and their values. The order of returned variable\nobjects is arbitrary." - }, - "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.", - "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." - } - }, - "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_module": true } 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 fc28d31..960feb8 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 d545816..f6731ad 100644 --- a/vendor/google.golang.org/api/safebrowsing/v4/safebrowsing-api.json +++ b/vendor/google.golang.org/api/safebrowsing/v4/safebrowsing-api.json @@ -1,16 +1,74 @@ { + "rootUrl": "https://safebrowsing.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "safebrowsing", "batchPath": "batch", - "revision": "20170628", + "revision": "20170814", "documentationLink": "https://developers.google.com/safe-browsing/", "id": "safebrowsing:v4", "title": "Google Safe Browsing API", - "ownerName": "Google", "discoveryVersion": "v1", + "ownerName": "Google", "resources": { + "threatListUpdates": { + "methods": { + "fetch": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "FetchThreatListUpdatesResponse" + }, + "parameters": {}, + "flatPath": "v4/threatListUpdates:fetch", + "path": "v4/threatListUpdates:fetch", + "id": "safebrowsing.threatListUpdates.fetch", + "request": { + "$ref": "FetchThreatListUpdatesRequest" + }, + "description": "Fetches the most recent threat list updates. A client can request updates\nfor multiple lists at once." + } + } + }, + "encodedFullHashes": { + "methods": { + "get": { + "httpMethod": "GET", + "response": { + "$ref": "FindFullHashesResponse" + }, + "parameterOrder": [ + "encodedRequest" + ], + "parameters": { + "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}", + "path": "v4/encodedFullHashes/{encodedRequest}", + "id": "safebrowsing.encodedFullHashes.get", + "description": "" + } + } + }, "threatLists": { "methods": { "list": { - "flatPath": "v4/threatLists", "id": "safebrowsing.threatLists.list", "path": "v4/threatLists", "description": "Lists the Safe Browsing threat lists available for download.", @@ -19,7 +77,8 @@ }, "parameterOrder": [], "httpMethod": "GET", - "parameters": {} + "parameters": {}, + "flatPath": "v4/threatLists" } } }, @@ -45,15 +104,15 @@ "fullHashes": { "methods": { "find": { - "httpMethod": "POST", - "parameterOrder": [], "response": { "$ref": "FindFullHashesResponse" }, + "parameterOrder": [], + "httpMethod": "POST", "parameters": {}, "flatPath": "v4/fullHashes:find", - "path": "v4/fullHashes:find", "id": "safebrowsing.fullHashes.find", + "path": "v4/fullHashes:find", "description": "Finds the full hashes that match the requested hash prefixes.", "request": { "$ref": "FindFullHashesRequest" @@ -62,76 +121,21 @@ } }, "encodedUpdates": { - "methods": { - "get": { - "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.", - "request": { - "$ref": "FetchThreatListUpdatesRequest" - }, - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "FetchThreatListUpdatesResponse" - }, - "parameters": {}, - "flatPath": "v4/threatListUpdates:fetch", - "path": "v4/threatListUpdates:fetch", - "id": "safebrowsing.threatListUpdates.fetch" - } - } - }, - "encodedFullHashes": { "methods": { "get": { "description": "", + "response": { + "$ref": "FetchThreatListUpdatesResponse" + }, "parameterOrder": [ "encodedRequest" ], "httpMethod": "GET", - "response": { - "$ref": "FindFullHashesResponse" - }, "parameters": { "clientId": { - "type": "string", "location": "query", - "description": "A client ID that (hopefully) uniquely identifies the client implementation\nof the Safe Browsing API." + "description": "A client ID that uniquely identifies the client implementation of the Safe\nBrowsing API.", + "type": "string" }, "clientVersion": { "description": "The version of the client implementation.", @@ -140,32 +144,42 @@ }, "encodedRequest": { "format": "byte", - "description": "A serialized FindFullHashesRequest proto.", + "description": "A serialized FetchThreatListUpdatesRequest proto.", "type": "string", "required": true, "location": "path" } }, - "flatPath": "v4/encodedFullHashes/{encodedRequest}", - "id": "safebrowsing.encodedFullHashes.get", - "path": "v4/encodedFullHashes/{encodedRequest}" + "flatPath": "v4/encodedUpdates/{encodedRequest}", + "id": "safebrowsing.encodedUpdates.get", + "path": "v4/encodedUpdates/{encodedRequest}" } } } }, "parameters": { - "fields": { - "description": "Selector specifying which fields to include in a partial response.", + "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", - "location": "query" + "type": "string" + }, + "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" @@ -175,7 +189,8 @@ "1", "2" ], - "description": "V1 error format." + "description": "V1 error format.", + "type": "string" }, "callback": { "location": "query", @@ -183,8 +198,6 @@ "type": "string" }, "alt": { - "description": "Data format for response.", - "default": "json", "enum": [ "json", "media", @@ -196,22 +209,24 @@ "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" }, "access_token": { "location": "query", "description": "OAuth access token.", "type": "string" }, - "quotaUser": { - "type": "string", + "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": { + "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.", @@ -225,592 +240,15 @@ "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" } }, "schemas": { - "RawIndices": { - "description": "A set of raw indices to remove from a local list.", - "type": "object", - "properties": { - "indices": { - "description": "The indices to remove from a lexicographically-sorted local list.", - "items": { - "format": "int32", - "type": "integer" - }, - "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" - } - } - }, - "FetchThreatListUpdatesResponse": { - "type": "object", - "properties": { - "minimumWaitDuration": { - "format": "google-duration", - "description": "The minimum duration the client must wait before issuing any update\nrequest. If this field is not set clients may update as soon as they want.", - "type": "string" - }, - "listUpdateResponses": { - "description": "The list updates requested by the clients.", - "items": { - "$ref": "ListUpdateResponse" - }, - "type": "array" - } - }, - "id": "FetchThreatListUpdatesResponse" - }, - "Checksum": { - "description": "The expected state of a client's local database.", - "type": "object", - "properties": { - "sha256": { - "format": "byte", - "description": "The SHA256 hash of the client state; that is, of the sorted list of all\nhashes present in the database.", - "type": "string" - } - }, - "id": "Checksum" - }, - "FindFullHashesResponse": { - "type": "object", - "properties": { - "matches": { - "description": "The full hashes that matched the requested prefixes.", - "items": { - "$ref": "ThreatMatch" - }, - "type": "array" - }, - "negativeCacheDuration": { - "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": { - "description": "A set of threats that should be added or removed from a client's local\ndatabase.", - "type": "object", - "properties": { - "riceIndices": { - "$ref": "RiceDeltaEncoding", - "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": { - "type": "string", - "enumDescriptions": [ - "Unknown.", - "Raw, uncompressed data.", - "Rice-Golomb encoded data." - ], - "enum": [ - "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." - }, - "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" - } - }, - "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": { - "format": "byte", - "type": "string" - }, - "type": "array" - }, - "client": { - "$ref": "ClientInfo", - "description": "The client metadata." - }, - "threatInfo": { - "$ref": "ThreatInfo", - "description": "The lists and hashes to be checked." - } - } - }, - "ListUpdateRequest": { - "description": "A single list update request.", - "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 types of entries present in the list.", - "type": "string" - }, - "state": { - "format": "byte", - "description": "The current state of the client for the requested list (the encrypted\nclient state that was received from the last successful list update).", - "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.", - "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" - ] - }, - "constraints": { - "description": "The constraints associated with this request.", - "$ref": "Constraints" - }, - "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." - ] - } - }, - "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", - "type": "object", - "properties": { - "listUpdateRequests": { - "description": "The requested threat list updates.", - "items": { - "$ref": "ListUpdateRequest" - }, - "type": "array" - }, - "client": { - "$ref": "ClientInfo", - "description": "The client metadata." - } - }, - "id": "FetchThreatListUpdatesRequest" - }, - "ListUpdateResponse": { - "description": "An update to an individual list.", - "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 for which data is returned.", - "type": "string" - }, - "threatEntryType": { - "description": "The format of the threats.", - "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" - ] - }, - "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.", - "items": { - "$ref": "ThreatEntrySet" - }, - "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" - }, - "responseType": { - "description": "The type of response. This may indicate that an action is required by the\nclient when the response is received.", - "type": "string", - "enumDescriptions": [ - "Unknown.", - "Partial updates are applied to the client's existing local database.", - "Full updates replace the client's entire local database. This means\nthat either the client was seriously out-of-date or the client is\nbelieved to be corrupt." - ], - "enum": [ - "RESPONSE_TYPE_UNSPECIFIED", - "PARTIAL_UPDATE", - "FULL_UPDATE" - ] - }, - "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": [ - "Unknown.", - "Malware threat type.", - "Social engineering threat type.", - "Unwanted software threat type.", - "Potentially harmful application threat type.", - "Malicious binary threat type." - ] - }, - "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": { - "description": "The constraints for this update.", - "type": "object", - "properties": { - "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" - }, - "maxDatabaseEntries": { - "format": "int32", - "description": "Sets the maximum number of entries that the client is willing to have\nin the local database. This should be a power of 2 between 2**10 and\n2**20. If zero, no database size limit is set.", - "type": "integer" - }, - "supportedCompressions": { - "description": "The compression types supported by the client.", - "items": { - "enum": [ - "COMPRESSION_TYPE_UNSPECIFIED", - "RAW", - "RICE" - ], - "type": "string" - }, - "type": "array", - "enumDescriptions": [ - "Unknown.", - "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.", @@ -833,9 +271,27 @@ "ALL_PLATFORMS", "CHROME" ], - "description": "The platform type targeted by the list's entries." + "description": "The platform type targeted by the list's entries.", + "type": "string" }, "threatType": { + "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 posed by the list's entries.", "type": "string", "enumDescriptions": [ "Unknown.", @@ -843,19 +299,27 @@ "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." + "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." + ] }, "threatEntryType": { + "enum": [ + "THREAT_ENTRY_TYPE_UNSPECIFIED", + "URL", + "EXECUTABLE", + "IP_RANGE", + "CHROME_EXTENSION", + "FILENAME", + "CERT" + ], "description": "The entry types contained in the list.", "type": "string", "enumDescriptions": [ @@ -866,23 +330,14 @@ "Chrome extension.", "Filename.", "CERT" - ], - "enum": [ - "THREAT_ENTRY_TYPE_UNSPECIFIED", - "URL", - "EXECUTABLE", - "IP_RANGE", - "CHROME_EXTENSION", - "FILENAME", - "CERT" ] } }, - "id": "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" }, "MetadataEntry": { - "description": "A single metadata entry.", - "type": "object", "properties": { "value": { "format": "byte", @@ -895,12 +350,11 @@ "type": "string" } }, - "id": "MetadataEntry" + "id": "MetadataEntry", + "description": "A single metadata entry.", + "type": "object" }, "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.", @@ -910,7 +364,25 @@ "description": "The version of the client implementation.", "type": "string" } - } + }, + "id": "ClientInfo", + "description": "The client metadata associated with Safe Browsing API requests.", + "type": "object" + }, + "FindThreatMatchesRequest": { + "properties": { + "client": { + "$ref": "ClientInfo", + "description": "The client metadata." + }, + "threatInfo": { + "$ref": "ThreatInfo", + "description": "The lists and entries to be checked for matches." + } + }, + "id": "FindThreatMatchesRequest", + "description": "Request to check entries against lists.", + "type": "object" }, "ThreatInfo": { "description": "The information regarding one or more threats that a client submits when\nchecking for matches in threat lists.", @@ -942,31 +414,47 @@ "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." + "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." + "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", @@ -977,7 +465,8 @@ "ANY_PLATFORM", "ALL_PLATFORMS", "CHROME" - ] + ], + "type": "string" }, "type": "array", "enumDescriptions": [ @@ -990,8 +479,7 @@ "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.", @@ -1003,24 +491,7 @@ }, "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.", @@ -1030,21 +501,630 @@ "type": "array" } }, - "id": "ThreatEntryMetadata" + "id": "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" + }, + "RawIndices": { + "description": "A set of raw indices to remove from a local list.", + "type": "object", + "properties": { + "indices": { + "description": "The indices to remove from a lexicographically-sorted local list.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + } + }, + "id": "RawIndices" + }, + "RawHashes": { + "properties": { + "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", + "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" + }, + "FetchThreatListUpdatesResponse": { + "type": "object", + "properties": { + "minimumWaitDuration": { + "format": "google-duration", + "description": "The minimum duration the client must wait before issuing any update\nrequest. If this field is not set clients may update as soon as they want.", + "type": "string" + }, + "listUpdateResponses": { + "description": "The list updates requested by the clients.", + "items": { + "$ref": "ListUpdateResponse" + }, + "type": "array" + } + }, + "id": "FetchThreatListUpdatesResponse" + }, + "FindFullHashesResponse": { + "properties": { + "negativeCacheDuration": { + "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" + }, + "matches": { + "description": "The full hashes that matched the requested prefixes.", + "items": { + "$ref": "ThreatMatch" + }, + "type": "array" + } + }, + "id": "FindFullHashesResponse", + "type": "object" + }, + "Checksum": { + "properties": { + "sha256": { + "format": "byte", + "description": "The SHA256 hash of the client state; that is, of the sorted list of all\nhashes present in the database.", + "type": "string" + } + }, + "id": "Checksum", + "description": "The expected state of a client's local database.", + "type": "object" + }, + "ThreatEntrySet": { + "description": "A set of threats that should be added or removed from a client's local\ndatabase.", + "type": "object", + "properties": { + "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" + }, + "riceIndices": { + "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.", + "$ref": "RiceDeltaEncoding" + }, + "compressionType": { + "enumDescriptions": [ + "Unknown.", + "Raw, uncompressed data.", + "Rice-Golomb encoded data." + ], + "enum": [ + "COMPRESSION_TYPE_UNSPECIFIED", + "RAW", + "RICE" + ], + "description": "The compression type for the entries in this set.", + "type": "string" + }, + "rawIndices": { + "description": "The raw removal indices for a local list.", + "$ref": "RawIndices" + }, + "rawHashes": { + "description": "The raw SHA256-formatted entries.", + "$ref": "RawHashes" + } + }, + "id": "ThreatEntrySet" + }, + "FindFullHashesRequest": { + "description": "Request to return full hashes matched by the provided hash prefixes.", + "type": "object", + "properties": { + "clientStates": { + "description": "The current client states for each of the client's local threat lists.", + "items": { + "format": "byte", + "type": "string" + }, + "type": "array" + }, + "client": { + "$ref": "ClientInfo", + "description": "The client metadata." + }, + "threatInfo": { + "$ref": "ThreatInfo", + "description": "The lists and hashes to be checked." + }, + "apiClient": { + "description": "Client metadata associated with callers of higher-level APIs built on top\nof the client's implementation.", + "$ref": "ClientInfo" + } + }, + "id": "FindFullHashesRequest" + }, + "ListUpdateRequest": { + "description": "A single list update request.", + "type": "object", + "properties": { + "state": { + "format": "byte", + "description": "The current state of the client for the requested list (the encrypted\nclient state that was received from the last successful list update).", + "type": "string" + }, + "platformType": { + "enum": [ + "PLATFORM_TYPE_UNSPECIFIED", + "WINDOWS", + "LINUX", + "ANDROID", + "OSX", + "IOS", + "ANY_PLATFORM", + "ALL_PLATFORMS", + "CHROME" + ], + "description": "The type of platform at risk by entries present in the list.", + "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." + ] + }, + "constraints": { + "description": "The constraints associated with this request.", + "$ref": "Constraints" + }, + "threatType": { + "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", + "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." + ] + }, + "threatEntryType": { + "enum": [ + "THREAT_ENTRY_TYPE_UNSPECIFIED", + "URL", + "EXECUTABLE", + "IP_RANGE", + "CHROME_EXTENSION", + "FILENAME", + "CERT" + ], + "description": "The types of entries present in the list.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "A URL.", + "An executable program.", + "An IP range.", + "Chrome extension.", + "Filename.", + "CERT" + ] + } + }, + "id": "ListUpdateRequest" + }, + "FetchThreatListUpdatesRequest": { + "properties": { + "listUpdateRequests": { + "description": "The requested threat list updates.", + "items": { + "$ref": "ListUpdateRequest" + }, + "type": "array" + }, + "client": { + "description": "The client metadata.", + "$ref": "ClientInfo" + } + }, + "id": "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", + "type": "object" + }, + "ListUpdateResponse": { + "properties": { + "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": { + "enumDescriptions": [ + "Unknown.", + "Partial updates are applied to the client's existing local database.", + "Full updates replace the client's entire local database. This means\nthat either the client was seriously out-of-date or the client is\nbelieved to be corrupt." + ], + "enum": [ + "RESPONSE_TYPE_UNSPECIFIED", + "PARTIAL_UPDATE", + "FULL_UPDATE" + ], + "description": "The type of response. This may indicate that an action is required by the\nclient when the response is received.", + "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 for which data is returned.", + "type": "string" + }, + "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": { + "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 for which data is returned.", + "type": "string" + }, + "threatEntryType": { + "enum": [ + "THREAT_ENTRY_TYPE_UNSPECIFIED", + "URL", + "EXECUTABLE", + "IP_RANGE", + "CHROME_EXTENSION", + "FILENAME", + "CERT" + ], + "description": "The format of the threats.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "A URL.", + "An executable program.", + "An IP range.", + "Chrome extension.", + "Filename.", + "CERT" + ] + }, + "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.", + "items": { + "$ref": "ThreatEntrySet" + }, + "type": "array" + } + }, + "id": "ListUpdateResponse", + "description": "An update to an individual list.", + "type": "object" + }, + "Constraints": { + "properties": { + "supportedCompressions": { + "enumDescriptions": [ + "Unknown.", + "Raw, uncompressed data.", + "Rice-Golomb encoded data." + ], + "description": "The compression types supported by the client.", + "items": { + "enum": [ + "COMPRESSION_TYPE_UNSPECIFIED", + "RAW", + "RICE" + ], + "type": "string" + }, + "type": "array" + }, + "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" + }, + "maxDatabaseEntries": { + "format": "int32", + "description": "Sets the maximum number of entries that the client is willing to have\nin the local database. This should be a power of 2 between 2**10 and\n2**20. If zero, no database size limit is set.", + "type": "integer" + } + }, + "id": "Constraints", + "description": "The constraints for this update.", + "type": "object" + }, + "ThreatMatch": { + "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 threat entry type matching this threat.", + "type": "string" + }, + "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": { + "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", + "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." + ] + }, + "threatEntryMetadata": { + "description": "Optional metadata associated with this threat.", + "$ref": "ThreatEntryMetadata" + }, + "threat": { + "description": "The threat matching this threat.", + "$ref": "ThreatEntry" + }, + "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" + } + }, + "id": "ThreatMatch", + "description": "A match when checking a threat entry in the Safe Browsing threat lists.", + "type": "object" + }, + "RiceDeltaEncoding": { + "description": "The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or\ncompressed removal indices.", + "type": "object", + "properties": { + "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" + }, + "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" + } + }, + "id": "RiceDeltaEncoding" + }, + "ListThreatListsResponse": { + "properties": { + "threatLists": { + "description": "The lists available for download by the client.", + "items": { + "$ref": "ThreatListDescriptor" + }, + "type": "array" + } + }, + "id": "ListThreatListsResponse", + "type": "object" + }, + "FindThreatMatchesResponse": { + "type": "object", + "properties": { + "matches": { + "description": "The threat list matches.", + "items": { + "$ref": "ThreatMatch" + }, + "type": "array" + } + }, + "id": "FindThreatMatchesResponse" + }, + "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" + } + }, + "id": "ThreatEntry" } }, + "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": "", - "rootUrl": "https://safebrowsing.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com", - "name": "safebrowsing" + "description": "Enables client applications to check web resources (most commonly URLs) against Google-generated lists of unsafe web resources.", + "kind": "discovery#restDescription" } 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 a34a69b..51c6c50 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 3cce4ec..6e0d056 100644 --- a/vendor/google.golang.org/api/script/v1/script-api.json +++ b/vendor/google.golang.org/api/script/v1/script-api.json @@ -1,69 +1,19 @@ { - "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": { - "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 - } + "request": { + "$ref": "ExecutionRequest" }, + "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.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "scriptId" + ], + "httpMethod": "POST", "scopes": [ "https://mail.google.com/", "https://www.google.com/calendar/feeds", @@ -77,27 +27,62 @@ "https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/userinfo.email" ], + "parameters": { + "scriptId": { + "type": "string", + "required": true, + "location": "path", + "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**." + } + }, "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.", - "request": { - "$ref": "ExecutionRequest" - }, - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "scriptId" - ], - "httpMethod": "POST" + "path": "v1/scripts/{scriptId}:run" } } } }, "parameters": { - "alt": { + "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": { + "type": "string", + "location": "query", + "description": "JSONP" + }, + "alt": { "description": "Data format for response.", "default": "json", "enum": [ @@ -110,17 +95,18 @@ "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": { + "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", @@ -133,119 +119,31 @@ "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\").", + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", "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.", - "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" - } - } - }, - "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." - }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "This field is not used.", - "type": "object" - }, - "done": { - "description": "This field is not used.", - "type": "boolean" - } - }, - "id": "Operation" - }, "ScriptStackTraceElement": { "id": "ScriptStackTraceElement", "description": "A stack trace through the script that shows where the execution failed.", "type": "object", "properties": { - "function": { - "description": "The name of the function that failed.", - "type": "string" - }, "lineNumber": { "format": "int32", "description": "The line number where the script failed.", "type": "integer" + }, + "function": { + "description": "The name of the function that failed.", + "type": "string" } } }, @@ -272,14 +170,10 @@ "id": "ExecutionError" }, "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", "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" @@ -287,83 +181,148 @@ "details": { "description": "An array that contains a single `ExecutionError` object that provides information about the nature of the error.", "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. For this API, this value will always be 3, corresponding to an \u003ccode\u003eINVALID_ARGUMENT\u003c/code\u003e error.", + "type": "integer" } - }, - "id": "Status" + } }, "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": { + "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": { + "type": "boolean", + "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`." + }, + "function": { + "description": "The name of the function to execute in the given script. The name does not\ninclude parentheses or parameters.", + "type": "string" + }, "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.", "items": { "type": "any" }, "type": "array" - }, - "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" - } - }, - "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`." + "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": { + "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" + }, + "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." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "This field is not used.", + "type": "object" + }, + "done": { + "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" + } + }, + "id": "Operation" } }, - "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/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.group": { + "description": "View and manage the provisioning of groups on your domain" + }, + "https://www.googleapis.com/auth/admin.directory.user": { + "description": "View and manage the provisioning of users 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" + }, + "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" + } + } + } + }, + "servicePath": "", + "description": "Executes functions in Google Apps Script projects.", + "kind": "discovery#restDescription", + "rootUrl": "https://script.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "script", + "batchPath": "batch", + "id": "script:v1", + "documentationLink": "https://developers.google.com/apps-script/execution/rest/v1/scripts/run", + "revision": "20170829", + "title": "Google Apps Script Execution API", + "discoveryVersion": "v1", + "ownerName": "Google" } 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 ccd1f27..cdbfdf9 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 90f8521..37e685b 100644 --- a/vendor/google.golang.org/api/searchconsole/v1/searchconsole-api.json +++ b/vendor/google.golang.org/api/searchconsole/v1/searchconsole-api.json @@ -1,30 +1,33 @@ { + "ownerDomain": "google.com", + "name": "searchconsole", + "batchPath": "batch", + "revision": "20170828", "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", + "discoveryVersion": "v1", + "version_module": true, "resources": { "urlTestingTools": { "resources": { "mobileFriendlyTest": { "methods": { "run": { + "response": { + "$ref": "RunMobileFriendlyTestResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "flatPath": "v1/urlTestingTools/mobileFriendlyTest: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" + "description": "Runs Mobile-Friendly Test for a given URL." } } } @@ -32,24 +35,59 @@ } }, "parameters": { - "fields": { - "description": "Selector specifying which fields to include in a partial 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": { + "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": { + "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.", + "type": "boolean", + "default": "true", + "location": "query" + }, "uploadType": { "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string", "location": "query" }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" + "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" @@ -58,9 +96,21 @@ "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", @@ -69,140 +119,10 @@ ], "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": { - "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" + "default": "json" } }, "schemas": { - "MobileFriendlyIssue": { - "properties": { - "rule": { - "description": "Rule violated.", - "type": "string", - "enumDescriptions": [ - "Unknown rule. Sorry, we don't have any description for the rule that was\nbroken.", - "Plugins incompatible with mobile devices are being used. [Learn more]\n(https://support.google.com/webmasters/answer/6352293#flash_usage).", - "Viewsport is not specified using the meta viewport tag. [Learn more]\n(https://support.google.com/webmasters/answer/6352293#viewport_not_configured).", - "Viewport defined to a fixed width. [Learn more]\n(https://support.google.com/webmasters/answer/6352293#fixed-width_viewport).", - "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" - ] - } - }, - "id": "MobileFriendlyIssue", - "description": "Mobile-friendly issue.", - "type": "object" - }, - "RunMobileFriendlyTestResponse": { - "description": "Mobile-friendly test response, including mobile-friendly issues and resource\nissues.", - "type": "object", - "properties": { - "mobileFriendliness": { - "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.", - "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." - } - }, - "id": "RunMobileFriendlyTestResponse" - }, - "ResourceIssue": { - "description": "Information about a resource with issue.", - "type": "object", - "properties": { - "blockedResource": { - "$ref": "BlockedResource", - "description": "Describes a blocked resource issue." - } - }, - "id": "ResourceIssue" - }, "BlockedResource": { "description": "Blocked resource.", "type": "object", @@ -215,8 +135,6 @@ "id": "BlockedResource" }, "TestStatus": { - "description": "Final state of the test, including error details if necessary.", - "type": "object", "properties": { "status": { "enumDescriptions": [ @@ -239,23 +157,25 @@ "type": "string" } }, - "id": "TestStatus" + "id": "TestStatus", + "description": "Final state of the test, including error details if necessary.", + "type": "object" }, "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.", + "format": "byte", "type": "string" } }, - "id": "Image" + "id": "Image", + "description": "Describe image data.", + "type": "object" }, "RunMobileFriendlyTestRequest": { "description": "Mobile-friendly test request.", @@ -271,6 +191,89 @@ } }, "id": "RunMobileFriendlyTestRequest" + }, + "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": [ + "Unknown rule. Sorry, we don't have any description for the rule that was\nbroken.", + "Plugins incompatible with mobile devices are being used. [Learn more]\n(https://support.google.com/webmasters/answer/6352293#flash_usage).", + "Viewsport is not specified using the meta viewport tag. [Learn more]\n(https://support.google.com/webmasters/answer/6352293#viewport_not_configured).", + "Viewport defined to a fixed width. [Learn more]\n(https://support.google.com/webmasters/answer/6352293#fixed-width_viewport).", + "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)." + ] + } + }, + "id": "MobileFriendlyIssue", + "description": "Mobile-friendly issue.", + "type": "object" + }, + "RunMobileFriendlyTestResponse": { + "properties": { + "testStatus": { + "description": "Final state of the test, can be either complete or an error.", + "$ref": "TestStatus" + }, + "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." + ] + }, + "mobileFriendlyIssues": { + "description": "List of mobile-usability issues.", + "type": "array", + "items": { + "$ref": "MobileFriendlyIssue" + } + }, + "screenshot": { + "$ref": "Image", + "description": "Screenshot of the requested URL." + } + }, + "id": "RunMobileFriendlyTestResponse", + "description": "Mobile-friendly test response, including mobile-friendly issues and resource\nissues.", + "type": "object" + }, + "ResourceIssue": { + "properties": { + "blockedResource": { + "$ref": "BlockedResource", + "description": "Describes a blocked resource issue." + } + }, + "id": "ResourceIssue", + "description": "Information about a resource with issue.", + "type": "object" } }, "protocol": "rest", @@ -281,12 +284,9 @@ "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" + "basePath": "" } 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 2b7494b..5b65590 100644 --- a/vendor/google.golang.org/api/servicecontrol/v1/servicecontrol-api.json +++ b/vendor/google.golang.org/api/servicecontrol/v1/servicecontrol-api.json @@ -1,194 +1,287 @@ { + "ownerName": "Google", + "resources": { + "services": { + "methods": { + "report": { + "httpMethod": "POST", + "parameterOrder": [ + "serviceName" + ], + "response": { + "$ref": "ReportResponse" + }, + "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", + "path": "v1/services/{serviceName}:report", + "id": "servicecontrol.services.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": { + "httpMethod": "POST", + "parameterOrder": [ + "serviceName" + ], + "response": { + "$ref": "AllocateQuotaResponse" + }, + "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", + "path": "v1/services/{serviceName}:allocateQuota", + "id": "servicecontrol.services.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[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." + }, + "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" + }, + "response": { + "$ref": "StartReconciliationResponse" + }, + "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" + ], + "flatPath": "v1/services/{serviceName}:startReconciliation" + }, + "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).", + "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" + }, + "releaseQuota": { + "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", + "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." + }, + "endReconciliation": { + "response": { + "$ref": "EndReconciliationResponse" + }, + "parameterOrder": [ + "serviceName" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/servicecontrol" + ], + "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" + } + }, + "flatPath": "v1/services/{serviceName}: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)." + } + } + } + }, + "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": { + "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": { + "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": { + "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": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + } + }, + "version": "v1", + "baseUrl": "https://servicecontrol.googleapis.com/", + "servicePath": "", + "description": "Google Service Control provides control plane functionality to managed services, such as logging, monitoring, and status checks.", + "kind": "discovery#restDescription", + "basePath": "", + "id": "servicecontrol:v1", + "documentationLink": "https://cloud.google.com/service-control/", + "revision": "20170819", + "discoveryVersion": "v1", + "version_module": true, "schemas": { - "ReportRequest": { - "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.", - "type": "string" - }, - "operations": { - "description": "Operations to be reported.\n\nTypically the service should report one operation per request.\nPutting multiple operations into a single request is allowed, but should\nbe used only when multiple operations are natually available at the time\nof the report.\n\nIf multiple operations are in a single request, the total request size\nshould be no larger than 1MB. See ReportResponse.report_errors for\npartial failure behavior.", - "items": { - "$ref": "Operation" - }, - "type": "array" - } - }, - "id": "ReportRequest", - "description": "Request message for the Report method.", - "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.", - "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", - "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" - }, - "LogEntry": { - "description": "An individual log entry.", - "type": "object", - "properties": { - "protoPayload": { - "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.", - "type": "object" - }, - "timestamp": { - "format": "google-datetime", - "description": "The time the event described by the log entry occurred. If\nomitted, defaults to operation start time.", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "A set of user-defined (key, value) data that provides additional\ninformation about the log entry.", - "type": "object" - }, - "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\na 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": "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" - }, - "structPayload": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The log entry payload, represented as a structure that\nis expressed as a JSON object.", - "type": "object" - }, - "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": { - "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.", - "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\"`.", - "type": "string" - } - }, - "id": "AuditLog" - }, "MetricValue": { "description": "Represents a single metric value.", "type": "object", "properties": { + "stringValue": { + "description": "A text string value.", + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -196,10 +289,6 @@ "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.", @@ -235,6 +324,27 @@ }, "id": "MetricValue" }, + "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" + }, + "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" + } + }, + "id": "Money" + }, "EndReconciliationResponse": { "properties": { "reconciliationErrors": { @@ -263,54 +373,25 @@ "id": "EndReconciliationResponse", "type": "object" }, - "Money": { + "ExplicitBuckets": { + "description": "Describing buckets with arbitrary user-provided width.", + "type": "object", "properties": { - "currencyCode": { - "description": "The 3-letter currency code defined in ISO 4217.", - "type": "string" - }, - "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" - }, - "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" + "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", + "items": { + "format": "double", + "type": "number" + }, + "type": "array" } }, - "id": "Money", - "description": "Represents an amount of money with its currency type.", - "type": "object" + "id": "ExplicitBuckets" }, "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": { - "maximum": { - "format": "double", - "description": "The maximum of the population of values. Ignored if `count` is zero.", - "type": "number" - }, - "sumOfSquaredDeviation": { - "format": "double", - "description": "The sum of squared deviations from the mean:\n Sum[i=1..count]((x_i - mean)^2)\nwhere each x_i is a sample values. If `count` is zero then this field\nmust be zero, otherwise validation of the request fails.", - "type": "number" - }, - "exponentialBuckets": { - "description": "Buckets with exponentially growing width.", - "$ref": "ExponentialBuckets" - }, - "minimum": { - "format": "double", - "description": "The minimum of the population of values. Ignored if `count` is zero.", - "type": "number" - }, - "linearBuckets": { - "description": "Buckets with constant width.", - "$ref": "LinearBuckets" - }, "count": { "format": "int64", "description": "The total number of samples in the distribution. Must be \u003e= 0.", @@ -332,26 +413,36 @@ "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.", + "type": "number" + }, + "sumOfSquaredDeviation": { + "format": "double", + "description": "The sum of squared deviations from the mean:\n Sum[i=1..count]((x_i - mean)^2)\nwhere each x_i is a sample values. If `count` is zero then this field\nmust be zero, otherwise validation of the request fails.", + "type": "number" + }, + "exponentialBuckets": { + "$ref": "ExponentialBuckets", + "description": "Buckets with exponentially growing width." + }, + "minimum": { + "format": "double", + "description": "The minimum of the population of values. Ignored if `count` is zero.", + "type": "number" + }, + "linearBuckets": { + "description": "Buckets with constant width.", + "$ref": "LinearBuckets" } }, "id": "Distribution" }, - "ExplicitBuckets": { - "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", - "items": { - "format": "double", - "type": "number" - }, - "type": "array" - } - }, - "id": "ExplicitBuckets", - "description": "Describing buckets with arbitrary user-provided width.", - "type": "object" - }, "ExponentialBuckets": { + "description": "Describing buckets with exponentially growing width.", + "type": "object", "properties": { "scale": { "format": "double", @@ -369,12 +460,16 @@ "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,15 +477,9 @@ "permission": { "description": "The required IAM permission.", "type": "string" - }, - "resource": { - "description": "The resource being accessed, as a REST-style string. For example:\n\n bigquery.googlapis.com/projects/PROJECTID/datasets/DATASETID", - "type": "string" } }, - "id": "AuthorizationInfo", - "description": "Authorization information for the operation.", - "type": "object" + "id": "AuthorizationInfo" }, "StartReconciliationResponse": { "type": "object", @@ -424,13 +513,6 @@ "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": { "enum": [ "ACQUIRE", @@ -446,6 +528,13 @@ "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." ] + }, + "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" } }, "id": "QuotaProperties" @@ -476,18 +565,20 @@ "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.", + "principalEmail": { + "description": "The email address of the authenticated user making the request.\nFor privacy reasons, the principal email address is redacted for all\nread-only operations that fail with a \"permission denied\" error.", "type": "string" }, - "principalEmail": { - "description": "The email address of the authenticated user making the request.", + "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" } }, "id": "AuthenticationInfo" }, "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.", @@ -512,19 +603,17 @@ "type": "array" } }, - "id": "AllocateQuotaResponse", - "description": "Response message for the AllocateQuota method.", - "type": "object" + "id": "AllocateQuotaResponse" }, "ReleaseQuotaRequest": { "properties": { - "releaseOperation": { - "description": "Operation that describes the quota release.", - "$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" + }, + "releaseOperation": { + "description": "Operation that describes the quota release.", + "$ref": "QuotaOperation" } }, "id": "ReleaseQuotaRequest", @@ -535,12 +624,12 @@ "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", + "callerIp": { + "description": "The IP address of the caller.\nFor caller from internet, this will be public IPv4 or IPv6 address.\nFor caller from GCE VM with external IP address, this will be the VM's\nexternal IP address. For caller from GCE VM without external IP address, if\nthe VM is in the same GCP organization (or project) as the accessed\nresource, `caller_ip` will be the GCE VM's internal IPv4 address, otherwise\nit will be redacted to \"gce-internal-ip\".\nSee https://cloud.google.com/compute/docs/vpc/ for more information.", "type": "string" }, - "callerIp": { - "description": "The IP address of the caller.", + "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" } }, @@ -561,6 +650,7 @@ "enum": [ "UNSPECIFIED", "RESOURCE_EXHAUSTED", + "OUT_OF_RANGE", "BILLING_NOT_ACTIVE", "PROJECT_DELETED", "API_KEY_INVALID", @@ -578,6 +668,7 @@ "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.", @@ -603,11 +694,17 @@ "type": "string" }, "type": "array" + }, + "consumerInfo": { + "$ref": "ConsumerInfo", + "description": "Consumer info of this check." } }, "id": "CheckInfo" }, "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.", @@ -632,12 +729,16 @@ "type": "array" } }, - "id": "ReleaseQuotaResponse", - "description": "Response message for the ReleaseQuota method.", - "type": "object" + "id": "ReleaseQuotaResponse" }, "AllocateQuotaRequest": { + "description": "Request message for the AllocateQuota method.", + "type": "object", "properties": { + "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" + }, "allocateOperation": { "description": "Operation that describes the quota allocation.", "$ref": "QuotaOperation" @@ -657,51 +758,51 @@ ], "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.", - "type": "string" - }, "metricValues": { "description": "The values in this metric.", "items": { "$ref": "MetricValue" }, "type": "array" + }, + "metricName": { + "description": "The metric name defined in the service configuration.", + "type": "string" } }, "id": "MetricValueSet" }, "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`." - }, "operationId": { "description": "The Operation.operation_id value from the request.", "type": "string" + }, + "status": { + "description": "Details of the error when processing the Operation.", + "$ref": "Status" } }, - "id": "ReportError", - "description": "Represents the processing error of one `Operation` in the request.", - "type": "object" + "id": "ReportError" }, "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": { "enum": [ "ERROR_CODE_UNSPECIFIED", @@ -773,45 +874,34 @@ "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" + "id": "CheckError" }, "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" + }, + "reconciliationOperation": { + "$ref": "QuotaOperation", + "description": "Operation that describes the quota reconciliation." } }, "id": "StartReconciliationRequest", "type": "object" }, "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,13 +910,32 @@ "$ref": "MetricValueSet" }, "type": "array" + }, + "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" } }, - "id": "QuotaInfo", - "description": "Contains the quota information for a quota check response.", + "id": "QuotaInfo" + }, + "ConsumerInfo": { + "properties": { + "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": "ConsumerInfo", + "description": "`ConsumerInfo` provides information about the consumer project.", "type": "object" }, "CheckRequest": { + "description": "Request message for the Check method.", + "type": "object", "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.", @@ -845,19 +954,31 @@ "type": "string" } }, - "id": "CheckRequest", - "description": "Request message for the Check method.", - "type": "object" + "id": "CheckRequest" }, "QuotaOperation": { "description": "Represents information regarding a quota operation.", "type": "object", "properties": { + "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" + }, "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": { + "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." + ], "enum": [ "UNSPECIFIED", "NORMAL", @@ -865,13 +986,7 @@ "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." - ] + "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.", @@ -886,14 +1001,6 @@ }, "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" } }, "id": "QuotaOperation" @@ -927,7 +1034,56 @@ "id": "ReportInfo" }, "Operation": { + "description": "Represents information regarding an operation.", + "type": "object", "properties": { + "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": { + "enum": [ + "LOW", + "HIGH", + "DEBUG" + ], + "description": "DO NOT USE. This is an experimental field.", + "type": "string", + "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." + ] + }, + "resourceContainers": { + "description": "DO NOT USE.\nThis field is not ready for use yet.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, "labels": { "additionalProperties": { "type": "string" @@ -959,56 +1115,21 @@ "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" + "id": "Operation" }, "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": { @@ -1019,18 +1140,13 @@ "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": { + "description": "Response message for the Check method.", + "type": "object", "properties": { "checkInfo": { "description": "Feedback data returned from the server during processing a Check request.", @@ -1056,25 +1172,208 @@ "$ref": "QuotaInfo" } }, - "id": "CheckResponse", - "description": "Response message for the Check method.", - "type": "object" + "id": "CheckResponse" + }, + "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.", + "type": "string" + }, + "operations": { + "description": "Operations to be reported.\n\nTypically the service should report one operation per request.\nPutting multiple operations into a single request is allowed, but should\nbe used only when multiple operations are natually available at the time\nof the report.\n\nIf multiple operations are in a single request, the total request size\nshould be no larger than 1MB. See ReportResponse.report_errors for\npartial failure behavior.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "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 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" + }, + "AuditLog": { + "description": "Common audit log format for Google Cloud Platform API operations.\n\n", + "type": "object", + "properties": { + "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" + }, + "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" + }, + "request": { + "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", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "requestMetadata": { + "description": "Metadata about the operation.", + "$ref": "RequestMetadata" + }, + "serviceData": { + "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.", + "type": "object" + }, + "numResponseItems": { + "format": "int64", + "description": "The number of items returned from a List or Query API method,\nif applicable.", + "type": "string" + }, + "authenticationInfo": { + "$ref": "AuthenticationInfo", + "description": "Authentication information." + }, + "status": { + "description": "The status of the overall operation.", + "$ref": "Status" + }, + "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\"`.", + "type": "string" + }, + "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" + } + }, + "id": "AuditLog" + }, + "LogEntry": { + "description": "An individual log entry.", + "type": "object", + "properties": { + "severity": { + "description": "The severity of the log entry. The default value is\n`LogSeverity.DEFAULT`.", + "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\na 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" + ] + }, + "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.", + "type": "any" + }, + "description": "The log entry payload, represented as a structure that\nis expressed as a JSON object.", + "type": "object" + }, + "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 that is\nexpressed as a JSON object. The only accepted type currently is\nAuditLog.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "timestamp": { + "format": "google-datetime", + "description": "The time the event described by the log entry occurred. If\nomitted, defaults to operation start time.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of user-defined (key, value) data that provides additional\ninformation about the log entry.", + "type": "object" + } + }, + "id": "LogEntry" } }, - "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": "Service Control", "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/servicecontrol": { "description": "Manage your Google Service Control data" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" } } } @@ -1083,279 +1382,6 @@ "ownerDomain": "google.com", "name": "servicecontrol", "batchPath": "batch", - "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" + "fullyEncodeReservedExpansion": true, + "title": "Google Service Control API" } 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 16cef55..6bee243 100644 --- a/vendor/google.golang.org/api/servicecontrol/v1/servicecontrol-gen.go +++ b/vendor/google.golang.org/api/servicecontrol/v1/servicecontrol-gen.go @@ -326,6 +326,9 @@ type AuthenticationInfo struct { // PrincipalEmail: The email address of the authenticated user 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"` // ForceSendFields is a list of field names (e.g. "AuthoritySelector") @@ -365,7 +368,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 @@ -492,6 +495,9 @@ func (s *CheckError) MarshalJSON() ([]byte, error) { } 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 +505,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 +513,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 +628,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 @@ -1021,8 +1057,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 @@ -1351,6 +1388,10 @@ type Operation struct { // - “organizations/” ResourceContainer string `json:"resourceContainer,omitempty"` + // ResourceContainers: DO NOT USE. + // This field is not ready for use yet. + ResourceContainers []string `json:"resourceContainers,omitempty"` + // StartTime: Required. Start time of the operation. StartTime string `json:"startTime,omitempty"` @@ -1389,6 +1430,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 +1511,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 +1594,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 @@ -1806,13 +1864,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 @@ -1990,6 +2048,18 @@ 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 GCE VM with external IP address, this will be the + // VM's + // external IP address. For caller from GCE VM without external IP + // address, if + // the VM is in the same GCP organization (or project) as the + // accessed + // resource, `caller_ip` will be the GCE VM's internal IPv4 address, + // otherwise + // it will be redacted to "gce-internal-ip". + // See https://cloud.google.com/compute/docs/vpc/ for more information. CallerIp string `json:"callerIp,omitempty"` // CallerSuppliedUserAgent: The user agent of the caller. @@ -2003,9 +2073,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"` @@ -2210,9 +2278,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 @@ -2422,7 +2490,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 +2589,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 +2598,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" @@ -2872,7 +2940,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 +3039,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 +3048,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 cb1dcbb..623cbe6 100644 --- a/vendor/google.golang.org/api/servicemanagement/v1/servicemanagement-api.json +++ b/vendor/google.golang.org/api/servicemanagement/v1/servicemanagement-api.json @@ -1,133 +1,109 @@ { - "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", + "fullyEncodeReservedExpansion": true, "title": "Google Service Management API", - "discoveryVersion": "v1", "ownerName": "Google", "resources": { - "services": { + "operations": { "methods": { + "get": { + "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/.+$" + } + }, + "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." + }, "list": { "response": { - "$ref": "ListServicesResponse" + "$ref": "ListOperationsResponse" }, "parameterOrder": [], "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], "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" + "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": "Token identifying which result to start with; returned by a previous list\ncall.", + "description": "The standard list page token.", + "type": "string" + }, + "name": { + "location": "query", + "description": "Not used.", "type": "string" }, "pageSize": { "location": "query", "format": "int32", - "description": "Requested size of the next page of data.", + "description": "The maximum number of operations to return. If unspecified, defaults to\n50. The maximum value is 100.", "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" - } - }, + "flatPath": "v1/operations", + "id": "servicemanagement.operations.list", + "path": "v1/operations", + "description": "Lists service operations that match the specified filter in the request." + } + } + }, + "services": { + "methods": { "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" ], + "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" ], - "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}" + "flatPath": "v1/services/{serviceName}", + "id": "servicemanagement.services.get", + "path": "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" }, @@ -135,12 +111,6 @@ "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", @@ -150,9 +120,22 @@ "pattern": "^services/[^/]+$" } }, - "flatPath": "v1/services/{servicesId}:testIamPermissions" + "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}: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" + } }, "getConfig": { + "description": "Gets a service configuration (version) for a managed service.", "response": { "$ref": "Service" }, @@ -168,13 +151,13 @@ ], "parameters": { "view": { - "description": "Specifies which parts of the Service Config should be returned in the\nresponse.", - "type": "string", "location": "query", "enum": [ "BASIC", "FULL" - ] + ], + "description": "Specifies which parts of the Service Config should be returned in the\nresponse.", + "type": "string" }, "serviceName": { "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", @@ -190,14 +173,34 @@ }, "flatPath": "v1/services/{serviceName}/config", "id": "servicemanagement.services.getConfig", - "path": "v1/services/{serviceName}/config", - "description": "Gets a service configuration (version) for a managed service." + "path": "v1/services/{serviceName}/config" + }, + "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", + "httpMethod": "DELETE", + "parameterOrder": [ + "serviceName" + ], + "response": { + "$ref": "Operation" + }, + "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}", + "path": "v1/services/{serviceName}", + "id": "servicemanagement.services.delete" }, "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" }, @@ -211,42 +214,25 @@ ], "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." + "description": "Name of the service to enable. Specifying an unknown service name will\ncause the request to fail.", + "type": "string", + "required": true } }, "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" + "path": "v1/services/{serviceName}:enable", + "request": { + "$ref": "EnableServiceRequest" }, - "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}" + "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" }, "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "request": { + "$ref": "SetIamPolicyRequest" + }, "response": { "$ref": "Policy" }, @@ -269,41 +255,44 @@ ], "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" - } + "path": "v1/{+resource}:setIamPolicy" }, "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" - ], + "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" }, - "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 - } - }, + "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", - "path": "v1/services/{serviceName}:disable", - "id": "servicemanagement.services.disable" + "id": "servicemanagement.services.disable", + "path": "v1/services/{serviceName}:disable" }, "getIamPolicy": { + "flatPath": "v1/services/{servicesId}:getIamPolicy", + "id": "servicemanagement.services.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.", "response": { "$ref": "Policy" }, @@ -311,33 +300,23 @@ "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" + "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/[^/]+$", + "location": "path" + } } }, "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" @@ -352,18 +331,306 @@ ], "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, - "location": "path" + "required": true } - } + }, + "flatPath": "v1/services/{serviceName}:undelete", + "id": "servicemanagement.services.undelete", + "path": "v1/services/{serviceName}:undelete" + }, + "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}\".", + "response": { + "$ref": "ListServicesResponse" + }, + "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/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", + "id": "servicemanagement.services.list", + "path": "v1/services" + }, + "create": { + "flatPath": "v1/services", + "path": "v1/services", + "id": "servicemanagement.services.create", + "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", + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "parameters": {} + }, + "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" + }, + "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" } }, "resources": { + "configs": { + "methods": { + "submit": { + "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", + "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" + } + }, + "get": { + "description": "Gets a service configuration (version) for a managed service.", + "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": { + "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", + "required": true, + "location": "path" + }, + "view": { + "description": "Specifies which parts of the Service Config should be returned in the\nresponse.", + "type": "string", + "location": "query", + "enum": [ + "BASIC", + "FULL" + ] + } + }, + "flatPath": "v1/services/{serviceName}/configs/{configId}", + "id": "servicemanagement.services.configs.get", + "path": "v1/services/{serviceName}/configs/{configId}" + }, + "list": { + "description": "Lists the history of the service configuration for a managed service,\nfrom the newest to the oldest.", + "httpMethod": "GET", + "parameterOrder": [ + "serviceName" + ], + "response": { + "$ref": "ListServiceConfigsResponse" + }, + "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" + } + }, + "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}/configs", + "path": "v1/services/{serviceName}/configs", + "id": "servicemanagement.services.configs.list" + }, + "create": { + "flatPath": "v1/services/{serviceName}/configs", + "id": "servicemanagement.services.configs.create", + "path": "v1/services/{serviceName}/configs", + "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": { + "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" + ] + } + } + }, "consumers": { "methods": { + "testIamPermissions": { + "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.", + "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/[^/]+/consumers/[^/]+$" + } + } + }, + "getIamPolicy": { + "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": "^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}:getIamPolicy", + "id": "servicemanagement.services.consumers.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" + } + }, "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "request": { + "$ref": "SetIamPolicyRequest" + }, "response": { "$ref": "Policy" }, @@ -386,73 +653,7 @@ ], "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." + "path": "v1/{+resource}:setIamPolicy" } } }, @@ -460,14 +661,20 @@ "methods": { "get": { "description": "Gets a service configuration rollout.", - "response": { - "$ref": "Rollout" - }, + "httpMethod": "GET", "parameterOrder": [ "serviceName", "rolloutId" ], - "httpMethod": "GET", + "response": { + "$ref": "Rollout" + }, + "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", @@ -482,306 +689,91 @@ "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}" + "path": "v1/services/{serviceName}/rollouts/{rolloutId}", + "id": "servicemanagement.services.rollouts.get" }, "list": { - "response": { - "$ref": "ListServiceRolloutsResponse" - }, + "flatPath": "v1/services/{serviceName}/rollouts", + "path": "v1/services/{serviceName}/rollouts", + "id": "servicemanagement.services.rollouts.list", + "description": "Lists the history of the service configuration rollouts for a managed\nservice, from the newest to the oldest.", + "httpMethod": "GET", "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" - ], + "response": { + "$ref": "ListServiceRolloutsResponse" + }, "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "The max number of items to include in the response list.", + "type": "integer" + }, "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 + "required": true, + "location": "path" }, "pageToken": { + "location": "query", "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" + "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", + "httpMethod": "POST", "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`." + "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: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" + "flatPath": "v1/services/{serviceName}/rollouts", + "path": "v1/services/{serviceName}/rollouts", + "id": "servicemanagement.services.rollouts.create" } } } } - }, - "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": { + "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", @@ -790,29 +782,24 @@ "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" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", + "type": "boolean", "location": "query" }, "fields": { @@ -820,10 +807,15 @@ "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" + "type": "string", + "location": "query" }, "$.xgafv": { "enumDescriptions": [ @@ -839,8 +831,6 @@ "type": "string" }, "alt": { - "description": "Data format for response.", - "default": "json", "enum": [ "json", "media", @@ -852,39 +842,1072 @@ "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" }, "access_token": { + "location": "query", "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" + "type": "string", + "location": "query" } }, + "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": "", + "basePath": "", + "id": "servicemanagement:v1", + "documentationLink": "https://cloud.google.com/service-management/", + "revision": "20170819", + "discoveryVersion": "v1", "schemas": { + "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": { + "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" + ] + }, + "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" + }, + "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" + }, + "files": { + "description": "Set of source configuration files that are used to generate a service\nconfiguration (`google.api.Service`).", + "items": { + "$ref": "ConfigFile" + }, + "type": "array" + } + }, + "id": "ConfigSource" + }, + "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" + }, + "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": { + "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" + } + }, + "id": "AuthenticationRule" + }, + "UndeleteServiceResponse": { + "description": "Response message for UndeleteService method.", + "type": "object", + "properties": { + "service": { + "$ref": "ManagedService", + "description": "Revived service resource." + } + }, + "id": "UndeleteServiceResponse" + }, + "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" + }, + "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" + }, + "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" + }, + "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": { + "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" + }, + "sourceContext": { + "description": "Source context for the protocol buffer service represented by this\nmessage.", + "$ref": "SourceContext" + }, + "syntax": { + "description": "The source syntax of the service.", + "type": "string", + "enumDescriptions": [ + "Syntax `proto2`.", + "Syntax `proto3`." + ], + "enum": [ + "SYNTAX_PROTO2", + "SYNTAX_PROTO3" + ] + }, + "version": { + "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" + } + }, + "id": "Api" + }, + "MetricRule": { + "description": "Bind API methods to metrics. Binding a method to a metric causes that\nmetric's configured quota behaviors to apply to the method call.", + "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" + } + }, + "selector": { + "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" + } + }, + "id": "MetricRule" + }, + "DataAccessOptions": { + "description": "Write a Data Access (Gin) log", + "type": "object", + "properties": { + "logMode": { + "enumDescriptions": [ + "Client is not required to write a partial Gin log immediately after\nthe authorization check. If client chooses to write one and it fails,\nclient may either fail open (allow the operation to continue) or\nfail closed (handle as a DENY outcome).", + "The application's operation in the context of which this authorization\ncheck is being made may only be performed if it is successfully logged\nto Gin. For instance, the authorization library may satisfy this\nobligation by emitting a partial log entry at authorization check time\nand only returning ALLOW to the application if it succeeds.\n\nIf a matching Rule has this directive, but the client has not indicated\nthat it will honor such requirements, then the IAM check will result in\nauthorization failure by setting CheckPolicyResponse.success=false." + ], + "enum": [ + "LOG_MODE_UNSPECIFIED", + "LOG_FAIL_CLOSED" + ], + "description": "Whether Gin logging should happen in a fail-closed manner at the caller.\nThis is relevant only in the LocalIAM implementation, for now.", + "type": "string" + } + }, + "id": "DataAccessOptions" + }, + "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": { + "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" + } + }, + "id": "Authentication" + }, + "Operation": { + "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": "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" + }, + "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" + } + }, + "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": { + "$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" + } + }, + "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 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" + }, + "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" + }, + "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", + "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" + }, + "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" + } + }, + "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": { + "description": "Enum value name.", + "type": "string" + } + }, + "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": { + "metrics": { + "description": "Defines the metrics used by this service.", + "items": { + "$ref": "MetricDescriptor" + }, + "type": "array" + }, + "authentication": { + "$ref": "Authentication", + "description": "Auth configuration." + }, + "experimental": { + "$ref": "Experimental", + "description": "Experimental configuration." + }, + "control": { + "description": "Configuration for the service control plane.", + "$ref": "Control" + }, + "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": { + "$ref": "Visibility", + "description": "API visibility configuration." + }, + "quota": { + "description": "Quota configuration.", + "$ref": "Quota" + }, + "name": { + "description": "The DNS address at which this service is available,\ne.g. `calendar.googleapis.com`.", + "type": "string" + }, + "customError": { + "$ref": "CustomError", + "description": "Custom error configuration." + }, + "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" + }, + "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": { + "description": "Defines the logs used by this service.", + "items": { + "$ref": "LogDescriptor" + }, + "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": { + "$ref": "SourceInfo", + "description": "Output only. The source information for this configuration if available." + }, + "http": { + "$ref": "Http", + "description": "HTTP configuration." + }, + "systemParameters": { + "$ref": "SystemParameters", + "description": "System parameter configuration." + }, + "backend": { + "$ref": "Backend", + "description": "API backend configuration." + }, + "documentation": { + "description": "Additional API documentation.", + "$ref": "Documentation" + }, + "logging": { + "$ref": "Logging", + "description": "Logging configuration." + }, + "monitoredResources": { + "description": "Defines the monitored resources used by this service. This is required\nby the Service.monitoring and Service.logging configurations.", + "items": { + "$ref": "MonitoredResourceDescriptor" + }, + "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": { + "$ref": "Usage", + "description": "Configuration controlling usage of this 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" + } + }, + "id": "ListOperationsResponse" + }, + "OperationMetadata": { + "description": "The metadata associated with a long running operation resource.", + "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.", + "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" + } + }, + "id": "OperationMetadata" + }, + "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" + } + }, + "id": "CustomHttpPattern" + }, + "SystemParameterRule": { + "description": "Define a system parameter rule mapping system parameter definitions to\nmethods.", + "type": "object", + "properties": { + "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" + }, + "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": { + "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": { + "post": { + "description": "Used for creating a resource.", + "type": "string" + }, + "mediaDownload": { + "$ref": "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." + }, + "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": { + "$ref": "HttpRule" + }, + "type": "array" + }, + "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." + }, + "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" + }, + "patch": { + "description": "Used for updating a resource.", + "type": "string" + }, + "get": { + "description": "Used for listing and getting information about resources.", + "type": "string" + }, + "put": { + "description": "Used for updating a resource.", + "type": "string" + }, + "delete": { + "description": "Used for deleting a resource.", + "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" + } + }, + "id": "HttpRule" + }, + "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" + } + }, + "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.", + "items": { + "$ref": "VisibilityRule" + }, + "type": "array" + } + }, + "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.", + "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" + } + }, + "id": "SystemParameters" + }, + "ConfigChange": { + "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.", + "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": { + "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.", + "type": "string" + }, + "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]", + "type": "string" + }, + "advices": { + "description": "Collection of advice provided for this change, useful for determining the\npossible impact of this change.", + "items": { + "$ref": "Advice" + }, + "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" + } + }, + "id": "ConfigChange" + }, + "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" + } + }, + "id": "Quota" + }, + "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.", + "type": "object", + "properties": { + "createdBy": { + "description": "The user who created the Rollout. Readonly.", + "type": "string" + }, + "trafficPercentStrategy": { + "$ref": "TrafficPercentStrategy", + "description": "Google Service Control selects service configurations based on\ntraffic percentage." + }, + "rolloutId": { + "description": "Optional unique identifier of this Rollout. Only lower case letters, digits\n and '-' are allowed.\n\nIf not specified by client, the server will generate one. The generated id\nwill have the form of \u003cdate\u003e\u003crevision number\u003e, where \"date\" is the create\ndate in ISO 8601 format. \"revision number\" is a monotonically increasing\npositive number that is reset every day for each service.\nAn example of the generated rollout_id is '2016-02-16r1'", + "type": "string" + }, + "deleteServiceStrategy": { + "$ref": "DeleteServiceStrategy", + "description": "The strategy associated with a rollout to delete a `ManagedService`.\nReadonly." + }, + "createTime": { + "format": "google-datetime", + "description": "Creation time of the rollout. Readonly.", + "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.", + "The Rollout has completed successfully.", + "The Rollout has been cancelled. This can happen if you have overlapping\nRollout pushes, and the previous ones will be cancelled.", + "The Rollout has failed and the rollback attempt has failed too.", + "The Rollout has not started yet and is pending for execution.", + "The Rollout has failed and rolled back to the previous successful\nRollout." + ], + "enum": [ + "ROLLOUT_STATUS_UNSPECIFIED", + "IN_PROGRESS", + "SUCCESS", + "CANCELLED", + "FAILED", + "PENDING", + "FAILED_ROLLED_BACK" + ] + }, + "serviceName": { + "description": "The name of the service associated with this Rollout.", + "type": "string" + } + }, + "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" + } + }, + "newConfig": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service configuration for which we want to generate the report.\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" + } + }, + "id": "GenerateConfigReportRequest" + }, + "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" + }, + "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" + }, + "Step": { + "description": "Represents the status of one operation step.", + "type": "object", + "properties": { + "description": { + "description": "The short description of the step.", + "type": "string" + }, + "status": { + "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." + ], + "enum": [ + "STATUS_UNSPECIFIED", + "DONE", + "NOT_STARTED", + "IN_PROGRESS", + "FAILED", + "CANCELLED" + ] + } + }, + "id": "Step" + }, + "LoggingDestination": { + "description": "Configuration of a specific logging destination (the producer project\nor the consumer project).", + "type": "object", + "properties": { + "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": { + "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", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "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" + } + }, + "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" + }, + "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" + } + }, + "id": "Logging" + }, "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": { + "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" }, + "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`).", "type": "string" @@ -893,10 +1916,6 @@ "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", @@ -918,19 +1937,13 @@ "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" }, "Method": { - "description": "Method represents a method of an api.", + "description": "Method represents a method of an API interface.", "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" @@ -962,53 +1975,60 @@ "responseTypeUrl": { "description": "The URL of the output message type.", "type": "string" + }, + "options": { + "description": "Any metadata attached to the method.", + "items": { + "$ref": "Option" + }, + "type": "array" } }, "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" + }, + "nextPageToken": { + "description": "The token of the next page of results.", + "type": "string" } }, "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 }", + "ConfigRef": { + "description": "Represents a service configuration with its name and id.", "type": "object", "properties": { "name": { - "description": "The fully qualified name of the API which is included.", + "description": "Resource name of a service config. It must have the following\nformat: \"services/{service name}/configs/{config id}\".", "type": "string" - }, + } + }, + "id": "ConfigRef" + }, + "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": { "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" }, "FlowOperationMetadata": { "description": "The metadata associated with a long running operation resource.", @@ -1074,6 +2094,7 @@ "id": "CustomError" }, "CounterOptions": { + "description": "Increment 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": { "field": { @@ -1085,8 +2106,7 @@ "type": "string" } }, - "id": "CounterOptions", - "description": "Options for counters" + "id": "CounterOptions" }, "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.", @@ -1113,11 +2133,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" } @@ -1139,6 +2159,10 @@ "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": { + "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" @@ -1146,10 +2170,6 @@ "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" @@ -1158,10 +2178,6 @@ "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" @@ -1171,12 +2187,7 @@ "description": "The field number.", "type": "integer" }, - "jsonName": { - "type": "string", - "description": "The field JSON name." - }, "kind": { - "type": "string", "enumDescriptions": [ "Field type unknown.", "Field type double.", @@ -1219,7 +2230,12 @@ "TYPE_SINT32", "TYPE_SINT64" ], - "description": "The field type." + "description": "The field type.", + "type": "string" + }, + "jsonName": { + "description": "The field JSON name.", + "type": "string" }, "options": { "description": "The protocol buffer options.", @@ -1238,12 +2254,6 @@ "type": "boolean" }, "cardinality": { - "enum": [ - "CARDINALITY_UNKNOWN", - "CARDINALITY_OPTIONAL", - "CARDINALITY_REQUIRED", - "CARDINALITY_REPEATED" - ], "description": "The field cardinality.", "type": "string", "enumDescriptions": [ @@ -1251,16 +2261,27 @@ "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" } }, "id": "Field" }, "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": { @@ -1271,17 +2292,17 @@ "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", - "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." + "type": "array" } }, - "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" + "id": "Monitoring" }, "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", "type": "object", "properties": { "permissions": { @@ -1292,8 +2313,7 @@ "type": "array" } }, - "id": "TestIamPermissionsRequest", - "description": "Request message for `TestIamPermissions` method." + "id": "TestIamPermissionsRequest" }, "Enum": { "description": "Enum type definition.", @@ -1318,8 +2338,6 @@ "type": "array" }, "syntax": { - "description": "The source syntax.", - "type": "string", "enumDescriptions": [ "Syntax `proto2`.", "Syntax `proto3`." @@ -1327,23 +2345,59 @@ "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" }, + "Diagnostic": { + "description": "Represents a diagnostic message (error or warning)", + "type": "object", + "properties": { + "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" + }, + "location": { + "description": "File name and line number of the error or warning.", + "type": "string" + } + }, + "id": "Diagnostic" + }, + "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" + }, "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" @@ -1361,52 +2415,58 @@ ], "description": "The type of data that can be assigned to the label.", "type": "string" + }, + "key": { + "description": "The label key.", + "type": "string" } }, "id": "LabelDescriptor" }, - "Diagnostic": { - "id": "Diagnostic", - "description": "Represents a diagnostic message (error or warning)", + "GenerateConfigReportResponse": { + "description": "Response message for GenerateConfigReport method.", "type": "object", "properties": { - "location": { - "description": "File name and line number of the error or warning.", + "diagnostics": { + "description": "Errors / Linter warnings associated with the service definition this\nreport\nbelongs to.", + "items": { + "$ref": "Diagnostic" + }, + "type": "array" + }, + "serviceName": { + "description": "Name of the service this report belongs to.", "type": "string" }, - "kind": { - "type": "string", - "enumDescriptions": [ - "Warnings and errors", - "Only errors" - ], - "enum": [ - "WARNING", - "ERROR" - ], - "description": "The kind of diagnostic information provided." + "changeReports": { + "description": "list of ChangeReport, each corresponding to comparison between two\nservice configurations.", + "items": { + "$ref": "ChangeReport" + }, + "type": "array" }, - "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.", + "id": { + "description": "ID of the service configuration this report belongs to.", "type": "string" } }, - "id": "EnableServiceRequest" + "id": "GenerateConfigReportResponse" }, "Type": { "description": "A protocol buffer message type.", "type": "object", "properties": { + "oneofs": { + "description": "The list of types appearing in `oneof` definitions in this type.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sourceContext": { + "description": "The source context.", + "$ref": "SourceContext" + }, "syntax": { "enumDescriptions": [ "Syntax `proto2`.", @@ -1419,10 +2479,6 @@ "description": "The source syntax.", "type": "string" }, - "sourceContext": { - "description": "The source context.", - "$ref": "SourceContext" - }, "options": { "description": "The protocol buffer options.", "items": { @@ -1440,45 +2496,20 @@ "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.", + "Experimental": { + "description": "Experimental service configuration. These configuration options can\nonly be used by whitelisted users.", "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" + "authorization": { + "description": "Authorization configuration.", + "$ref": "AuthorizationConfig" } }, - "id": "GenerateConfigReportResponse" + "id": "Experimental" }, "ListServiceConfigsResponse": { "description": "Response message for ListServiceConfigs method.", @@ -1498,32 +2529,9 @@ }, "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": { + "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.", @@ -1543,24 +2551,36 @@ "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" + "id": "AuditConfig" + }, + "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" }, "SubmitConfigSourceRequest": { + "description": "Request message for SubmitConfigSource method.", + "type": "object", "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." + }, + "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" + "id": "SubmitConfigSourceRequest" }, "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", @@ -1574,6 +2594,7 @@ "id": "AuthorizationConfig" }, "DocumentationRule": { + "description": "A documentation rule provides information about individual API elements.", "type": "object", "properties": { "description": { @@ -1589,14 +2610,15 @@ "type": "string" } }, - "id": "DocumentationRule", - "description": "A documentation rule provides information about individual API elements." + "id": "DocumentationRule" }, "CloudAuditOptions": { "description": "Write a Cloud Audit log", "type": "object", "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\"", @@ -1606,21 +2628,18 @@ "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." + "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.", @@ -1630,18 +2649,54 @@ "type": "array" }, "requested": { + "description": "A list of full type names of requested contexts.", "items": { "type": "string" }, - "type": "array", - "description": "A list of full type names of requested contexts." + "type": "array" } - } + }, + "id": "ContextRule" + }, + "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" }, "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": { + "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" + }, + "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" @@ -1662,6 +2717,15 @@ "type": "string" }, "valueType": { + "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", @@ -1672,55 +2736,11 @@ "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", @@ -1813,6 +2833,37 @@ }, "id": "OAuthRequirements" }, + "Usage": { + "description": "Configuration controlling usage of a service.", + "type": "object", + "properties": { + "requirements": { + "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'.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + } + }, + "id": "Usage" + }, + "GetIamPolicyRequest": { + "description": "Request message for `GetIamPolicy` method.", + "type": "object", + "properties": {}, + "id": "GetIamPolicyRequest" + }, "TestIamPermissionsResponse": { "description": "Response message for `TestIamPermissions` method.", "type": "object", @@ -1827,74 +2878,24 @@ }, "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": { + "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", - "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." + "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" }, "Rule": { + "description": "A rule to be applied in a Policy.", "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": { @@ -1921,11 +2922,11 @@ "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", - "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." + "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.", @@ -1933,12 +2934,32 @@ "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" } }, - "id": "Rule", - "description": "A rule to be applied in a Policy." + "id": "Rule" }, "LogConfig": { + "description": "Specifies what kind of log the caller must write", "type": "object", "properties": { "counter": { @@ -1946,21 +2967,28 @@ "$ref": "CounterOptions" }, "dataAccess": { - "$ref": "DataAccessOptions", - "description": "Data access options." + "description": "Data access options.", + "$ref": "DataAccessOptions" }, "cloudAudit": { - "description": "Cloud audit options.", - "$ref": "CloudAuditOptions" + "$ref": "CloudAuditOptions", + "description": "Cloud audit options." } }, - "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" + "id": "LogConfig" }, "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": { + "displayName": { + "description": "The human-readable name for this log. This information appears on\nthe user interface and should be concise.", + "type": "string" + }, + "description": { + "description": "A human-readable description of this log. This information appears in\nthe documentation and can contain details.", + "type": "string" + }, "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": { @@ -1971,19 +2999,13 @@ "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 [/_-.].", "type": "string" - }, - "displayName": { - "description": "The human-readable name for this log. This information appears on\nthe user interface and should be concise.", - "type": "string" - }, - "description": { - "description": "A human-readable description of this log. This information appears in\nthe documentation and can contain details.", - "type": "string" } }, "id": "LogDescriptor" }, "ConfigFile": { + "description": "Generic specification of a source configuration file", + "type": "object", "properties": { "fileContents": { "format": "byte", @@ -1995,8 +3017,6 @@ "type": "string" }, "fileType": { - "description": "The type of configuration file this represents.", - "type": "string", "enumDescriptions": [ "Unknown file type.", "YAML-specification of service.", @@ -2010,42 +3030,12 @@ "OPEN_API_JSON", "OPEN_API_YAML", "FILE_DESCRIPTOR_SET_PROTO" - ] - } - }, - "id": "ConfigFile", - "description": "Generic specification of a source configuration file", - "type": "object" - }, - "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": { - "description": { - "type": "string", - "description": "Optional. A detailed description of the monitored resource type that might\nbe used in documentation." - }, - "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\"`.", - "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": { - "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}\"`.", + ], + "description": "The type of configuration file this represents.", "type": "string" } }, - "id": "MonitoredResourceDescriptor" + "id": "ConfigFile" }, "CustomErrorRule": { "description": "A custom error rule.", @@ -2062,11 +3052,55 @@ }, "id": "CustomErrorRule" }, + "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": { + "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\"`.", + "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" + } + }, + "id": "MonitoredResourceDescriptor" + }, + "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" + }, "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": { + "useDirectDownload": { + "description": "A boolean that determines if direct download from ESF should be used for\ndownload of this media.", + "type": "boolean" + }, "enabled": { "description": "Whether download is enabled.", "type": "boolean" @@ -2079,31 +3113,17 @@ "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" - } - } - }, - "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).", + "dropzone": { + "description": "Name of the Scotty dropzone to use for the current API.", "type": "string" } }, - "id": "CustomAuthRequirements" + "id": "MediaDownload" }, "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.", @@ -2120,15 +3140,15 @@ "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.", @@ -2142,8 +3162,29 @@ "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": { + "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" + }, + "mimeTypes": { + "description": "An array of mimetype patterns. Esf will only accept uploads that match one\nof the given patterns.", + "items": { + "type": "string" + }, + "type": "array" + }, + "maxSize": { + "format": "int64", + "description": "Optional maximum acceptable size for an upload.\nThe size is specified in bytes.", + "type": "string" + }, "enabled": { "description": "Whether upload is enabled.", "type": "boolean" @@ -2159,30 +3200,9 @@ "dropzone": { "description": "Name of the Scotty dropzone to use for the current API.", "type": "string" - }, - "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": { - "format": "int64", - "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.", - "items": { - "type": "string" - }, - "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" }, "Advice": { "description": "Generated advice about this change, used for providing more\ninformation about how a change will affect the existing service.", @@ -2214,10 +3234,6 @@ "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": { - "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.", "type": "boolean" @@ -2225,6 +3241,10 @@ "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" @@ -2234,12 +3254,12 @@ "type": "object", "properties": { "percentages": { + "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", "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" @@ -2259,10 +3279,99 @@ }, "id": "AuthRequirement" }, + "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": { + "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" + }, + "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" + } + }, + "id": "Condition" + }, "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": { + "pages": { + "description": "The top level pages for the documentation set.", + "items": { + "$ref": "Page" + }, + "type": "array" + }, + "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" @@ -2277,1107 +3386,9 @@ "$ref": "DocumentationRule" }, "type": "array" - }, - "pages": { - "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" } }, "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": { - "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" - }, - "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" - }, - "files": { - "description": "Set of source configuration files that are used to generate a service\nconfiguration (`google.api.Service`).", - "items": { - "$ref": "ConfigFile" - }, - "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." - }, - "selector": { - "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", - "type": "string" - } - } - }, - "UndeleteServiceResponse": { - "description": "Response message for UndeleteService method.", - "type": "object", - "properties": { - "service": { - "description": "Revived service resource.", - "$ref": "ManagedService" - } - }, - "id": "UndeleteServiceResponse" - }, - "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" - }, - "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" - }, - "Api": { - "type": "object", - "properties": { - "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", - "type": "string" - }, - "mixins": { - "description": "Included APIs. See Mixin.", - "items": { - "$ref": "Mixin" - }, - "type": "array" - }, - "options": { - "description": "Any metadata attached to the API.", - "items": { - "$ref": "Option" - }, - "type": "array" - }, - "methods": { - "description": "The methods of this api, 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" - }, - "MetricRule": { - "properties": { - "metricCosts": { - "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.", - "type": "string" - } - }, - "id": "MetricRule", - "description": "Bind API methods to metrics. Binding a method to a metric causes that\nmetric's configured quota behaviors to apply to the method call.", - "type": "object" - }, - "Authentication": { - "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" - }, - "providers": { - "description": "Defines a set of authentication providers that a service supports.", - "items": { - "$ref": "AuthProvider" - }, - "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" - }, - "Operation": { - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", - "type": "object", - "properties": { - "response": { - "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`.", - "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" - }, - "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" - }, - "Page": { - "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" - }, - "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" - }, - "Status": { - "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", - "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": { - "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" - } - } - }, - "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", - "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" - }, - "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" - } - }, - "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": { - "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": { - "name": { - "description": "The DNS address at which this service is available,\ne.g. `calendar.googleapis.com`.", - "type": "string" - }, - "customError": { - "$ref": "CustomError", - "description": "Custom error configuration." - }, - "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" - }, - "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": { - "description": "Defines the logs used by this service.", - "items": { - "$ref": "LogDescriptor" - }, - "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": { - "$ref": "SourceInfo", - "description": "Output only. The source information for this configuration if available." - }, - "http": { - "description": "HTTP configuration.", - "$ref": "Http" - }, - "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": { - "$ref": "MonitoredResourceDescriptor" - }, - "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." - } - }, - "id": "Service" - }, - "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" - }, - "CustomHttpPattern": { - "description": "A custom pattern is used for defining custom HTTP verb.", - "type": "object", - "properties": { - "path": { - "description": "The path matched by this custom verb.", - "type": "string" - }, - "kind": { - "type": "string", - "description": "The name of this custom HTTP verb." - } - }, - "id": "CustomHttpPattern" - }, - "OperationMetadata": { - "description": "The metadata associated with a long running operation resource.", - "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.", - "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" - } - }, - "id": "OperationMetadata" - }, - "SystemParameterRule": { - "type": "object", - "properties": { - "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", - "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." - }, - "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": { - "$ref": "HttpRule" - }, - "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." - }, - "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" - }, - "patch": { - "description": "Used for updating a resource.", - "type": "string" - }, - "get": { - "description": "Used for listing and getting information about resources.", - "type": "string" - }, - "put": { - "description": "Used for updating a resource.", - "type": "string" - }, - "delete": { - "description": "Used for deleting a resource.", - "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" - }, - "mediaDownload": { - "$ref": "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." - }, - "post": { - "description": "Used for creating a resource.", - "type": "string" - } - }, - "id": "HttpRule" - }, - "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" - } - }, - "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.", - "items": { - "$ref": "VisibilityRule" - }, - "type": "array" - } - }, - "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.", - "type": "object", - "properties": { - "rules": { - "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." - } - }, - "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." - }, - "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]", - "type": "string" - }, - "advices": { - "description": "Collection of advice provided for this change, useful for determining the\npossible impact of this change.", - "items": { - "$ref": "Advice" - }, - "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" - } - }, - "id": "ConfigChange", - "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" - } - }, - "id": "Quota" - }, - "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.", - "type": "object", - "properties": { - "rolloutId": { - "description": "Optional unique identifier of this Rollout. Only lower case letters, digits\n and '-' are allowed.\n\nIf not specified by client, the server will generate one. The generated id\nwill have the form of \u003cdate\u003e\u003crevision number\u003e, where \"date\" is the create\ndate in ISO 8601 format. \"revision number\" is a monotonically increasing\npositive number that is reset every day for each service.\nAn example of the generated rollout_id is '2016-02-16r1'", - "type": "string" - }, - "deleteServiceStrategy": { - "description": "The strategy associated with a rollout to delete a `ManagedService`.\nReadonly.", - "$ref": "DeleteServiceStrategy" - }, - "createTime": { - "format": "google-datetime", - "description": "Creation time of the rollout. Readonly.", - "type": "string" - }, - "status": { - "enumDescriptions": [ - "No status specified.", - "The Rollout is in progress.", - "The Rollout has completed successfully.", - "The Rollout has been cancelled. This can happen if you have overlapping\nRollout pushes, and the previous ones will be cancelled.", - "The Rollout has failed and the rollback attempt has failed too.", - "The Rollout has not started yet and is pending for execution.", - "The Rollout has failed and rolled back to the previous successful\nRollout." - ], - "enum": [ - "ROLLOUT_STATUS_UNSPECIFIED", - "IN_PROGRESS", - "SUCCESS", - "CANCELLED", - "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" - }, - "trafficPercentStrategy": { - "$ref": "TrafficPercentStrategy", - "description": "Google Service Control selects service configurations based on\ntraffic percentage." - }, - "createdBy": { - "description": "The user who created the Rollout. Readonly.", - "type": "string" - } - }, - "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" - } - }, - "newConfig": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service configuration for which we want to generate the report.\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" - } - }, - "id": "GenerateConfigReportRequest" - }, - "SetIamPolicyRequest": { - "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", - "description": "Request message for `SetIamPolicy` method." - }, - "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" - }, - "Step": { - "description": "Represents the status of one operation step.", - "type": "object", - "properties": { - "status": { - "enum": [ - "STATUS_UNSPECIFIED", - "DONE", - "NOT_STARTED", - "IN_PROGRESS", - "FAILED", - "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." - ] - }, - "description": { - "description": "The short description of the step.", - "type": "string" - } - }, - "id": "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" - } - }, - "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" - } - }, - "id": "Option" - }, - "Logging": { - "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" - }, - "producerDestinations": { - "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." - } - }, - "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", - "type": "object" } }, "icons": { @@ -3385,25 +3396,24 @@ "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "protocol": "rest", - "version": "v1", - "baseUrl": "https://servicemanagement.googleapis.com/", "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" - }, "https://www.googleapis.com/auth/service.management.readonly": { "description": "View your Google API service configuration" }, "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/service.management": { + "description": "Manage your Google API service configuration" } } } - } + }, + "rootUrl": "https://servicemanagement.googleapis.com/" } 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 4f8ec89..49c13e7 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`. @@ -1380,7 +1403,35 @@ func (s *Control) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CounterOptions: Options for counters +// CounterOptions: 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 CounterOptions struct { // Field: The field value to attribute. Field string `json:"field,omitempty"` @@ -1561,6 +1612,55 @@ func (s *CustomHttpPattern) MarshalJSON() ([]byte, error) { // DataAccessOptions: Write a Data Access (Gin) log type DataAccessOptions 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_MODE_UNSPECIFIED" - Client is not required to write a partial + // Gin log immediately after + // the authorization check. If client chooses to write one and it + // fails, + // client may either fail open (allow the operation to continue) or + // fail closed (handle as a DENY outcome). + // "LOG_FAIL_CLOSED" - The application's operation in the context of + // which this authorization + // check is being made may only be performed if it is successfully + // logged + // to Gin. For instance, the authorization library may satisfy + // this + // obligation by emitting a partial log entry at authorization check + // time + // and only returning ALLOW to the application if it succeeds. + // + // If a matching Rule has this directive, but the client has not + // indicated + // that it will honor such requirements, then the IAM check will result + // in + // authorization failure by setting CheckPolicyResponse.success=false. + 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 *DataAccessOptions) MarshalJSON() ([]byte, error) { + type noMethod DataAccessOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // DeleteServiceStrategy: Strategy used to delete a service. This @@ -2750,49 +2850,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. @@ -3007,35 +3064,6 @@ func (s *ListServicesResponse) MarshalJSON() ([]byte, error) { } // 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"` @@ -3411,7 +3439,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 +3713,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 +3729,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 +3799,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 @@ -4856,13 +4884,13 @@ 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`. + // 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 +5218,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 6e6253e..1a16567 100644 --- a/vendor/google.golang.org/api/serviceuser/v1/serviceuser-api.json +++ b/vendor/google.golang.org/api/serviceuser/v1/serviceuser-api.json @@ -1,36 +1,38 @@ { + "name": "serviceuser", + "batchPath": "batch", "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", + "parameterOrder": [], "response": { "$ref": "SearchServicesResponse" }, - "parameterOrder": [], + "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" + } + }, "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" + "flatPath": "v1/services: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." } } }, @@ -40,19 +42,23 @@ "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", + "id": "serviceuser.projects.services.disable", "request": { "$ref": "DisableServiceRequest" }, - "response": { - "$ref": "Operation" - }, + "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" ], - "httpMethod": "POST", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], "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", @@ -61,68 +67,63 @@ "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" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "parameters": { + "name": { + "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/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/services/{servicesId}:enable", + "path": "v1/{+name}:enable", + "id": "serviceuser.projects.services.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": { - "description": "List enabled services for the specified consumer.", - "httpMethod": "GET", - "parameterOrder": [ - "parent" - ], "response": { "$ref": "ListEnabledServicesResponse" }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", "parameters": { + "pageToken": { + "location": "query", + "description": "Token identifying which result to start with; returned by a previous list\ncall.", + "type": "string" + }, "pageSize": { + "type": "integer", "location": "query", "format": "int32", - "description": "Requested size of the next page of data.", - "type": "integer" + "description": "Requested size of the next page of data." }, "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" + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" } }, "scopes": [ @@ -130,8 +131,9 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ], "flatPath": "v1/projects/{projectsId}/services", + "id": "serviceuser.projects.services.list", "path": "v1/{+parent}/services", - "id": "serviceuser.projects.services.list" + "description": "List enabled services for the specified consumer." } } } @@ -139,36 +141,15 @@ } }, "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", + "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" + "type": "string", + "location": "query" }, "upload_protocol": { "location": "query", @@ -176,25 +157,20 @@ "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" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", "type": "string", "location": "query" }, - "callback": { - "type": "string", + "fields": { "location": "query", - "description": "JSONP" + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" }, "$.xgafv": { "enumDescriptions": [ @@ -209,9 +185,12 @@ "description": "V1 error format.", "type": "string" }, + "callback": { + "type": "string", + "location": "query", + "description": "JSONP" + }, "alt": { - "description": "Data format for response.", - "default": "json", "enum": [ "json", "media", @@ -223,619 +202,60 @@ "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" } }, "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": "", + "revision": "20170819", "id": "serviceuser:v1", "documentationLink": "https://cloud.google.com/service-management/", - "revision": "20170626", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "Api": { - "description": "Api is a light-weight descriptor for a protocol buffer service.", - "type": "object", - "properties": { - "mixins": { - "description": "Included APIs. See Mixin.", - "items": { - "$ref": "Mixin" - }, - "type": "array" - }, - "options": { - "items": { - "$ref": "Option" - }, - "type": "array", - "description": "Any metadata attached to the API." - }, - "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.", - "type": "string" - }, - "sourceContext": { - "description": "Source context for the protocol buffer service represented by this\nmessage.", - "$ref": "SourceContext" - }, - "syntax": { - "description": "The source syntax of the service.", - "type": "string", - "enumDescriptions": [ - "Syntax `proto2`.", - "Syntax `proto3`." - ], - "enum": [ - "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", - "type": "string" - } - }, - "id": "Api" - }, - "MetricRule": { - "description": "Bind API methods to metrics. Binding a method to a metric causes that\nmetric's configured quota behaviors to apply to the method call.", - "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" - } - }, - "selector": { - "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", - "type": "string" - } - }, - "id": "MetricRule" - }, - "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" - }, - "providers": { - "items": { - "$ref": "AuthProvider" - }, - "type": "array", - "description": "Defines a set of authentication providers that a service supports." - } - }, - "id": "Authentication" - }, - "Operation": { - "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." - }, - "response": { - "type": "object", - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." - }, - "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`.", - "type": "string" - }, - "error": { - "description": "The error result of the operation in case of failure or cancellation.", - "$ref": "Status" - }, - "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." - } - }, - "id": "Operation", - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call." - }, - "Page": { - "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": { - "$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" - } - }, - "id": "Page", - "description": "Represents a documentation page. A page can contain subpages to represent\nnested documentation set structure.", - "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": { - "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": { - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, - "type": "array" - } - }, - "id": "Status" - }, - "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": { - "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" - }, - "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" - }, - "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" - } - }, - "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." - }, - "systemParameters": { - "description": "System parameter configuration.", - "$ref": "SystemParameters" - }, - "backend": { - "$ref": "Backend", - "description": "API backend configuration." - }, - "documentation": { - "$ref": "Documentation", - "description": "Additional API documentation." - }, - "logging": { - "$ref": "Logging", - "description": "Logging configuration." - }, - "monitoredResources": { - "description": "Defines the monitored resources used by this service. This is required\nby the Service.monitoring and Service.logging configurations.", - "items": { - "$ref": "MonitoredResourceDescriptor" - }, - "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": { - "$ref": "Usage", - "description": "Configuration controlling usage of this service." - }, - "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": { - "$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": { - "$ref": "Visibility", - "description": "API visibility configuration." - }, - "quota": { - "$ref": "Quota", - "description": "Quota configuration." - }, - "name": { - "description": "The DNS address at which this service is available,\ne.g. `calendar.googleapis.com`.", - "type": "string" - }, - "customError": { - "$ref": "CustomError", - "description": "Custom error configuration." - } - }, - "id": "Service" - }, - "OperationMetadata": { - "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.", - "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": { - "type": "integer", - "format": "int32", - "description": "Percentage of completion of this operation, ranging from 0 to 100." - } - }, - "id": "OperationMetadata", - "description": "The metadata associated with a long running operation resource.", - "type": "object" - }, - "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" - } - }, - "id": "CustomHttpPattern" - }, - "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." - }, - "name": { - "description": "The resource name of the service.\n\nA valid name would be:\n- services/serviceuser.googleapis.com", - "type": "string" - } - }, - "id": "PublishedService" - }, - "SystemParameterRule": { - "description": "Define a system parameter rule mapping system parameter definitions to\nmethods.", - "type": "object", - "properties": { - "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" - }, - "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" - }, - "HttpRule": { - "type": "object", - "properties": { - "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" - }, - "put": { - "description": "Used for updating a resource.", - "type": "string" - }, - "delete": { - "description": "Used for deleting a resource.", - "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" - }, - "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" - }, - "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": { - "$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." - }, - "MonitoringDestination": { - "id": "MonitoringDestination", - "description": "Configuration of a specific monitoring destination (the producer project\nor the consumer project).", - "type": "object", - "properties": { - "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" - } - } - }, - "Visibility": { - "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.", - "items": { - "$ref": "VisibilityRule" - }, - "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" - }, - "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" - } - }, - "id": "SystemParameters" - }, - "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" - } - }, - "id": "Quota" - }, "Step": { - "description": "Represents the status of one operation step.", "type": "object", "properties": { + "description": { + "description": "The short description of the step.", + "type": "string" + }, "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", @@ -845,22 +265,11 @@ "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." - ] - }, - "description": { - "type": "string", - "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).", @@ -881,34 +290,34 @@ "id": "LoggingDestination" }, "Option": { - "id": "Option", "description": "A protocol buffer option, which can be attached to a message, field,\nenumeration, etc.", "type": "object", "properties": { "value": { + "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", "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" } - } + }, + "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,30 +333,16 @@ "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" - }, - "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": { + "description": { "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": "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`)." }, "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": { @@ -959,8 +354,8 @@ "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", @@ -970,12 +365,26 @@ "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" + }, + "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" } }, "id": "QuotaLimit" }, "Method": { - "description": "Method represents a method of an api.", + "description": "Method represents a method of an API interface.", "type": "object", "properties": { "responseTypeUrl": { @@ -1006,6 +415,8 @@ "type": "boolean" }, "syntax": { + "description": "The source syntax of this method.", + "type": "string", "enumDescriptions": [ "Syntax `proto2`.", "Syntax `proto3`." @@ -1013,44 +424,42 @@ "enum": [ "SYNTAX_PROTO2", "SYNTAX_PROTO3" - ], - "description": "The source syntax of this method.", - "type": "string" + ] } }, "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" + "type": "string", + "description": "The fully qualified name of the interface which is included." }, "root": { "description": "If non-empty specifies a path under which inherited HTTP paths\nare rooted.", "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": { "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" + }, + "types": { + "items": { + "type": "string" + }, "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." + "description": "The list of custom error detail types, e.g. 'google.foo.v1.CustomError'." } }, "id": "CustomError", @@ -1060,16 +469,16 @@ "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" @@ -1079,15 +488,15 @@ "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": "any", + "description": "Properties of the object. Contains field @type with type URL." } }, - "type": "array" + "type": "array", + "description": "All files used during config generation." } }, "id": "SourceInfo" @@ -1104,14 +513,9 @@ } }, "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": { - "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" @@ -1119,46 +523,18 @@ "name": { "description": "Define the name of the parameter, such as \"api_key\" . It is case sensitive.", "type": "string" - } - } - }, - "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" + "urlQueryParameter": { + "description": "Define the URL query parameter name to use for the parameter. It is case\nsensitive.", + "type": "string" } - } + }, + "id": "SystemParameter" }, "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.", @@ -1231,34 +607,67 @@ "type": "boolean" }, "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" ], - "description": "The field 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." + ] + }, + "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" } }, "id": "Field" }, + "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" + } + }, + "id": "Monitoring" + }, "Enum": { "description": "Enum type definition.", "type": "object", "properties": { "enumvalue": { - "description": "Enum value definitions.", "items": { "$ref": "EnumValue" }, - "type": "array" + "type": "array", + "description": "Enum value definitions." }, "name": { "description": "Enum type name.", @@ -1272,8 +681,6 @@ "type": "array" }, "syntax": { - "description": "The source syntax.", - "type": "string", "enumDescriptions": [ "Syntax `proto2`.", "Syntax `proto3`." @@ -1281,49 +688,51 @@ "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" }, - "EnableServiceRequest": { - "description": "Request message for EnableService method.", - "type": "object", - "properties": {}, - "id": "EnableServiceRequest" - }, "LabelDescriptor": { - "type": "object", "properties": { + "key": { + "description": "The label key.", + "type": "string" + }, + "description": { + "description": "A human-readable description for the label.", + "type": "string" + }, "valueType": { - "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." + ], + "enum": [ + "STRING", + "BOOL", + "INT64" ] - }, - "key": { - "type": "string", - "description": "The label key." - }, - "description": { - "description": "A human-readable description for the label.", - "type": "string" } }, "id": "LabelDescriptor", - "description": "A description of a label." + "description": "A description of a label.", + "type": "object" + }, + "EnableServiceRequest": { + "description": "Request message for EnableService method.", + "type": "object", + "properties": {}, + "id": "EnableServiceRequest" }, "Type": { "description": "A protocol buffer message type.", @@ -1336,6 +745,10 @@ "type": "array", "description": "The list of types appearing in `oneof` definitions in this type." }, + "sourceContext": { + "description": "The source context.", + "$ref": "SourceContext" + }, "syntax": { "enumDescriptions": [ "Syntax `proto2`.", @@ -1348,10 +761,6 @@ "description": "The source syntax.", "type": "string" }, - "sourceContext": { - "description": "The source context.", - "$ref": "SourceContext" - }, "options": { "description": "The protocol buffer options.", "items": { @@ -1374,17 +783,18 @@ "id": "Type" }, "Experimental": { - "id": "Experimental", "description": "Experimental service configuration. These configuration options can\nonly be used by whitelisted users.", "type": "object", "properties": { "authorization": { - "description": "Authorization configuration.", - "$ref": "AuthorizationConfig" + "$ref": "AuthorizationConfig", + "description": "Authorization configuration." } - } + }, + "id": "Experimental" }, "Backend": { + "description": "`Backend` defines the backend configuration for a service.", "type": "object", "properties": { "rules": { @@ -1395,11 +805,9 @@ "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", "type": "object", "properties": { "provider": { @@ -1407,31 +815,39 @@ "type": "string" } }, - "id": "AuthorizationConfig" + "id": "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" }, "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" + }, + "description": { "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": "Description of the selected API(s)." } }, - "id": "DocumentationRule" + "id": "DocumentationRule", + "description": "A documentation rule provides information about individual API elements.", + "type": "object" }, "ContextRule": { "description": "A context rule provides information about the context for an individual API\nelement.", "type": "object", "properties": { + "provided": { + "items": { + "type": "string" + }, + "type": "array", + "description": "A list of full type names of provided contexts." + }, "requested": { "description": "A list of full type names of requested contexts.", "items": { @@ -1442,19 +858,11 @@ "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": { @@ -1462,12 +870,21 @@ "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" }, "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": { + "description": { + "type": "string", + "description": "A detailed description of the metric, which can be used in documentation." + }, + "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" @@ -1484,8 +901,8 @@ "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.", @@ -1510,12 +927,6 @@ ] }, "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": [ @@ -1523,19 +934,35 @@ "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": { - "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" }, + "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", @@ -1576,24 +1003,6 @@ }, "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,31 +1015,32 @@ "id": "OAuthRequirements" }, "Usage": { + "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": { "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'.", "items": { "type": "string" }, "type": "array" + }, + "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": { + "items": { + "$ref": "UsageRule" + }, + "type": "array", + "description": "A list of usage rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order." } }, "id": "Usage", - "description": "Configuration controlling usage of a service.", - "type": "object" + "description": "Configuration controlling usage of a service." }, "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 +1051,17 @@ "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,15 +1075,24 @@ "description": "A human-readable description of this log. This information appears in\nthe documentation and can contain details.", "type": "string" } - } + }, + "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" }, "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": { + "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" + "type": "string", + "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}\"`." }, "description": { "description": "Optional. A detailed description of the monitored resource type that might\nbe used in documentation.", @@ -1687,24 +1103,18 @@ "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": { - "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" + "type": "string", + "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." } }, "id": "MonitoredResourceDescriptor" }, "CustomErrorRule": { + "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.", @@ -1712,22 +1122,20 @@ } }, "id": "CustomErrorRule", - "description": "A custom error rule.", - "type": "object" + "description": "A custom error rule." }, "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,27 +1144,28 @@ "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.", "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" }, - "dropzone": { - "description": "Name of the Scotty dropzone to use for the current API.", - "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" }, "DisableServiceRequest": { "description": "Request message for DisableService method.", @@ -1764,7 +1173,24 @@ "properties": {}, "id": "DisableServiceRequest" }, + "AuthorizationRule": { + "type": "object", + "properties": { + "selector": { + "description": "Selects the API elements to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" + }, + "permissions": { + "description": "The required permissions. The acceptable values vary depend on the\nauthorization system used. For Google APIs, it should be a comma-separated\nGoogle IAM permission values. When multiple permissions are listed, the\nsemantics is not defined by the system. Additional documentation must\nbe provided manually.", + "type": "string" + } + }, + "id": "AuthorizationRule", + "description": "Authorization rule for API services.\n\nIt specifies the permission(s) required for an API element for the overall\nAPI request to succeed. It is typically used to mark request message fields\nthat contain the name of the resource and indicates the permissions that\nwill be checked on that resource.\n\nFor example:\n\n package google.storage.v1;\n\n message CopyObjectRequest {\n string source = 1 [\n (google.api.authz).permissions = \"storage.objects.get\"];\n\n string destination = 2 [\n (google.api.authz).permissions =\n \"storage.objects.create,storage.objects.update\"];\n }" + }, "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,12 +1204,40 @@ "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": { + "mimeTypes": { + "items": { + "type": "string" + }, + "type": "array", + "description": "An array of mimetype patterns. Esf will only accept uploads that match one\nof the given patterns." + }, + "maxSize": { + "format": "int64", + "description": "Optional maximum acceptable size for an upload.\nThe size is specified in bytes.", + "type": "string" + }, + "enabled": { + "description": "Whether upload is enabled.", + "type": "boolean" + }, + "progressNotification": { + "description": "Whether to receive a notification for progress changes of media upload.", + "type": "boolean" + }, + "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" + }, + "dropzone": { + "description": "Name of the Scotty dropzone to use for the current API.", + "type": "string" + }, "startNotification": { "description": "Whether to receive a notification on the start of media upload.", "type": "boolean" @@ -1791,42 +1245,18 @@ "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." - }, - "mimeTypes": { - "description": "An array of mimetype patterns. Esf will only accept uploads that match one\nof the given patterns.", - "items": { - "type": "string" - }, - "type": "array" - }, - "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" - }, - "enabled": { - "type": "boolean", - "description": "Whether upload is enabled." - }, - "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" + "id": "MediaUpload" }, "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": { + "allowUnregisteredCalls": { + "type": "boolean", + "description": "True, if the method allows unregistered calls; false otherwise." + }, "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" @@ -1834,42 +1264,36 @@ "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" } }, - "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" + "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" + "type": "string", + "description": "id from authentication provider.\n\nExample:\n\n provider_id: bookstore_auth" + }, + "audiences": { + "type": "string", + "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" } }, - "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" + "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": { - "type": "string", - "description": "A short summary of what the service does. Can only be provided by\nplain text." + "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" + "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.", @@ -1896,28 +1320,28 @@ "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" + "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" + "type": "string", + "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details." }, "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." + "$ref": "OAuthRequirements", + "description": "The requirements for OAuth credentials." } }, "id": "AuthenticationRule" @@ -1926,6 +1350,11 @@ "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.", @@ -1936,41 +1365,638 @@ "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" + "type": "string", + "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details." } }, "id": "BackendRule" + }, + "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": { + "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" + }, + "syntax": { + "type": "string", + "enumDescriptions": [ + "Syntax `proto2`.", + "Syntax `proto3`." + ], + "enum": [ + "SYNTAX_PROTO2", + "SYNTAX_PROTO3" + ], + "description": "The source syntax of the service." + }, + "sourceContext": { + "description": "Source context for the protocol buffer service represented by this\nmessage.", + "$ref": "SourceContext" + }, + "version": { + "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": { + "items": { + "$ref": "Mixin" + }, + "type": "array", + "description": "Included interfaces. See Mixin." + }, + "options": { + "description": "Any metadata attached to the interface.", + "items": { + "$ref": "Option" + }, + "type": "array" + } + }, + "id": "Api" + }, + "MetricRule": { + "type": "object", + "properties": { + "metricCosts": { + "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.", + "type": "string" + } + }, + "id": "MetricRule", + "description": "Bind API methods to metrics. Binding a method to a metric causes that\nmetric's configured quota behaviors to apply to the method call." + }, + "Authentication": { + "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" + } + }, + "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", + "type": "object" + }, + "Operation": { + "id": "Operation", + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object", + "properties": { + "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": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + }, + "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." + } + } + }, + "Page": { + "description": "Represents a documentation page. A page can contain subpages to represent\nnested documentation set structure.", + "type": "object", + "properties": { + "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" + }, + "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": { + "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": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + }, + "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." + }, + "AuthProvider": { + "id": "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": { + "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" + }, + "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" + }, + "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" + } + } + }, + "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": { + "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": { + "$ref": "Authentication", + "description": "Auth configuration." + }, + "experimental": { + "description": "Experimental configuration.", + "$ref": "Experimental" + }, + "control": { + "description": "Configuration for the service control plane.", + "$ref": "Control" + }, + "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." + }, + "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.", + "items": { + "$ref": "Type" + }, + "type": "array" + }, + "visibility": { + "description": "API visibility configuration.", + "$ref": "Visibility" + }, + "quota": { + "$ref": "Quota", + "description": "Quota configuration." + }, + "name": { + "description": "The DNS address at which this service is available,\ne.g. `calendar.googleapis.com`.", + "type": "string" + }, + "customError": { + "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": { + "$ref": "SourceInfo", + "description": "Output only. The source information for this configuration if available." + }, + "http": { + "description": "HTTP configuration.", + "$ref": "Http" + }, + "systemParameters": { + "$ref": "SystemParameters", + "description": "System parameter configuration." + }, + "backend": { + "description": "API backend configuration.", + "$ref": "Backend" + }, + "documentation": { + "$ref": "Documentation", + "description": "Additional API documentation." + }, + "monitoredResources": { + "description": "Defines the monitored resources used by this service. This is required\nby the Service.monitoring and Service.logging configurations.", + "items": { + "$ref": "MonitoredResourceDescriptor" + }, + "type": "array" + }, + "logging": { + "$ref": "Logging", + "description": "Logging 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" + }, + "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.", + "type": "string" + } + } + }, + "EnumValue": { + "id": "EnumValue", + "description": "Enum value definition.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Enum value name." + }, + "options": { + "description": "Protocol buffer options.", + "items": { + "$ref": "Option" + }, + "type": "array" + }, + "number": { + "format": "int32", + "description": "Enum value number.", + "type": "integer" + } + } + }, + "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" + }, + "CustomHttpPattern": { + "properties": { + "kind": { + "description": "The name of this custom HTTP verb.", + "type": "string" + }, + "path": { + "description": "The path matched by this custom verb.", + "type": "string" + } + }, + "id": "CustomHttpPattern", + "description": "A custom pattern is used for defining custom HTTP verb.", + "type": "object" + }, + "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." + }, + "name": { + "description": "The resource name of the service.\n\nA valid name would be:\n- services/serviceuser.googleapis.com", + "type": "string" + } + }, + "id": "PublishedService" + }, + "SystemParameterRule": { + "description": "Define a system parameter rule mapping system parameter definitions to\nmethods.", + "type": "object", + "properties": { + "parameters": { + "items": { + "$ref": "SystemParameter" + }, + "type": "array", + "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." + }, + "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" + }, + "VisibilityRule": { + "id": "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": { + "description": "Selects methods, messages, fields, enums, etc. to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" + } + } + }, + "HttpRule": { + "type": "object", + "properties": { + "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." + }, + "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." + }, + "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" + }, + "authorizations": { + "description": "Specifies the permission(s) required for an API element for the overall\nAPI request to succeed. It is typically used to mark request message fields\nthat contain the name of the resource and indicates the permissions that\nwill be checked on that resource.", + "items": { + "$ref": "AuthorizationRule" + }, + "type": "array" + }, + "delete": { + "description": "Used for deleting a resource.", + "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" + }, + "post": { + "description": "Used for creating a resource.", + "type": "string" + }, + "mediaDownload": { + "$ref": "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." + }, + "restMethodName": { + "description": "DO NOT USE. This is an experimental field.\n\nOptional. 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\n\"create\", but for backwards compatibility with apiary, it is specified as\ninsert.", + "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": { + "$ref": "HttpRule" + }, + "type": "array" + }, + "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" + }, + "restCollection": { + "description": "DO NOT USE. This is an experimental field.\n\nOptional. 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" + } + }, + "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." + }, + "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" + } + }, + "id": "MonitoringDestination" + }, + "Visibility": { + "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.", + "items": { + "$ref": "VisibilityRule" + }, + "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" + }, + "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" + } + }, + "id": "SystemParameters" + }, + "Quota": { + "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" + } + }, + "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" } }, - "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": "Service User", "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/service.management": { "description": "Manage your Google API service configuration" + }, + "https://www.googleapis.com/auth/cloud-platform.read-only": { + "description": "View your data across Google Cloud Platform services" } } } }, "rootUrl": "https://serviceuser.googleapis.com/", - "ownerDomain": "google.com", - "name": "serviceuser", - "batchPath": "batch" + "ownerDomain": "google.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 214bd7b..08f5133 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`. @@ -498,6 +521,68 @@ func (s *AuthorizationConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AuthorizationRule: Authorization rule for API services. +// +// It specifies the permission(s) required for an API element for the +// overall +// API request to succeed. It is typically used to mark request message +// fields +// that contain the name of the resource and indicates the permissions +// that +// will be checked on that resource. +// +// For example: +// +// package google.storage.v1; +// +// message CopyObjectRequest { +// string source = 1 [ +// (google.api.authz).permissions = "storage.objects.get"]; +// +// string destination = 2 [ +// (google.api.authz).permissions = +// "storage.objects.create,storage.objects.update"]; +// } +type AuthorizationRule struct { + // Permissions: The required permissions. The acceptable values vary + // depend on the + // authorization system used. For Google APIs, it should be a + // comma-separated + // Google IAM permission values. When multiple permissions are listed, + // the + // semantics is not defined by the system. Additional documentation + // must + // be provided manually. + Permissions string `json:"permissions,omitempty"` + + // Selector: Selects the API elements to which this rule applies. + // + // Refer to selector for syntax details. + Selector string `json:"selector,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 *AuthorizationRule) MarshalJSON() ([]byte, error) { + type noMethod AuthorizationRule + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Backend: `Backend` defines the backend configuration for a service. type Backend struct { // Rules: A list of API backend rules that apply to individual API @@ -1658,6 +1743,15 @@ type HttpRule struct { // the nesting may only be one level deep). AdditionalBindings []*HttpRule `json:"additionalBindings,omitempty"` + // Authorizations: Specifies the permission(s) required for an API + // element for the overall + // API request to succeed. It is typically used to mark request message + // fields + // that contain the name of the resource and indicates the permissions + // that + // will be checked on that resource. + Authorizations []*AuthorizationRule `json:"authorizations,omitempty"` + // Body: The name of the request field whose value is mapped to the HTTP // body, or // `*` for mapping all fields not captured by the path pattern to the @@ -1716,8 +1810,10 @@ 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 + // RestCollection: DO NOT USE. This is an experimental field. + // + // Optional. The REST collection name is by default derived from the + // URL // pattern. If specified, this field overrides the default collection // name. // Example: @@ -1739,8 +1835,10 @@ type HttpRule struct { // 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 + // RestMethodName: DO NOT USE. This is an experimental field. + // + // Optional. The rest method name is by default derived from the + // URL // pattern. If specified, this field overrides the default method // name. // Example: @@ -1754,9 +1852,10 @@ type HttpRule struct { // }; // } // - // This method has the automatically derived rest method name "create", - // but - // for backwards compatability with apiary, it is specified as insert. + // This method has the automatically derived rest method name + // "create", but for backwards compatibility with apiary, it is + // specified as + // insert. RestMethodName string `json:"restMethodName,omitempty"` // Selector: Selects methods to which this rule applies. @@ -2166,7 +2265,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 +2539,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 +2555,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 +2625,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 @@ -3415,13 +3514,13 @@ 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`. + // 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 +3802,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 8eea666..76d3d82 100644 --- a/vendor/google.golang.org/api/sheets/v4/sheets-api.json +++ b/vendor/google.golang.org/api/sheets/v4/sheets-api.json @@ -1,13 +1,3967 @@ { + "canonicalName": "Sheets", + "auth": { + "oauth2": { + "scopes": { + "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" + }, + "https://www.googleapis.com/auth/spreadsheets.readonly": { + "description": "View your Google Spreadsheets" + }, + "https://www.googleapis.com/auth/drive.readonly": { + "description": "View the files in your Google Drive" + }, + "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" + } + } + } + }, + "rootUrl": "https://sheets.googleapis.com/", + "ownerDomain": "google.com", + "name": "sheets", + "batchPath": "batch", + "title": "Google Sheets API", + "ownerName": "Google", + "resources": { + "spreadsheets": { + "methods": { + "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" + }, + "response": { + "$ref": "BatchUpdateSpreadsheetResponse" + }, + "parameterOrder": [ + "spreadsheetId" + ], + "httpMethod": "POST", + "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", + "id": "sheets.spreadsheets.batchUpdate", + "path": "v4/spreadsheets/{spreadsheetId}:batchUpdate" + }, + "create": { + "response": { + "$ref": "Spreadsheet" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "parameters": {}, + "flatPath": "v4/spreadsheets", + "id": "sheets.spreadsheets.create", + "path": "v4/spreadsheets", + "request": { + "$ref": "Spreadsheet" + }, + "description": "Creates a spreadsheet, returning the newly created spreadsheet." + }, + "get": { + "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.", + "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": { + "description": "The spreadsheet to request.", + "type": "string", + "required": true, + "location": "path" + }, + "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": { + "description": "The ranges to retrieve from the spreadsheet.", + "type": "string", + "repeated": true, + "location": "query" + } + } + } + }, + "resources": { + "sheets": { + "methods": { + "copyTo": { + "request": { + "$ref": "CopySheetToAnotherSpreadsheetRequest" + }, + "description": "Copies a single sheet from a spreadsheet to another spreadsheet.\nReturns the properties of the newly created sheet.", + "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": { + "sheetId": { + "location": "path", + "format": "int32", + "description": "The ID of the sheet to copy.", + "type": "integer", + "required": true + }, + "spreadsheetId": { + "description": "The ID of the spreadsheet containing the sheet to copy.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo", + "path": "v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo", + "id": "sheets.spreadsheets.sheets.copyTo" + } + } + }, + "values": { + "methods": { + "get": { + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}", + "id": "sheets.spreadsheets.values.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": { + "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" + ] + }, + "spreadsheetId": { + "location": "path", + "description": "The ID of the spreadsheet to retrieve data from.", + "type": "string", + "required": true + }, + "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" + } + }, + "flatPath": "v4/spreadsheets/{spreadsheetId}/values/{range}" + }, + "update": { + "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": { + "location": "path", + "description": "The ID of the spreadsheet to update.", + "type": "string", + "required": true + }, + "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" + }, + "valueInputOption": { + "description": "How the input data should be interpreted.", + "type": "string", + "location": "query", + "enum": [ + "INPUT_VALUE_OPTION_UNSPECIFIED", + "RAW", + "USER_ENTERED" + ] + }, + "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": { + "type": "string", + "required": true, + "location": "path", + "description": "The A1 notation of the values to update." + }, + "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" + } + }, + "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}", + "id": "sheets.spreadsheets.values.update", + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}" + }, + "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": { + "location": "path", + "description": "The ID of the spreadsheet to update.", + "type": "string", + "required": true + } + }, + "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchUpdate", + "path": "v4/spreadsheets/{spreadsheetId}/values:batchUpdate", + "id": "sheets.spreadsheets.values.batchUpdate" + }, + "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 + } + }, + "flatPath": "v4/spreadsheets/{spreadsheetId}/values/{range}:clear" + }, + "batchGet": { + "httpMethod": "GET", + "response": { + "$ref": "BatchGetValuesResponse" + }, + "parameterOrder": [ + "spreadsheetId" + ], + "parameters": { + "majorDimension": { + "type": "string", + "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]]`." + }, + "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": { + "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" + } + }, + "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" + ], + "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": { + "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 + }, + "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" + }, + "spreadsheetId": { + "location": "path", + "description": "The ID of the spreadsheet to update.", + "type": "string", + "required": true + }, + "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" + }, + "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": { + "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", + "location": "query", + "enum": [ + "SERIAL_NUMBER", + "FORMATTED_STRING" + ] + } + }, + "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": { + "httpMethod": "POST", + "parameterOrder": [ + "spreadsheetId" + ], + "response": { + "$ref": "BatchClearValuesResponse" + }, + "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 + } + }, + "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchClear", + "path": "v4/spreadsheets/{spreadsheetId}/values:batchClear", + "id": "sheets.spreadsheets.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." + } + } + } + } + } + }, + "parameters": { + "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" + }, + "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": { + "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." + }, + "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": { + "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": { + "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": "v4", + "baseUrl": "https://sheets.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Reads and writes Google Sheets.", + "servicePath": "", + "basePath": "", + "revision": "20170822", + "documentationLink": "https://developers.google.com/sheets/", + "id": "sheets:v4", + "discoveryVersion": "v1", + "version_module": true, "schemas": { + "SetDataValidationRequest": { + "id": "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", + "properties": { + "rule": { + "description": "The data validation rule to set on each cell in the range,\nor empty to clear the data validation in the range.", + "$ref": "DataValidationRule" + }, + "range": { + "description": "The range the data validation rule should apply to.", + "$ref": "GridRange" + } + } + }, + "BubbleChartSpec": { + "description": "A \u003ca href=\"/chart/interactive/docs/gallery/bubblechart\"\u003ebubble chart\u003c/a\u003e.", + "type": "object", + "properties": { + "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": { + "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." + ], + "enum": [ + "BUBBLE_CHART_LEGEND_POSITION_UNSPECIFIED", + "BOTTOM_LEGEND", + "LEFT_LEGEND", + "RIGHT_LEGEND", + "TOP_LEGEND", + "NO_LEGEND", + "INSIDE_LEGEND" + ] + }, + "bubbleSizes": { + "$ref": "ChartData", + "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." + }, + "domain": { + "$ref": "ChartData", + "description": "The data containing the bubble x-values. These values locate the bubbles\nin the chart horizontally." + }, + "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" + }, + "bubbleTextStyle": { + "description": "The format of the text inside the bubbles.\nUnderline and Strikethrough are not supported.", + "$ref": "TextFormat" + }, + "bubbleBorderColor": { + "description": "The bubble border color.", + "$ref": "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": { + "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" + } + }, + "id": "BubbleChartSpec" + }, + "CellData": { + "description": "Data about a specific cell.", + "type": "object", + "properties": { + "userEnteredFormat": { + "$ref": "CellFormat", + "description": "The format the user entered for the cell.\n\nWhen writing, the new format will be merged with the existing format." + }, + "note": { + "type": "string", + "description": "Any note on the cell." + }, + "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" + }, + "userEnteredValue": { + "$ref": "ExtendedValue", + "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." + }, + "dataValidation": { + "description": "A data validation rule on the cell, if any.\n\nWhen writing, the new data validation rule will overwrite any prior rule.", + "$ref": "DataValidationRule" + }, + "effectiveValue": { + "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.", + "items": { + "$ref": "TextFormatRun" + }, + "type": "array" + }, + "formattedValue": { + "type": "string", + "description": "The formatted value of the cell.\nThis is the value as it's shown to the user.\nThis field is read-only." + }, + "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." + } + }, + "id": "CellData" + }, + "BatchUpdateSpreadsheetRequest": { + "description": "The request for updating any aspect of a spreadsheet.", + "type": "object", + "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" + }, + "responseRanges": { + "description": "Limits the ranges included in the response spreadsheet.\nMeaningful only if include_spreadsheet_response is 'true'.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "Padding": { + "description": "The amount of padding around the cell, in pixels.\nWhen updating padding, every field must be specified.", + "type": "object", + "properties": { + "right": { + "format": "int32", + "description": "The right padding of the cell.", + "type": "integer" + }, + "bottom": { + "type": "integer", + "format": "int32", + "description": "The bottom padding of the cell." + }, + "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" + }, + "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": { + "enum": [ + "BASIC_CHART_AXIS_POSITION_UNSPECIFIED", + "BOTTOM_AXIS", + "LEFT_AXIS", + "RIGHT_AXIS" + ], + "description": "The position of this axis.", + "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": "BasicChartAxis" + }, + "DeleteDimensionRequest": { + "description": "Deletes the dimensions from the sheet.", + "type": "object", + "properties": { + "range": { + "$ref": "DimensionRange", + "description": "The dimensions to delete from the sheet." + } + }, + "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.)", + "type": "object", + "properties": { + "spec": { + "$ref": "ChartSpec", + "description": "The specification to apply to the chart." + }, + "chartId": { + "format": "int32", + "description": "The ID of the chart to update.", + "type": "integer" + } + }, + "id": "UpdateChartSpecRequest" + }, + "DeleteFilterViewRequest": { + "description": "Deletes a particular filter view.", + "type": "object", + "properties": { + "filterId": { + "format": "int32", + "description": "The ID of the filter to delete.", + "type": "integer" + } + }, + "id": "DeleteFilterViewRequest" + }, + "BatchUpdateValuesResponse": { + "description": "The response when updating a range of values in a spreadsheet.", + "type": "object", + "properties": { + "totalUpdatedSheets": { + "format": "int32", + "description": "The total number of sheets where at least one cell in the sheet was\nupdated.", + "type": "integer" + }, + "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": { + "type": "string", + "description": "The spreadsheet the updates were applied to." + }, + "totalUpdatedRows": { + "format": "int32", + "description": "The total number of rows where at least one cell in the row was updated.", + "type": "integer" + }, + "responses": { + "description": "One UpdateValuesResponse per requested range, in the same order as\nthe requests appeared.", + "items": { + "$ref": "UpdateValuesResponse" + }, + "type": "array" + } + }, + "id": "BatchUpdateValuesResponse" + }, + "SortRangeRequest": { + "description": "Sorts data in rows based on a sort order per column.", + "type": "object", + "properties": { + "range": { + "$ref": "GridRange", + "description": "The range to sort." + }, + "sortSpecs": { + "description": "The sort order per column. Later specifications are used when values\nare equal in the earlier specifications.", + "items": { + "$ref": "SortSpec" + }, + "type": "array" + } + }, + "id": "SortRangeRequest" + }, + "MergeCellsRequest": { + "properties": { + "range": { + "$ref": "GridRange", + "description": "The range of cells to merge." + }, + "mergeType": { + "description": "How the cells should be merged.", + "type": "string", + "enumDescriptions": [ + "Create a single merge from the range", + "Create a merge for each column in the range", + "Create a merge for each row in the range" + ], + "enum": [ + "MERGE_ALL", + "MERGE_COLUMNS", + "MERGE_ROWS" + ] + } + }, + "id": "MergeCellsRequest", + "description": "Merges all cells in the range.", + "type": "object" + }, + "AddProtectedRangeRequest": { + "description": "Adds a new protected range.", + "type": "object", + "properties": { + "protectedRange": { + "$ref": "ProtectedRange", + "description": "The protected range to be added. The\nprotectedRangeId field is optional; if\none is not set, an id will be randomly generated. (It is an error to\nspecify the ID of a range that already exists.)" + } + }, + "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.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "BatchClearValuesRequest" + }, + "DuplicateFilterViewResponse": { + "id": "DuplicateFilterViewResponse", + "description": "The result of a filter view being duplicated.", + "type": "object", + "properties": { + "filter": { + "description": "The newly created filter.", + "$ref": "FilterView" + } + } + }, + "DuplicateSheetResponse": { + "description": "The result of duplicating a sheet.", + "type": "object", + "properties": { + "properties": { + "$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": { + "id": "TextToColumnsRequest", + "description": "Splits a column of text into multiple columns,\nbased on a delimiter in each cell.", + "type": "object", + "properties": { + "delimiterType": { + "enumDescriptions": [ + "Default value. This value must not be used.", + "\",\"", + "\";\"", + "\".\"", + "\" \"", + "A custom value as defined in delimiter." + ], + "enum": [ + "DELIMITER_TYPE_UNSPECIFIED", + "COMMA", + "SEMICOLON", + "PERIOD", + "SPACE", + "CUSTOM" + ], + "description": "The delimiter type to use.", + "type": "string" + }, + "source": { + "$ref": "GridRange", + "description": "The source data range. This must span exactly one column." + }, + "delimiter": { + "description": "The delimiter to use. Used only if delimiterType is\nCUSTOM.", + "type": "string" + } + } + }, + "DeleteBandingRequest": { + "description": "Removes the banded range with the given ID from the spreadsheet.", + "type": "object", + "properties": { + "bandedRangeId": { + "format": "int32", + "description": "The ID of the banded range to delete.", + "type": "integer" + } + }, + "id": "DeleteBandingRequest" + }, + "BatchUpdateSpreadsheetResponse": { + "description": "The reply for batch updating a spreadsheet.", + "type": "object", + "properties": { + "updatedSpreadsheet": { + "description": "The spreadsheet after updates were applied. This is only set if\n[BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response] is `true`.", + "$ref": "Spreadsheet" + }, + "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" + }, + "spreadsheetId": { + "type": "string", + "description": "The spreadsheet the updates were applied to." + } + }, + "id": "BatchUpdateSpreadsheetResponse" + }, + "AppendValuesResponse": { + "description": "The response when updating a range of values in a spreadsheet.", + "type": "object", + "properties": { + "updates": { + "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.", + "type": "string" + }, + "spreadsheetId": { + "description": "The spreadsheet the updates were applied to.", + "type": "string" + } + }, + "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" + }, + "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.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "PivotFilterCriteria" + }, + "AddFilterViewRequest": { + "description": "Adds a filter view.", + "type": "object", + "properties": { + "filter": { + "$ref": "FilterView", + "description": "The filter to add. The filterViewId\nfield is optional; if one is not set, an id will be randomly generated. (It\nis an error to specify the ID of a filter that already exists.)" + } + }, + "id": "AddFilterViewRequest" + }, + "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" + } + }, + "id": "AddConditionalFormatRuleRequest" + }, + "ChartSpec": { + "description": "The specifications of a chart.", + "type": "object", + "properties": { + "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": { + "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." + ], + "enum": [ + "CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED", + "SKIP_HIDDEN_ROWS_AND_COLUMNS", + "SKIP_HIDDEN_ROWS", + "SKIP_HIDDEN_COLUMNS", + "SHOW_ALL" + ] + }, + "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." + }, + "pieChart": { + "description": "A pie chart specification.", + "$ref": "PieChartSpec" + }, + "titleTextFormat": { + "description": "The title text format.\nStrikethrough and underline are not supported.", + "$ref": "TextFormat" + }, + "title": { + "description": "The title of the chart.", + "type": "string" + }, + "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." + } + }, + "id": "ChartSpec" + }, + "NumberFormat": { + "id": "NumberFormat", + "description": "The number format of a cell.", + "type": "object", + "properties": { + "pattern": { + "type": "string", + "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": { + "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`", + "Number formatting, e.g, `1,000.12`", + "Percent formatting, e.g `10.12%`", + "Currency formatting, e.g `$1,000.12`", + "Date formatting, e.g `9/26/2008`", + "Time formatting, e.g `3:59:00 PM`", + "Date+Time formatting, e.g `9/26/08 15:59:00`", + "Scientific number formatting, e.g `1.01E+03`" + ], + "enum": [ + "NUMBER_FORMAT_TYPE_UNSPECIFIED", + "TEXT", + "NUMBER", + "PERCENT", + "CURRENCY", + "DATE", + "TIME", + "DATE_TIME", + "SCIENTIFIC" + ], + "description": "The type of the number format.\nWhen writing, this field must be set.", + "type": "string" + } + } + }, + "CandlestickDomain": { + "description": "The domain of a CandlestickChart.", + "type": "object", + "properties": { + "data": { + "$ref": "ChartData", + "description": "The data of the CandlestickDomain." + }, + "reversed": { + "type": "boolean", + "description": "True to reverse the order of the domain values (horizontal axis)." + } + }, + "id": "CandlestickDomain" + }, + "SheetProperties": { + "description": "Properties of a sheet.", + "type": "object", + "properties": { + "title": { + "description": "The name of the sheet.", + "type": "string" + }, + "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": { + "description": "The color of the tab in the UI.", + "$ref": "Color" + }, + "sheetId": { + "format": "int32", + "description": "The ID of the sheet. Must be non-negative.\nThis field cannot be changed once set.", + "type": "integer" + }, + "rightToLeft": { + "description": "True if the sheet is an RTL sheet instead of an LTR sheet.", + "type": "boolean" + }, + "hidden": { + "description": "True if the sheet is hidden in the UI, false if it's visible.", + "type": "boolean" + }, + "gridProperties": { + "$ref": "GridProperties", + "description": "Additional properties of the sheet if this sheet is a grid.\n(If the sheet is an object sheet, containing a chart or image, then\nthis field will be absent.)\nWhen writing it is an error to set any grid properties on non-grid sheets." + }, + "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.", + "The sheet has no grid and instead has an object like a chart or image." + ], + "enum": [ + "SHEET_TYPE_UNSPECIFIED", + "GRID", + "OBJECT" + ] + } + }, + "id": "SheetProperties" + }, + "UpdateDimensionPropertiesRequest": { + "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." + }, + "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": "UpdateDimensionPropertiesRequest" + }, + "SourceAndDestination": { + "description": "A combination of a source range and how to extend that source.", + "type": "object", + "properties": { + "fillLength": { + "format": "int32", + "description": "The number of rows or columns that data should be filled into.\nPositive numbers expand beyond the last row or last column\nof the source. Negative numbers expand before the first row\nor first column of the source.", + "type": "integer" + }, + "source": { + "description": "The location of the data to use as the source of the autofill.", + "$ref": "GridRange" + }, + "dimension": { + "enum": [ + "DIMENSION_UNSPECIFIED", + "ROWS", + "COLUMNS" + ], + "description": "The dimension that data should be filled into.", + "type": "string", + "enumDescriptions": [ + "The default value, do not use.", + "Operates on the rows of a sheet.", + "Operates on the columns of a sheet." + ] + } + }, + "id": "SourceAndDestination" + }, + "OrgChartSpec": { + "type": "object", + "properties": { + "nodeColor": { + "$ref": "Color", + "description": "The color of the org chart nodes." + }, + "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" + }, + "parentLabels": { + "$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": { + "enumDescriptions": [ + "Default value, do not use.", + "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" + ], + "description": "The size of the org chart nodes.", + "type": "string" + }, + "labels": { + "description": "The data containing the labels for all the nodes in the chart. Labels\nmust be unique.", + "$ref": "ChartData" + } + }, + "id": "OrgChartSpec", + "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\"." + }, + "FilterView": { + "description": "A filter view.", + "type": "object", + "properties": { + "filterViewId": { + "format": "int32", + "description": "The ID of the filter view.", + "type": "integer" + }, + "range": { + "$ref": "GridRange", + "description": "The range this filter view covers.\n\nWhen writing, only one of range or named_range_id\nmay be set." + }, + "criteria": { + "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." + }, + "title": { + "description": "The name of the filter view.", + "type": "string" + }, + "sortSpecs": { + "description": "The sort order per column. Later specifications are used when values\nare equal in the earlier specifications.", + "items": { + "$ref": "SortSpec" + }, + "type": "array" + }, + "namedRangeId": { + "description": "The named range this filter view is backed by, if any.\n\nWhen writing, only one of range or named_range_id\nmay be set.", + "type": "string" + } + }, + "id": "FilterView" + }, + "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": { + "footerColor": { + "$ref": "Color", + "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." + }, + "headerColor": { + "$ref": "Color", + "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." + }, + "firstBandColor": { + "$ref": "Color", + "description": "The first color that is alternating. (Required)" + }, + "secondBandColor": { + "$ref": "Color", + "description": "The second color that is alternating. (Required)" + } + }, + "id": "BandingProperties" + }, + "CandlestickSeries": { + "properties": { + "data": { + "$ref": "ChartData", + "description": "The data of the CandlestickSeries." + } + }, + "id": "CandlestickSeries", + "description": "The series of a CandlestickData.", + "type": "object" + }, + "BasicFilter": { + "description": "The default filter associated with a sheet.", + "type": "object", + "properties": { + "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" + } + }, + "range": { + "$ref": "GridRange", + "description": "The range the filter covers." + }, + "sortSpecs": { + "description": "The sort order per column. Later specifications are used when values\nare equal in the earlier specifications.", + "items": { + "$ref": "SortSpec" + }, + "type": "array" + } + }, + "id": "BasicFilter" + }, + "AddProtectedRangeResponse": { + "properties": { + "protectedRange": { + "$ref": "ProtectedRange", + "description": "The newly added protected range." + } + }, + "id": "AddProtectedRangeResponse", + "description": "The result of adding a new protected range.", + "type": "object" + }, + "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.", + "type": "object", + "properties": { + "legendPosition": { + "enum": [ + "HISTOGRAM_CHART_LEGEND_POSITION_UNSPECIFIED", + "BOTTOM_LEGEND", + "LEFT_LEGEND", + "RIGHT_LEGEND", + "TOP_LEGEND", + "NO_LEGEND", + "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." + ] + }, + "bucketSize": { + "format": "double", + "description": "By default the bucket size (the range of values stacked in a single\ncolumn) is chosen automatically, but it may be overridden here.\nE.g., A bucket size of 1.5 results in buckets from 0 - 1.5, 1.5 - 3.0, etc.\nCannot be negative.\nThis field is optional.", + "type": "number" + }, + "outlierPercentile": { + "format": "double", + "description": "The outlier percentile is used to ensure that outliers do not adversely\naffect the calculation of bucket sizes. For example, setting an outlier\npercentile of 0.05 indicates that the top and bottom 5% of values when\ncalculating buckets. The values are still included in the chart, they will\nbe added to the first or last buckets instead of their own buckets.\nMust be between 0.0 and 0.5.", + "type": "number" + }, + "showItemDividers": { + "description": "Whether horizontal divider lines should be displayed between items in each\ncolumn.", + "type": "boolean" + }, + "series": { + "description": "The series for a histogram may be either a single series of values to be\nbucketed or multiple series, each of the same length, containing the name\nof the series followed by the values to be bucketed for that series.", + "items": { + "$ref": "HistogramSeries" + }, + "type": "array" + } + }, + "id": "HistogramChartSpec" + }, + "UpdateValuesResponse": { + "id": "UpdateValuesResponse", + "description": "The response when updating a range of values in a spreadsheet.", + "type": "object", + "properties": { + "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" + }, + "updatedData": { + "$ref": "ValueRange", + "description": "The values of the cells after updates were applied.\nThis is only included if the request's `includeValuesInResponse` field\nwas `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" + } + } + }, + "ErrorValue": { + "description": "An error in a cell.", + "type": "object", + "properties": { + "type": { + "enumDescriptions": [ + "The default error type, do not use this.", + "Corresponds to the `#ERROR!` error.", + "Corresponds to the `#NULL!` error.", + "Corresponds to the `#DIV/0` error.", + "Corresponds to the `#VALUE!` error.", + "Corresponds to the `#REF!` error.", + "Corresponds to the `#NAME?` error.", + "Corresponds to the `#NUM`! error.", + "Corresponds to the `#N/A` error.", + "Corresponds to the `Loading...` state." + ], + "enum": [ + "ERROR_TYPE_UNSPECIFIED", + "ERROR", + "NULL_VALUE", + "DIVIDE_BY_ZERO", + "VALUE", + "REF", + "NAME", + "NUM", + "N_A", + "LOADING" + ], + "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": { + "properties": { + "formula": { + "description": "A custom formula to calculate the value. The formula must start\nwith an `=` character.", + "type": "string" + }, + "summarizeFunction": { + "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." + ], + "enum": [ + "PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED", + "SUM", + "COUNTA", + "COUNT", + "COUNTUNIQUE", + "AVERAGE", + "MAX", + "MIN", + "MEDIAN", + "PRODUCT", + "STDEV", + "STDEVP", + "VAR", + "VARP", + "CUSTOM" + ] + }, + "sourceColumnOffset": { + "type": "integer", + "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`." + }, + "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" + }, + "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" + }, + "PivotGroupSortValueBucket": { + "description": "Information about which values in a pivot group should be used for sorting.", + "type": "object", + "properties": { + "buckets": { + "description": "Determines the bucket from which values are chosen to sort.\n\nFor example, in a pivot table with one row group & two column groups,\nthe row group can list up to two values. The first value corresponds\nto a value within the first column group, and the second value\ncorresponds to a value in the second column group. If no values\nare listed, this would indicate that the row should be sorted according\nto the \"Grand Total\" over the column groups. If a single value is listed,\nthis would correspond to using the \"Total\" of that bucket.", + "items": { + "$ref": "ExtendedValue" + }, + "type": "array" + }, + "valuesIndex": { + "format": "int32", + "description": "The offset in the PivotTable.values list which the values in this\ngrouping should be sorted by.", + "type": "integer" + } + }, + "id": "PivotGroupSortValueBucket" + }, + "CandlestickChartSpec": { + "description": "A \u003ca href=\"/chart/interactive/docs/gallery/candlestickchart\"\u003ecandlestick chart\u003c/a\u003e.", + "type": "object", + "properties": { + "data": { + "description": "The Candlestick chart data.\nOnly one CandlestickData is supported.", + "items": { + "$ref": "CandlestickData" + }, + "type": "array" + }, + "domain": { + "$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": { + "id": "CandlestickData", + "description": "The Candlestick chart data, each containing the low, open, close, and high\nvalues for a series.", + "type": "object", + "properties": { + "openSeries": { + "$ref": "CandlestickSeries", + "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." + }, + "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." + }, + "closeSeries": { + "$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": { + "description": "The range data (vertical axis) for the low/minimum value for each candle.\nThis is the bottom of the candle's center line.", + "$ref": "CandlestickSeries" + } + } + }, + "EmbeddedObjectPosition": { + "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.", + "type": "boolean" + }, + "overlayPosition": { + "$ref": "OverlayPosition", + "description": "The position at which the object is overlaid on top of a grid." + }, + "sheetId": { + "format": "int32", + "description": "The sheet this is on. Set only if the embedded object\nis on its own sheet. Must be non-negative.", + "type": "integer" + } + }, + "id": "EmbeddedObjectPosition", + "description": "The position of an embedded object such as a chart." + }, + "DeleteProtectedRangeRequest": { + "description": "Deletes the protected range with the given ID.", + "type": "object", + "properties": { + "protectedRangeId": { + "format": "int32", + "description": "The ID of the protected range to delete.", + "type": "integer" + } + }, + "id": "DeleteProtectedRangeRequest" + }, + "AutoFillRequest": { + "id": "AutoFillRequest", + "description": "Fills in more data based on existing data.", + "type": "object", + "properties": { + "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": { + "$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." + } + } + }, + "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": { + "maxpoint": { + "description": "The final interpolation point.", + "$ref": "InterpolationPoint" + }, + "minpoint": { + "description": "The starting interpolation point.", + "$ref": "InterpolationPoint" + }, + "midpoint": { + "$ref": "InterpolationPoint", + "description": "An optional midway interpolation point." + } + }, + "id": "GradientRule" + }, + "ClearValuesRequest": { + "description": "The request for clearing a range of values in a spreadsheet.", + "type": "object", + "properties": {}, + "id": "ClearValuesRequest" + }, + "SetBasicFilterRequest": { + "description": "Sets the basic filter associated with a sheet.", + "type": "object", + "properties": { + "filter": { + "$ref": "BasicFilter", + "description": "The filter to set." + } + }, + "id": "SetBasicFilterRequest" + }, + "InterpolationPoint": { + "type": "object", + "properties": { + "color": { + "$ref": "Color", + "description": "The color this interpolation point should use." + }, + "type": { + "enum": [ + "INTERPOLATION_POINT_TYPE_UNSPECIFIED", + "MIN", + "MAX", + "NUMBER", + "PERCENT", + "PERCENTILE" + ], + "description": "How the value should be interpreted.", + "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": { + "type": "string", + "description": "The value this interpolation point uses. May be a formula.\nUnused if type is MIN or\nMAX." + } + }, + "id": "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." + }, + "DeleteEmbeddedObjectRequest": { + "properties": { + "objectId": { + "format": "int32", + "description": "The ID of the embedded object to delete.", + "type": "integer" + } + }, + "id": "DeleteEmbeddedObjectRequest", + "description": "Deletes the embedded object with the given ID.", + "type": "object" + }, + "FindReplaceResponse": { + "id": "FindReplaceResponse", + "description": "The result of the find/replace.", + "type": "object", + "properties": { + "valuesChanged": { + "format": "int32", + "description": "The number of non-formula cells changed.", + "type": "integer" + }, + "occurrencesChanged": { + "format": "int32", + "description": "The number of occurrences (possibly multiple within a cell) changed.\nFor example, if replacing `\"e\"` with `\"o\"` in `\"Google Sheets\"`, this would\nbe `\"3\"` because `\"Google Sheets\"` -\u003e `\"Googlo Shoots\"`.", + "type": "integer" + }, + "rowsChanged": { + "format": "int32", + "description": "The number of rows changed.", + "type": "integer" + }, + "sheetsChanged": { + "type": "integer", + "format": "int32", + "description": "The number of sheets changed." + }, + "formulasChanged": { + "format": "int32", + "description": "The number of formula cells changed.", + "type": "integer" + } + } + }, + "DeleteSheetRequest": { + "description": "Deletes the requested sheet.", + "type": "object", + "properties": { + "sheetId": { + "format": "int32", + "description": "The ID of the sheet to delete.", + "type": "integer" + } + }, + "id": "DeleteSheetRequest" + }, + "DuplicateFilterViewRequest": { + "properties": { + "filterId": { + "format": "int32", + "description": "The ID of the filter being duplicated.", + "type": "integer" + } + }, + "id": "DuplicateFilterViewRequest", + "description": "Duplicates a particular filter view.", + "type": "object" + }, + "UpdateConditionalFormatRuleResponse": { + "id": "UpdateConditionalFormatRuleResponse", + "description": "The result of updating a conditional format rule.", + "type": "object", + "properties": { + "newIndex": { + "format": "int32", + "description": "The index of the new rule.", + "type": "integer" + }, + "newRule": { + "$ref": "ConditionalFormatRule", + "description": "The new rule that replaced the old rule (if replacing),\nor the rule that was moved (if moved)" + }, + "oldIndex": { + "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" + } + } + }, + "ConditionValue": { + "description": "The value of the condition.", + "type": "object", + "properties": { + "userEnteredValue": { + "description": "A value the condition is based on.\nThe value will be parsed as if the user typed into a cell.\nFormulas are supported (and must begin with an `=`).", + "type": "string" + }, + "relativeDate": { + "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", + "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", + "PAST_MONTH", + "PAST_WEEK", + "YESTERDAY", + "TODAY", + "TOMORROW" + ] + } + }, + "id": "ConditionValue" + }, + "DuplicateSheetRequest": { + "type": "object", + "properties": { + "insertSheetIndex": { + "format": "int32", + "description": "The zero-based index where the new sheet should be inserted.\nThe index of all sheets after this are incremented.", + "type": "integer" + }, + "newSheetName": { + "description": "The name of the new sheet. If empty, a new name is chosen for you.", + "type": "string" + }, + "sourceSheetId": { + "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", + "description": "Duplicates the contents of a sheet." + }, + "ExtendedValue": { + "description": "The kinds of value that a cell in a spreadsheet can have.", + "type": "object", + "properties": { + "errorValue": { + "description": "Represents an error.\nThis field is read-only.", + "$ref": "ErrorValue" + }, + "formulaValue": { + "description": "Represents a formula.", + "type": "string" + }, + "boolValue": { + "description": "Represents a boolean value.", + "type": "boolean" + }, + "stringValue": { + "description": "Represents a string value.\nLeading single quotes are not included. For example, if the user typed\n`'123` into the UI, this would be represented as a `stringValue` of\n`\"123\"`.", + "type": "string" + }, + "numberValue": { + "format": "double", + "description": "Represents a double value.\nNote: Dates, Times and DateTimes are represented as doubles in\n\"serial number\" format.", + "type": "number" + } + }, + "id": "ExtendedValue" + }, + "BandedRange": { + "description": "A banded (alternating colors) range in a sheet.", + "type": "object", + "properties": { + "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" + }, + "range": { + "$ref": "GridRange", + "description": "The range over which these properties are applied." + } + }, + "id": "BandedRange" + }, + "HistogramSeries": { + "properties": { + "barColor": { + "$ref": "Color", + "description": "The color of the column representing this series in each bucket.\nThis field is optional." + }, + "data": { + "description": "The data for this histogram series.", + "$ref": "ChartData" + } + }, + "id": "HistogramSeries", + "description": "A histogram series containing the series color and data.", + "type": "object" + }, + "BatchClearValuesResponse": { + "description": "The response when clearing a range of values in a spreadsheet.", + "type": "object", + "properties": { + "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": "BatchClearValuesResponse" + }, + "Spreadsheet": { + "id": "Spreadsheet", + "description": "Resource that represents a spreadsheet.", + "type": "object", + "properties": { + "properties": { + "$ref": "SpreadsheetProperties", + "description": "Overall properties of a spreadsheet." + }, + "namedRanges": { + "description": "The named ranges defined in a spreadsheet.", + "items": { + "$ref": "NamedRange" + }, + "type": "array" + }, + "sheets": { + "description": "The sheets that are part of a spreadsheet.", + "items": { + "$ref": "Sheet" + }, + "type": "array" + }, + "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" + } + } + }, + "AddChartRequest": { + "description": "Adds a chart to a sheet in the spreadsheet.", + "type": "object", + "properties": { + "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": "AddChartRequest" + }, + "UpdateProtectedRangeRequest": { + "description": "Updates an existing protected range with the specified\nprotectedRangeId.", + "type": "object", + "properties": { + "fields": { + "format": "google-fieldmask", + "description": "The fields that should be updated. At least one field must be specified.\nThe root `protectedRange` is implied and should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", + "type": "string" + }, + "protectedRange": { + "$ref": "ProtectedRange", + "description": "The protected range to update with the new properties." + } + }, + "id": "UpdateProtectedRangeRequest" + }, + "TextFormat": { + "description": "The format of a run of text in a cell.\nAbsent values indicate that the field isn't specified.", + "type": "object", + "properties": { + "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": { + "type": "boolean", + "description": "True if the text has a strikethrough." + }, + "italic": { + "description": "True if the text is italicized.", + "type": "boolean" + }, + "fontSize": { + "format": "int32", + "description": "The size of the font.", + "type": "integer" + } + }, + "id": "TextFormat" + }, + "AddSheetResponse": { + "description": "The result of adding a sheet.", + "type": "object", + "properties": { + "properties": { + "$ref": "SheetProperties", + "description": "The properties of the newly added sheet." + } + }, + "id": "AddSheetResponse" + }, + "AddFilterViewResponse": { + "description": "The result of adding a filter view.", + "type": "object", + "properties": { + "filter": { + "description": "The newly added filter view.", + "$ref": "FilterView" + } + }, + "id": "AddFilterViewResponse" + }, + "IterativeCalculationSettings": { + "description": "Settings to control how circular dependencies are resolved with iterative\ncalculation.", + "type": "object", + "properties": { + "convergenceThreshold": { + "format": "double", + "description": "When iterative calculation is enabled and successive results differ by\nless than this threshold value, the calculation rounds stop.", + "type": "number" + }, + "maxIterations": { + "format": "int32", + "description": "When iterative calculation is enabled, the maximum number of calculation\nrounds to perform.", + "type": "integer" + } + }, + "id": "IterativeCalculationSettings" + }, + "SpreadsheetProperties": { + "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": { + "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.", + "$ref": "IterativeCalculationSettings" + }, + "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": { + "type": "string", + "description": "The title of the spreadsheet." + }, + "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", + "description": "Properties of a spreadsheet.", + "type": "object" + }, + "OverlayPosition": { + "description": "The location an object is overlaid on top of a grid.", + "type": "object", + "properties": { + "offsetXPixels": { + "format": "int32", + "description": "The horizontal offset, in pixels, that the object is offset\nfrom the anchor cell.", + "type": "integer" + }, + "anchorCell": { + "$ref": "GridCoordinate", + "description": "The cell the object is anchored to." + }, + "heightPixels": { + "format": "int32", + "description": "The height of the object, in pixels. Defaults to 371.", + "type": "integer" + }, + "offsetYPixels": { + "format": "int32", + "description": "The vertical offset, in pixels, that the object is offset\nfrom the anchor cell.", + "type": "integer" + }, + "widthPixels": { + "format": "int32", + "description": "The width of the object, in pixels. Defaults to 600.", + "type": "integer" + } + }, + "id": "OverlayPosition" + }, + "RepeatCellRequest": { + "properties": { + "range": { + "$ref": "GridRange", + "description": "The range to repeat the cell in." + }, + "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" + } + }, + "id": "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" + }, + "AddChartResponse": { + "description": "The result of adding a chart to a spreadsheet.", + "type": "object", + "properties": { + "chart": { + "$ref": "EmbeddedChart", + "description": "The newly added chart." + } + }, + "id": "AddChartResponse" + }, + "InsertDimensionRequest": { + "description": "Inserts rows or columns in a sheet at a particular index.", + "type": "object", + "properties": { + "range": { + "$ref": "DimensionRange", + "description": "The dimensions to insert. Both the start and end indexes must be bounded." + }, + "inheritFromBefore": { + "type": "boolean", + "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)." + } + }, + "id": "InsertDimensionRequest" + }, + "UpdateSpreadsheetPropertiesRequest": { + "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" + } + }, + "id": "UpdateSpreadsheetPropertiesRequest", + "description": "Updates properties of a spreadsheet." + }, + "ProtectedRange": { + "id": "ProtectedRange", + "description": "A protected range.", + "type": "object", + "properties": { + "unprotectedRanges": { + "description": "The list of unprotected ranges within a protected sheet.\nUnprotected ranges are only supported on protected sheets.", + "items": { + "$ref": "GridRange" + }, + "type": "array" + }, + "namedRangeId": { + "description": "The named range this protected range is backed by, if any.\n\nWhen writing, only one of range or named_range_id\nmay be set.", + "type": "string" + }, + "protectedRangeId": { + "format": "int32", + "description": "The ID of the protected range.\nThis field is read-only.", + "type": "integer" + }, + "warningOnly": { + "type": "boolean", + "description": "True if this protected range will show a warning when editing.\nWarning-based protection means that every user can edit data in the\nprotected range, except editing will prompt a warning asking the user\nto confirm the edit.\n\nWhen writing: if this field is true, then editors is ignored.\nAdditionally, if this field is changed from true to false and the\n`editors` field is not set (nor included in the field mask), then\nthe editors will be set to all the editors in the document." + }, + "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": { + "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": { + "type": "string", + "description": "The description of this protected range." + } + } + }, + "BatchUpdateValuesRequest": { + "description": "The request for updating more than one range of values in a spreadsheet.", + "type": "object", + "properties": { + "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": { + "description": "How the input data should be interpreted.", + "type": "string", + "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" + ] + }, + "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" + ] + }, + "responseValueRenderOption": { + "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" + ], + "description": "Determines how values in the response should be rendered.\nThe default render option is ValueRenderOption.FORMATTED_VALUE." + } + }, + "id": "BatchUpdateValuesRequest" + }, + "DimensionProperties": { + "description": "Properties about a dimension.", + "type": "object", + "properties": { + "pixelSize": { + "format": "int32", + "description": "The height (if a row) or width (if a column) of the dimension in pixels.", + "type": "integer" + }, + "hiddenByUser": { + "description": "True if this dimension is explicitly hidden.", + "type": "boolean" + }, + "hiddenByFilter": { + "description": "True if this dimension is being filtered.\nThis field is read-only.", + "type": "boolean" + } + }, + "id": "DimensionProperties" + }, + "DimensionRange": { + "type": "object", + "properties": { + "endIndex": { + "format": "int32", + "description": "The end (exclusive) of the span, or not set if unbounded.", + "type": "integer" + }, + "startIndex": { + "format": "int32", + "description": "The start (inclusive) of the span, or not set if unbounded.", + "type": "integer" + }, + "sheetId": { + "format": "int32", + "description": "The sheet this span is on.", + "type": "integer" + }, + "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": "The dimension of the span.", + "type": "string" + } + }, + "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." + }, + "NamedRange": { + "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": { + "$ref": "GridRange", + "description": "The range this represents." + } + }, + "id": "NamedRange" + }, + "CutPasteRequest": { + "id": "CutPasteRequest", + "description": "Moves data from the source to the destination.", + "type": "object", + "properties": { + "pasteType": { + "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." + ], + "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." + }, + "source": { + "$ref": "GridRange", + "description": "The source data to cut." + }, + "destination": { + "description": "The top-left coordinate where the data should be pasted.", + "$ref": "GridCoordinate" + } + } + }, + "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": { + "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", + "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" + ] + }, + "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": { + "id": "Borders", + "description": "The borders of the cell.", + "type": "object", + "properties": { + "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" + }, + "right": { + "$ref": "Border", + "description": "The right border of the cell." + } + } + }, + "AutoResizeDimensionsRequest": { + "properties": { + "dimensions": { + "$ref": "DimensionRange", + "description": "The dimensions to automatically resize." + } + }, + "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": { + "bottom": { + "$ref": "Border", + "description": "The border to put at the bottom of the range." + }, + "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": { + "$ref": "Border", + "description": "The border to put at the top of the range." + }, + "left": { + "description": "The border to put at the left of the range.", + "$ref": "Border" + } + }, + "id": "UpdateBordersRequest" + }, + "CellFormat": { + "description": "The format of a cell.", + "type": "object", + "properties": { + "textRotation": { + "$ref": "TextRotation", + "description": "The rotation applied to text in a cell" + }, + "wrapStrategy": { + "enum": [ + "WRAP_STRATEGY_UNSPECIFIED", + "OVERFLOW_CELL", + "LEGACY_WRAP", + "CLIP", + "WRAP" + ], + "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. |" + ] + }, + "numberFormat": { + "$ref": "NumberFormat", + "description": "A format describing how number values should be represented to the user." + }, + "hyperlinkDisplayType": { + "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." + ], + "enum": [ + "HYPERLINK_DISPLAY_TYPE_UNSPECIFIED", + "LINKED", + "PLAIN_TEXT" + ] + }, + "horizontalAlignment": { + "enum": [ + "HORIZONTAL_ALIGN_UNSPECIFIED", + "LEFT", + "CENTER", + "RIGHT" + ], + "description": "The horizontal alignment of the value in the cell.", + "type": "string", + "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." + ] + }, + "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": { + "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" + ], + "description": "The vertical alignment of the value in the cell." + }, + "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": { + "$ref": "Borders", + "description": "The borders of the cell." + } + }, + "id": "CellFormat" + }, + "ClearValuesResponse": { + "type": "object", + "properties": { + "spreadsheetId": { + "type": "string", + "description": "The spreadsheet the updates were applied to." + }, + "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." + }, + "DeleteConditionalFormatRuleRequest": { + "description": "Deletes a conditional format rule at the given index.\nAll subsequent rules' indexes are decremented.", + "type": "object", + "properties": { + "sheetId": { + "format": "int32", + "description": "The sheet the rule is being deleted from.", + "type": "integer" + }, + "index": { + "type": "integer", + "format": "int32", + "description": "The zero-based index of the rule to be deleted." + } + }, + "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": { + "id": "AddBandingResponse", + "description": "The result of adding a banded range.", + "type": "object", + "properties": { + "bandedRange": { + "description": "The banded range that was added.", + "$ref": "BandedRange" + } + } + }, + "ChartData": { + "id": "ChartData", + "description": "The data included in a domain or series.", + "type": "object", + "properties": { + "sourceRange": { + "$ref": "ChartSourceRange", + "description": "The source ranges of the data." + } + } + }, + "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": { + "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" + }, + "Color": { + "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", + "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" + } + } + }, + "PivotGroup": { + "description": "A single grouping (either row or column) in a pivot table.", + "type": "object", + "properties": { + "sortOrder": { + "type": "string", + "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." + }, + "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" + } + }, + "id": "PivotGroup" + }, + "PivotTable": { + "description": "A pivot table.", + "type": "object", + "properties": { + "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": { + "$ref": "GridRange", + "description": "The range the pivot table is reading data from." + }, + "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" + } + }, + "rows": { + "items": { + "$ref": "PivotGroup" + }, + "type": "array", + "description": "Each row grouping in the pivot table." + }, + "valueLayout": { + "enumDescriptions": [ + "Values are laid out horizontally (as columns).", + "Values are laid out vertically (as rows)." + ], + "enum": [ + "HORIZONTAL", + "VERTICAL" + ], + "description": "Whether values should be listed horizontally (as columns)\nor vertically (as rows).", + "type": "string" + } + }, + "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": { + "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", + "description": "Adds new cells after the last row with data in a sheet,\ninserting new rows into the sheet if necessary.", + "type": "object" + }, + "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": { + "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" + } + }, + "id": "ValueRange" + }, + "AddBandingRequest": { + "id": "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" + } + } + }, + "Response": { + "id": "Response", + "description": "A single response from an update.", + "type": "object", + "properties": { + "addFilterView": { + "description": "A reply from adding a filter view.", + "$ref": "AddFilterViewResponse" + }, + "addBanding": { + "$ref": "AddBandingResponse", + "description": "A reply from adding a banded range." + }, + "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": { + "description": "A reply from deleting a conditional format rule.", + "$ref": "DeleteConditionalFormatRuleResponse" + }, + "duplicateFilterView": { + "description": "A reply from duplicating a filter view.", + "$ref": "DuplicateFilterViewResponse" + }, + "addChart": { + "$ref": "AddChartResponse", + "description": "A reply from adding a chart." + }, + "findReplace": { + "$ref": "FindReplaceResponse", + "description": "A reply from doing a find/replace." + }, + "addSheet": { + "$ref": "AddSheetResponse", + "description": "A reply from adding a sheet." + }, + "updateConditionalFormatRule": { + "$ref": "UpdateConditionalFormatRuleResponse", + "description": "A reply from updating a conditional format rule." + }, + "addNamedRange": { + "description": "A reply from adding a named range.", + "$ref": "AddNamedRangeResponse" + } + } + }, + "InsertRangeRequest": { + "description": "Inserts cells into a range, shifting the existing cells over or down.", + "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 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" + }, + "range": { + "$ref": "GridRange", + "description": "The range to insert new cells into." + } + }, + "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": { + "$ref": "TextFormat", + "description": "The format of this run. Absent values inherit the cell's format." + } + }, + "id": "TextFormatRun" + }, + "EmbeddedChart": { + "description": "A chart embedded in a sheet.", + "type": "object", + "properties": { + "position": { + "description": "The position of the chart.", + "$ref": "EmbeddedObjectPosition" + }, + "spec": { + "$ref": "ChartSpec", + "description": "The specification of the chart." + }, + "chartId": { + "format": "int32", + "description": "The ID of the chart.", + "type": "integer" + } + }, + "id": "EmbeddedChart" + }, + "AddNamedRangeResponse": { + "description": "The result of adding a named range.", + "type": "object", + "properties": { + "namedRange": { + "$ref": "NamedRange", + "description": "The named range to add." + } + }, + "id": "AddNamedRangeResponse" + }, + "RowData": { + "description": "Data about each cell in a row.", + "type": "object", + "properties": { + "values": { + "items": { + "$ref": "CellData" + }, + "type": "array", + "description": "The values in the row, one per column." + } + }, + "id": "RowData" + }, + "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" + }, + "Border": { + "description": "A border along a cell.", + "type": "object", + "properties": { + "color": { + "$ref": "Color", + "description": "The color of the border." + }, + "width": { + "format": "int32", + "description": "The width of the border, in pixels.\nDeprecated; the width is determined by the \"style\" field.", + "type": "integer" + }, + "style": { + "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." + ], + "enum": [ + "STYLE_UNSPECIFIED", + "DOTTED", + "DASHED", + "SOLID", + "SOLID_MEDIUM", + "SOLID_THICK", + "NONE", + "DOUBLE" + ], + "description": "The style of the border." + } + }, + "id": "Border" + }, + "FindReplaceRequest": { + "description": "Finds and replaces data in cells over a range, sheet, or all sheets.", + "type": "object", + "properties": { + "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" + }, + "matchEntireCell": { + "description": "True if the find value should match the entire cell.", + "type": "boolean" + } + }, + "id": "FindReplaceRequest" + }, + "UpdateNamedRangeRequest": { + "id": "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" + } + } + }, + "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": { + "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." + }, + "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" + } + }, + "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" + }, + "RandomizeRangeRequest": { + "description": "Randomizes the order of the rows in a range.", + "type": "object", + "properties": { + "range": { + "$ref": "GridRange", + "description": "The range to randomize." + } + }, + "id": "RandomizeRangeRequest" + }, + "DeleteRangeRequest": { + "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": { + "$ref": "GridRange", + "description": "The range of cells to delete." + } + }, + "id": "DeleteRangeRequest", + "description": "Deletes a range of cells, shifting other cells into the deleted area." + }, + "GridCoordinate": { + "description": "A coordinate in a sheet.\nAll indexes are zero-based.", + "type": "object", + "properties": { + "sheetId": { + "format": "int32", + "description": "The sheet this coordinate is on.", + "type": "integer" + }, + "columnIndex": { + "format": "int32", + "description": "The column index of the coordinate.", + "type": "integer" + }, + "rowIndex": { + "format": "int32", + "description": "The row index of the coordinate.", + "type": "integer" + } + }, + "id": "GridCoordinate" + }, + "UpdateSheetPropertiesRequest": { + "type": "object", + "properties": { + "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": { + "$ref": "SheetProperties", + "description": "The properties to update." + } + }, + "id": "UpdateSheetPropertiesRequest", + "description": "Updates properties of the sheet with the specified\nsheetId." + }, + "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" + }, + "Sheet": { + "description": "A sheet in a spreadsheet.", + "type": "object", + "properties": { + "conditionalFormats": { + "description": "The conditional format rules in this sheet.", + "items": { + "$ref": "ConditionalFormatRule" + }, + "type": "array" + }, + "protectedRanges": { + "description": "The protected ranges in this sheet.", + "items": { + "$ref": "ProtectedRange" + }, + "type": "array" + }, + "basicFilter": { + "$ref": "BasicFilter", + "description": "The filter on this sheet, if any." + }, + "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": { + "items": { + "$ref": "BandedRange" + }, + "type": "array", + "description": "The banded (i.e. alternating colors) ranges on this sheet." + }, + "properties": { + "$ref": "SheetProperties", + "description": "The properties of the sheet." + }, + "charts": { + "items": { + "$ref": "EmbeddedChart" + }, + "type": "array", + "description": "The specifications of every chart on this sheet." + }, + "filterViews": { + "description": "The filter views in this sheet.", + "items": { + "$ref": "FilterView" + }, + "type": "array" + } + }, + "id": "Sheet" + }, + "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": { + "description": "The order data should be sorted.", + "type": "string", + "enumDescriptions": [ + "Default value, do not use this.", + "Sort ascending.", + "Sort descending." + ], + "enum": [ + "SORT_ORDER_UNSPECIFIED", + "ASCENDING", + "DESCENDING" + ] + } + }, + "id": "SortSpec" + }, + "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" + }, + "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": { + "$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": { + "$ref": "BooleanCondition", + "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.)" + }, + "hiddenValues": { + "description": "Values that should be hidden.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "FilterCriteria" + }, + "PivotGroupValueMetadata": { + "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", + "description": "Metadata about a value in a pivot grouping." + }, + "Editors": { + "description": "The editors of a protected range.", + "type": "object", + "properties": { + "users": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The email addresses of users with edit access to the protected range." + }, + "domainUsersCanEdit": { + "type": "boolean", + "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." + }, + "groups": { + "description": "The email addresses of groups with edit access to the protected range.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "Editors" + }, + "UpdateConditionalFormatRuleRequest": { + "id": "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": { + "type": "integer", + "format": "int32", + "description": "The sheet of the rule to move. Required if new_index is set,\nunused otherwise." + }, + "newIndex": { + "format": "int32", + "description": "The zero-based new index the rule should end up at.", + "type": "integer" + } + } + }, + "DataValidationRule": { + "id": "DataValidationRule", + "description": "A data validation rule.", + "type": "object", + "properties": { + "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" + }, + "condition": { + "$ref": "BooleanCondition", + "description": "The condition that data in the cell must match." + } + } + }, + "BasicChartDomain": { + "description": "The domain of a chart.\nFor example, if charting stock prices over time, this would be the date.", + "type": "object", + "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" + }, + "PasteDataRequest": { + "description": "Inserts data into the spreadsheet starting at the specified coordinate.", + "type": "object", + "properties": { + "type": { + "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", + "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." + ] + }, + "html": { + "description": "True if the data is HTML.", + "type": "boolean" + }, + "coordinate": { + "description": "The coordinate at which the data should start being inserted.", + "$ref": "GridCoordinate" + }, + "delimiter": { + "description": "The delimiter in the data.", + "type": "string" + }, + "data": { + "description": "The data to insert.", + "type": "string" + } + }, + "id": "PasteDataRequest" + }, + "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": { + "$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", + "description": "Adds a named range to the spreadsheet.", + "type": "object" + }, "UpdateEmbeddedObjectPositionRequest": { "description": "Update an embedded object's position (such as a moving or resizing a\nchart or image).", "type": "object", "properties": { - "newPosition": { - "$ref": "EmbeddedObjectPosition", - "description": "An explicit position to move the embedded object to.\nIf newPosition.sheetId is set,\na new sheet with that ID will be created.\nIf newPosition.newSheet is set to true,\na new sheet will be created with an ID that will be chosen for you." - }, "fields": { "format": "google-fieldmask", "description": "The fields of OverlayPosition\nthat should be updated when setting a new position. Used only if\nnewPosition.overlayPosition\nis set, in which case at least one field must\nbe specified. The root `newPosition.overlayPosition` is implied and\nshould not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", @@ -17,11 +3971,17 @@ "format": "int32", "description": "The ID of the object to moved.", "type": "integer" + }, + "newPosition": { + "$ref": "EmbeddedObjectPosition", + "description": "An explicit position to move the embedded object to.\nIf newPosition.sheetId is set,\na new sheet with that ID will be created.\nIf newPosition.newSheet is set to true,\na new sheet will be created with an ID that will be chosen for you." } }, "id": "UpdateEmbeddedObjectPositionRequest" }, "TextRotation": { + "description": "The rotation applied to text in a cell.", + "type": "object", "properties": { "angle": { "format": "int32", @@ -33,11 +3993,10 @@ "type": "boolean" } }, - "id": "TextRotation", - "description": "The rotation applied to text in a cell.", - "type": "object" + "id": "TextRotation" }, "PieChartSpec": { + "id": "PieChartSpec", "description": "A \u003ca href=\"/chart/interactive/docs/gallery/piechart\"\u003epie chart\u003c/a\u003e.", "type": "object", "properties": { @@ -46,20 +4005,11 @@ "$ref": "ChartData" }, "pieHole": { + "type": "number", "format": "double", - "description": "The size of the hole in the pie chart.", - "type": "number" + "description": "The size of the hole in the pie chart." }, "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.", - "Each pie slice has a label attached to it." - ], "enum": [ "PIE_CHART_LEGEND_POSITION_UNSPECIFIED", "BOTTOM_LEGEND", @@ -70,7 +4020,16 @@ "LABELED_LEGEND" ], "description": "Where the legend of the pie chart should be drawn.", - "type": "string" + "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.", + "Each pie slice has a label attached to it." + ] }, "threeDimensional": { "description": "True if the pie is three dimensional.", @@ -80,14 +4039,15 @@ "$ref": "ChartData", "description": "The data that covers the domain of the pie chart." } - }, - "id": "PieChartSpec" + } }, "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,14 +4055,16 @@ "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": { + "booleanRule": { + "description": "The formatting is either \"on\" or \"off\" according to the rule.", + "$ref": "BooleanRule" + }, "ranges": { "description": "The ranges that will be formatted if the condition is true.\nAll the ranges must be on the same grid.", "items": { @@ -113,16 +4075,29 @@ "gradientRule": { "$ref": "GradientRule", "description": "The formatting will vary based on the gradients in the rule." - }, - "booleanRule": { - "$ref": "BooleanRule", - "description": "The formatting is either \"on\" or \"off\" according to the rule." } }, "id": "ConditionalFormatRule" }, "CopyPasteRequest": { + "type": "object", "properties": { + "destination": { + "$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": { + "enumDescriptions": [ + "Paste normally.", + "Paste transposed, where all rows become columns and vice versa." + ], + "enum": [ + "NORMAL", + "TRANSPOSE" + ], + "description": "How that data should be oriented when pasting.", + "type": "string" + }, "pasteType": { "enumDescriptions": [ "Paste values, formulas, formats, and merges.", @@ -148,245 +4123,23 @@ "source": { "description": "The source range to copy.", "$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" - }, - "pasteOrientation": { - "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" + "description": "Copies data from the source to the destination." }, "BooleanCondition": { "description": "A condition that can evaluate to true or false.\nBooleanConditions are used by conditional formatting,\ndata validation, and the criteria in filters.", "type": "object", "properties": { "values": { - "description": "The values of the condition. The number of supported values depends\non the condition type. Some support zero values,\nothers one or two values,\nand ConditionType.ONE_OF_LIST supports an arbitrary number of values.", "items": { "$ref": "ConditionValue" }, - "type": "array" + "type": "array", + "description": "The values of the condition. The number of supported values depends\non the condition type. Some support zero values,\nothers one or two values,\nand ConditionType.ONE_OF_LIST supports an arbitrary number of values." }, "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,25 +4201,222 @@ "BLANK", "NOT_BLANK", "CUSTOM_FORMULA" - ] + ], + "description": "The type of condition.", + "type": "string" } }, "id": "BooleanCondition" }, - "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!`.", + "Request": { "type": "object", "properties": { - "endColumnIndex": { - "format": "int32", - "description": "The end column (exclusive) of the range, or not set if unbounded.", - "type": "integer" + "updateDimensionProperties": { + "description": "Updates dimensions' properties.", + "$ref": "UpdateDimensionPropertiesRequest" }, - "endRowIndex": { - "format": "int32", - "description": "The end row (exclusive) of the range, or not set if unbounded.", - "type": "integer" + "pasteData": { + "description": "Pastes data (HTML or delimited) into a sheet.", + "$ref": "PasteDataRequest" }, + "setBasicFilter": { + "$ref": "SetBasicFilterRequest", + "description": "Sets the basic filter on a sheet." + }, + "addConditionalFormatRule": { + "description": "Adds a new conditional format rule.", + "$ref": "AddConditionalFormatRuleRequest" + }, + "addNamedRange": { + "description": "Adds a named range.", + "$ref": "AddNamedRangeRequest" + }, + "updateCells": { + "$ref": "UpdateCellsRequest", + "description": "Updates many cells at once." + }, + "updateSpreadsheetProperties": { + "$ref": "UpdateSpreadsheetPropertiesRequest", + "description": "Updates the spreadsheet's properties." + }, + "deleteEmbeddedObject": { + "description": "Deletes an embedded object (e.g, chart, image) in a sheet.", + "$ref": "DeleteEmbeddedObjectRequest" + }, + "updateFilterView": { + "$ref": "UpdateFilterViewRequest", + "description": "Updates the properties of a filter view." + }, + "addBanding": { + "description": "Adds a new banded range", + "$ref": "AddBandingRequest" + }, + "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": { + "$ref": "UpdateSheetPropertiesRequest", + "description": "Updates a sheet's properties." + }, + "autoFill": { + "description": "Automatically fills in more data based on existing data.", + "$ref": "AutoFillRequest" + }, + "deleteDimension": { + "description": "Deletes rows or columns in a sheet.", + "$ref": "DeleteDimensionRequest" + }, + "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": { + "$ref": "AddChartRequest", + "description": "Adds a chart." + }, + "findReplace": { + "description": "Finds and replaces occurrences of some text with other text.", + "$ref": "FindReplaceRequest" + }, + "textToColumns": { + "description": "Converts a column of text into many columns of text.", + "$ref": "TextToColumnsRequest" + }, + "updateChartSpec": { + "$ref": "UpdateChartSpecRequest", + "description": "Updates a chart's specifications." + }, + "updateProtectedRange": { + "$ref": "UpdateProtectedRangeRequest", + "description": "Updates a protected range." + }, + "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": { + "$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": { + "$ref": "DeleteBandingRequest", + "description": "Removes a banded range" + }, + "addFilterView": { + "description": "Adds a filter view.", + "$ref": "AddFilterViewRequest" + }, + "setDataValidation": { + "description": "Sets data validation for one or more cells.", + "$ref": "SetDataValidationRequest" + }, + "updateBorders": { + "description": "Updates the borders in a range of cells.", + "$ref": "UpdateBordersRequest" + }, + "deleteConditionalFormatRule": { + "description": "Deletes an existing conditional format rule.", + "$ref": "DeleteConditionalFormatRuleRequest" + }, + "clearBasicFilter": { + "description": "Clears the basic filter on a sheet.", + "$ref": "ClearBasicFilterRequest" + }, + "repeatCell": { + "description": "Repeats a single cell across a range.", + "$ref": "RepeatCellRequest" + }, + "appendDimension": { + "$ref": "AppendDimensionRequest", + "description": "Appends dimensions to the end of a sheet." + }, + "updateConditionalFormatRule": { + "$ref": "UpdateConditionalFormatRuleRequest", + "description": "Updates an existing conditional format rule." + }, + "insertRange": { + "$ref": "InsertRangeRequest", + "description": "Inserts new cells in a sheet, shifting the existing cells." + }, + "moveDimension": { + "description": "Moves rows or columns to another location in a sheet.", + "$ref": "MoveDimensionRequest" + }, + "randomizeRange": { + "$ref": "RandomizeRangeRequest", + "description": "Randomizes the order of the rows in a range." + }, + "updateBanding": { + "$ref": "UpdateBandingRequest", + "description": "Updates a banded range" + }, + "addProtectedRange": { + "$ref": "AddProtectedRangeRequest", + "description": "Adds a protected range." + }, + "deleteNamedRange": { + "$ref": "DeleteNamedRangeRequest", + "description": "Deletes a named range." + }, + "duplicateSheet": { + "$ref": "DuplicateSheetRequest", + "description": "Duplicates a sheet." + }, + "unmergeCells": { + "$ref": "UnmergeCellsRequest", + "description": "Unmerges merged cells." + }, + "deleteSheet": { + "$ref": "DeleteSheetRequest", + "description": "Deletes a sheet." + }, + "updateEmbeddedObjectPosition": { + "$ref": "UpdateEmbeddedObjectPositionRequest", + "description": "Updates an embedded object's (e.g. chart, image) position." + } + }, + "id": "Request", + "description": "A single kind of update to apply to a spreadsheet." + }, + "GridRange": { + "properties": { "startRowIndex": { "format": "int32", "description": "The start row (inclusive) of the range, or not set if unbounded.", @@ -481,21 +4431,27 @@ "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.", + "type": "integer" + }, + "endRowIndex": { + "format": "int32", + "description": "The end row (exclusive) of the range, or not set if unbounded.", + "type": "integer" } }, - "id": "GridRange" + "id": "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" }, "BasicChartSpec": { + "id": "BasicChartSpec", "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,24 +4462,20 @@ "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": [ "Default value, do not use.", "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." - ] - }, - "threeDimensional": { - "description": "True to make the chart 3D.\nApplies to Bar and Column charts.", - "type": "boolean" + ], + "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." }, "axis": { "description": "The axis on the chart.", @@ -532,9 +4484,9 @@ }, "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.", - "type": "boolean" + "threeDimensional": { + "type": "boolean", + "description": "True to make the chart 3D.\nApplies to Bar and Column charts." }, "chartType": { "enumDescriptions": [ @@ -560,6 +4512,10 @@ "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.", "items": { @@ -568,14 +4524,6 @@ "type": "array" }, "legendPosition": { - "enum": [ - "BASIC_CHART_LEGEND_POSITION_UNSPECIFIED", - "BOTTOM_LEGEND", - "LEFT_LEGEND", - "RIGHT_LEGEND", - "TOP_LEGEND", - "NO_LEGEND" - ], "description": "The position of the chart legend.", "type": "string", "enumDescriptions": [ @@ -585,3954 +4533,29 @@ "The legend is rendered on the right of the chart.", "The legend is rendered on the top of the chart.", "No legend is rendered." - ] - } - }, - "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", + "BASIC_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", - "properties": { - "rule": { - "description": "The data validation rule to set on each cell in the range,\nor empty to clear the data validation in the range.", - "$ref": "DataValidationRule" - }, - "range": { - "description": "The range the data validation rule should apply to.", - "$ref": "GridRange" - } - }, - "id": "SetDataValidationRequest" - }, - "CellData": { - "description": "Data about a specific cell.", - "type": "object", - "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" - }, - "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" - }, - "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." - }, - "note": { - "description": "Any note on the cell.", - "type": "string" - }, - "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." - }, - "userEnteredValue": { - "$ref": "ExtendedValue", - "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" - }, - "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.", - "items": { - "$ref": "TextFormatRun" - }, - "type": "array" - }, - "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" - } - }, - "id": "CellData" - }, - "BatchUpdateSpreadsheetRequest": { - "description": "The request for updating any aspect of 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.", - "items": { - "$ref": "Request" - }, - "type": "array" - }, - "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" - }, - "responseRanges": { - "description": "Limits the ranges included in the response spreadsheet.\nMeaningful only if include_spreadsheet_response is 'true'.", - "items": { - "type": "string" - }, - "type": "array" - }, - "includeSpreadsheetInResponse": { - "description": "Determines if the update response should include the spreadsheet\nresource.", - "type": "boolean" - } - }, - "id": "BatchUpdateSpreadsheetRequest" - }, - "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", - "LEFT_AXIS", - "RIGHT_AXIS" - ], - "description": "The position of this axis.", - "type": "string" - } - }, - "id": "BasicChartAxis" - }, - "Padding": { - "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.", - "type": "integer" - }, - "bottom": { - "format": "int32", - "description": "The bottom padding of the cell.", - "type": "integer" - } - }, - "id": "Padding" - }, - "DeleteDimensionRequest": { - "properties": { - "range": { - "description": "The dimensions to delete from the sheet.", - "$ref": "DimensionRange" - } - }, - "id": "DeleteDimensionRequest", - "description": "Deletes the dimensions from the sheet.", - "type": "object" - }, - "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.)", - "type": "object", - "properties": { - "chartId": { - "format": "int32", - "description": "The ID of the chart to update.", - "type": "integer" - }, - "spec": { - "description": "The specification to apply to the chart.", - "$ref": "ChartSpec" - } - }, - "id": "UpdateChartSpecRequest" - }, - "DeleteFilterViewRequest": { - "description": "Deletes a particular filter view.", - "type": "object", - "properties": { - "filterId": { - "format": "int32", - "description": "The ID of the filter to delete.", - "type": "integer" - } - }, - "id": "DeleteFilterViewRequest" - }, - "BatchUpdateValuesResponse": { - "description": "The response when updating a range of values in a spreadsheet.", - "type": "object", - "properties": { - "totalUpdatedRows": { - "format": "int32", - "description": "The total number of rows where at least one cell in the row was updated.", - "type": "integer" - }, - "responses": { - "description": "One UpdateValuesResponse per requested range, in the same order as\nthe requests appeared.", - "items": { - "$ref": "UpdateValuesResponse" - }, - "type": "array" - }, - "totalUpdatedSheets": { - "format": "int32", - "description": "The total number of sheets where at least one cell in the sheet was\nupdated.", - "type": "integer" - }, - "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" - } - }, - "id": "BatchUpdateValuesResponse" - }, - "SortRangeRequest": { - "properties": { - "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" - }, - "MergeCellsRequest": { - "properties": { - "range": { - "description": "The range of cells to merge.", - "$ref": "GridRange" - }, - "mergeType": { - "enumDescriptions": [ - "Create a single merge from the range", - "Create a merge for each column in the range", - "Create a merge for each row in the range" - ], - "enum": [ - "MERGE_ALL", - "MERGE_COLUMNS", - "MERGE_ROWS" - ], - "description": "How the cells should be merged.", - "type": "string" - } - }, - "id": "MergeCellsRequest", - "description": "Merges all cells in the range.", - "type": "object" - }, - "AddProtectedRangeRequest": { - "description": "Adds a new protected range.", - "type": "object", - "properties": { - "protectedRange": { - "$ref": "ProtectedRange", - "description": "The protected range to be added. The\nprotectedRangeId field is optional; if\none is not set, an id will be randomly generated. (It is an error to\nspecify the ID of a range that already exists.)" - } - }, - "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.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "BatchClearValuesRequest" - }, - "DuplicateFilterViewResponse": { - "description": "The result of a filter view being duplicated.", - "type": "object", - "properties": { - "filter": { - "description": "The newly created filter.", - "$ref": "FilterView" - } - }, - "id": "DuplicateFilterViewResponse" - }, - "DuplicateSheetResponse": { - "description": "The result of duplicating a sheet.", - "type": "object", - "properties": { - "properties": { - "description": "The properties of the duplicate sheet.", - "$ref": "SheetProperties" - } - }, - "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": { - "properties": { - "delimiter": { - "description": "The delimiter to use. Used only if delimiterType is\nCUSTOM.", - "type": "string" - }, - "delimiterType": { - "enumDescriptions": [ - "Default value. This value must not be used.", - "\",\"", - "\";\"", - "\".\"", - "\" \"", - "A custom value as defined in delimiter." - ], - "enum": [ - "DELIMITER_TYPE_UNSPECIFIED", - "COMMA", - "SEMICOLON", - "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" - }, - "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" - }, - "BatchUpdateSpreadsheetResponse": { - "description": "The reply for batch updating a spreadsheet.", - "type": "object", - "properties": { - "updatedSpreadsheet": { - "$ref": "Spreadsheet", - "description": "The spreadsheet after updates were applied. This is only set if\n[BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response] is `true`." - }, - "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" - }, - "spreadsheetId": { - "description": "The spreadsheet the updates were applied to.", - "type": "string" - } - }, - "id": "BatchUpdateSpreadsheetResponse" - }, - "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." - }, - "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.", - "type": "string" - }, - "spreadsheetId": { - "description": "The spreadsheet the updates were applied to.", - "type": "string" - } - }, - "id": "AppendValuesResponse" - }, - "AddFilterViewRequest": { - "description": "Adds a filter view.", - "type": "object", - "properties": { - "filter": { - "description": "The filter to add. The filterViewId\nfield is optional; if one is not set, an id will be randomly generated. (It\nis an error to specify the ID of a filter that already exists.)", - "$ref": "FilterView" - } - }, - "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.", - "items": { - "type": "string" - }, - "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" - }, - "AddConditionalFormatRuleRequest": { - "description": "Adds a new conditional format rule at the given index.\nAll subsequent rules' indexes are incremented.", - "type": "object", - "properties": { - "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" - }, - "ChartSpec": { - "description": "The specifications of a chart.", - "type": "object", - "properties": { - "pieChart": { - "description": "A pie chart specification.", - "$ref": "PieChartSpec" - }, - "titleTextFormat": { - "$ref": "TextFormat", - "description": "The title text format.\nStrikethrough and underline are not supported." - }, - "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.", - "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" - }, - "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`", - "Number formatting, e.g, `1,000.12`", - "Percent formatting, e.g `10.12%`", - "Currency formatting, e.g `$1,000.12`", - "Date formatting, e.g `9/26/2008`", - "Time formatting, e.g `3:59:00 PM`", - "Date+Time formatting, e.g `9/26/08 15:59:00`", - "Scientific number formatting, e.g `1.01E+03`" - ], - "enum": [ - "NUMBER_FORMAT_TYPE_UNSPECIFIED", - "TEXT", - "NUMBER", - "PERCENT", - "CURRENCY", - "DATE", - "TIME", - "DATE_TIME", - "SCIENTIFIC" - ] - } - }, - "id": "NumberFormat" - }, - "CandlestickDomain": { - "description": "The domain of a CandlestickChart.", - "type": "object", - "properties": { - "data": { - "$ref": "ChartData", - "description": "The data of the CandlestickDomain." - } - }, - "id": "CandlestickDomain" - }, - "SheetProperties": { - "properties": { - "title": { - "description": "The name of the sheet.", - "type": "string" - }, - "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.", - "type": "integer" - }, - "rightToLeft": { - "description": "True if the sheet is an RTL sheet instead of an LTR sheet.", - "type": "boolean" - }, - "hidden": { - "description": "True if the sheet is hidden in the UI, false if it's visible.", - "type": "boolean" - }, - "gridProperties": { - "description": "Additional properties of the sheet if this sheet is a grid.\n(If the sheet is an object sheet, containing a chart or image, then\nthis field will be absent.)\nWhen writing it is an error to set any grid properties on non-grid sheets.", - "$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.", - "The sheet has no grid and instead has an object like a chart or image." - ], - "enum": [ - "SHEET_TYPE_UNSPECIFIED", - "GRID", - "OBJECT" - ] - } - }, - "id": "SheetProperties", - "description": "Properties of a sheet.", - "type": "object" - }, - "UpdateDimensionPropertiesRequest": { - "description": "Updates properties of dimensions within the specified range.", - "type": "object", - "properties": { - "range": { - "$ref": "DimensionRange", - "description": "The rows or columns 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" - }, - "properties": { - "$ref": "DimensionProperties", - "description": "Properties to update." - } - }, - "id": "UpdateDimensionPropertiesRequest" - }, - "SourceAndDestination": { - "description": "A combination of a source range and how to extend that source.", - "type": "object", - "properties": { - "fillLength": { - "format": "int32", - "description": "The number of rows or columns that data should be filled into.\nPositive numbers expand beyond the last row or last column\nof the source. Negative numbers expand before the first row\nor first column of the source.", - "type": "integer" - }, - "source": { - "$ref": "GridRange", - "description": "The location of the data to use as the source of the autofill." - }, - "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": "The dimension that data should be filled into.", - "type": "string" - } - }, - "id": "SourceAndDestination" - }, - "OrgChartSpec": { - "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" - }, - "nodeSize": { - "description": "The size of the org chart nodes.", - "type": "string", - "enumDescriptions": [ - "Default value, do not use.", - "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" + "NO_LEGEND" ] }, - "labels": { - "$ref": "ChartData", - "description": "The data containing the labels for all the nodes in the chart. Labels\nmust be unique." - }, - "nodeColor": { - "description": "The color of the org chart nodes.", - "$ref": "Color" - } - }, - "id": "OrgChartSpec" - }, - "FilterView": { - "description": "A filter view.", - "type": "object", - "properties": { - "namedRangeId": { - "description": "The named range this filter view is backed by, if any.\n\nWhen writing, only one of range or named_range_id\nmay be set.", - "type": "string" - }, - "filterViewId": { - "format": "int32", - "description": "The ID of the filter view.", - "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" - } - }, - "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" - }, - "sortSpecs": { - "description": "The sort order per column. Later specifications are used when values\nare equal in the earlier specifications.", + "domains": { + "description": "The domain of data this is charting.\nOnly a single domain is supported.", "items": { - "$ref": "SortSpec" + "$ref": "BasicChartDomain" }, "type": "array" } - }, - "id": "FilterView" - }, - "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)" - }, - "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.", - "$ref": "Color" - }, - "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" - } - }, - "id": "BandingProperties" - }, - "CandlestickSeries": { - "description": "The series of a CandlestickData.", - "type": "object", - "properties": { - "data": { - "$ref": "ChartData", - "description": "The data of the CandlestickSeries." - } - }, - "id": "CandlestickSeries" - }, - "BasicFilter": { - "properties": { - "criteria": { - "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" - }, - "range": { - "description": "The range the filter covers.", - "$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" - } - }, - "id": "BasicFilter", - "description": "The default filter associated with a sheet.", - "type": "object" - }, - "AddProtectedRangeResponse": { - "description": "The result of adding a new protected range.", - "type": "object", - "properties": { - "protectedRange": { - "$ref": "ProtectedRange", - "description": "The newly added protected range." - } - }, - "id": "AddProtectedRangeResponse" - }, - "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.", - "type": "object", - "properties": { - "outlierPercentile": { - "format": "double", - "description": "The outlier percentile is used to ensure that outliers do not adversely\naffect the calculation of bucket sizes. For example, setting an outlier\npercentile of 0.05 indicates that the top and bottom 5% of values when\ncalculating buckets. The values are still included in the chart, they will\nbe added to the first or last buckets instead of their own buckets.\nMust be between 0.0 and 0.5.", - "type": "number" - }, - "showItemDividers": { - "description": "Whether horizontal divider lines should be displayed between items in each\ncolumn.", - "type": "boolean" - }, - "series": { - "description": "The series for a histogram may be either a single series of values to be\nbucketed or multiple series, each of the same length, containing the name\nof the series followed by the values to be bucketed for that series.", - "items": { - "$ref": "HistogramSeries" - }, - "type": "array" - }, - "legendPosition": { - "enum": [ - "HISTOGRAM_CHART_LEGEND_POSITION_UNSPECIFIED", - "BOTTOM_LEGEND", - "LEFT_LEGEND", - "RIGHT_LEGEND", - "TOP_LEGEND", - "NO_LEGEND", - "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." - ] - }, - "bucketSize": { - "format": "double", - "description": "By default the bucket size (the range of values stacked in a single\ncolumn) is chosen automatically, but it may be overridden here.\nE.g., A bucket size of 1.5 results in buckets from 0 - 1.5, 1.5 - 3.0, etc.\nCannot be negative.\nThis field is optional.", - "type": "number" - } - }, - "id": "HistogramChartSpec" - }, - "UpdateValuesResponse": { - "properties": { - "updatedRows": { - "format": "int32", - "description": "The number of rows where at least one cell in the row was 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" - }, - "updatedColumns": { - "format": "int32", - "description": "The number of columns where at least one cell in the column was updated.", - "type": "integer" - }, - "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.", - "type": "object" - }, - "ErrorValue": { - "description": "An error in a cell.", - "type": "object", - "properties": { - "type": { - "enumDescriptions": [ - "The default error type, do not use this.", - "Corresponds to the `#ERROR!` error.", - "Corresponds to the `#NULL!` error.", - "Corresponds to the `#DIV/0` error.", - "Corresponds to the `#VALUE!` error.", - "Corresponds to the `#REF!` error.", - "Corresponds to the `#NAME?` error.", - "Corresponds to the `#NUM`! error.", - "Corresponds to the `#N/A` error.", - "Corresponds to the `Loading...` state." - ], - "enum": [ - "ERROR_TYPE_UNSPECIFIED", - "ERROR", - "NULL_VALUE", - "DIVIDE_BY_ZERO", - "VALUE", - "REF", - "NAME", - "NUM", - "N_A", - "LOADING" - ], - "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": { - "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" - }, - "PivotGroupSortValueBucket": { - "description": "Information about which values in a pivot group should be used for sorting.", - "type": "object", - "properties": { - "valuesIndex": { - "format": "int32", - "description": "The offset in the PivotTable.values list which the values in this\ngrouping should be sorted by.", - "type": "integer" - }, - "buckets": { - "description": "Determines the bucket from which values are chosen to sort.\n\nFor example, in a pivot table with one row group & two column groups,\nthe row group can list up to two values. The first value corresponds\nto a value within the first column group, and the second value\ncorresponds to a value in the second column group. If no values\nare listed, this would indicate that the row should be sorted according\nto the \"Grand Total\" over the column groups. If a single value is listed,\nthis would correspond to using the \"Total\" of that bucket.", - "items": { - "$ref": "ExtendedValue" - }, - "type": "array" - } - }, - "id": "PivotGroupSortValueBucket" - }, - "CandlestickChartSpec": { - "description": "A \u003ca href=\"/chart/interactive/docs/gallery/candlestickchart\"\u003ecandlestick chart\u003c/a\u003e.", - "type": "object", - "properties": { - "data": { - "description": "The Candlestick chart data.\nOnly one CandlestickData is supported.", - "items": { - "$ref": "CandlestickData" - }, - "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" - } - }, - "id": "CandlestickChartSpec" - }, - "CandlestickData": { - "description": "The Candlestick chart data, each containing the low, open, close, and high\nvalues for a series.", - "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" - }, - "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." - }, - "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" - }, - "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." - } - }, - "id": "CandlestickData" - }, - "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.", - "type": "boolean" - }, - "overlayPosition": { - "$ref": "OverlayPosition", - "description": "The position at which the object is overlaid on top of a grid." - }, - "sheetId": { - "format": "int32", - "description": "The sheet this is on. Set only if the embedded object\nis on its own sheet. Must be non-negative.", - "type": "integer" - } - }, - "id": "EmbeddedObjectPosition" - }, - "DeleteProtectedRangeRequest": { - "description": "Deletes the protected range with the given ID.", - "type": "object", - "properties": { - "protectedRangeId": { - "format": "int32", - "description": "The ID of the protected range to delete.", - "type": "integer" - } - }, - "id": "DeleteProtectedRangeRequest" - }, - "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" - } - }, - "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." - }, - "minpoint": { - "description": "The starting interpolation point.", - "$ref": "InterpolationPoint" - } - }, - "id": "GradientRule" - }, - "ClearValuesRequest": { - "properties": {}, - "id": "ClearValuesRequest", - "description": "The request for clearing a range of values in a spreadsheet.", - "type": "object" - }, - "SetBasicFilterRequest": { - "properties": { - "filter": { - "description": "The filter to set.", - "$ref": "BasicFilter" - } - }, - "id": "SetBasicFilterRequest", - "description": "Sets the basic filter associated with a sheet.", - "type": "object" - }, - "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" - }, - "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", - "MAX", - "NUMBER", - "PERCENT", - "PERCENTILE" - ], - "description": "How the value should be interpreted.", - "type": "string" - }, - "value": { - "description": "The value this interpolation point uses. May be a formula.\nUnused if type is MIN or\nMAX.", - "type": "string" - } - }, - "id": "InterpolationPoint" - }, - "DeleteEmbeddedObjectRequest": { - "description": "Deletes the embedded object with the given ID.", - "type": "object", - "properties": { - "objectId": { - "format": "int32", - "description": "The ID of the embedded object to delete.", - "type": "integer" - } - }, - "id": "DeleteEmbeddedObjectRequest" - }, - "FindReplaceResponse": { - "description": "The result of the find/replace.", - "type": "object", - "properties": { - "formulasChanged": { - "format": "int32", - "description": "The number of formula cells changed.", - "type": "integer" - }, - "valuesChanged": { - "format": "int32", - "description": "The number of non-formula cells changed.", - "type": "integer" - }, - "occurrencesChanged": { - "format": "int32", - "description": "The number of occurrences (possibly multiple within a cell) changed.\nFor example, if replacing `\"e\"` with `\"o\"` in `\"Google Sheets\"`, this would\nbe `\"3\"` because `\"Google Sheets\"` -\u003e `\"Googlo Shoots\"`.", - "type": "integer" - }, - "rowsChanged": { - "format": "int32", - "description": "The number of rows changed.", - "type": "integer" - }, - "sheetsChanged": { - "format": "int32", - "description": "The number of sheets changed.", - "type": "integer" - } - }, - "id": "FindReplaceResponse" - }, - "DeleteSheetRequest": { - "properties": { - "sheetId": { - "format": "int32", - "description": "The ID of the sheet to delete.", - "type": "integer" - } - }, - "id": "DeleteSheetRequest", - "description": "Deletes the requested sheet.", - "type": "object" - }, - "DuplicateFilterViewRequest": { - "description": "Duplicates a particular filter view.", - "type": "object", - "properties": { - "filterId": { - "format": "int32", - "description": "The ID of the filter being duplicated.", - "type": "integer" - } - }, - "id": "DuplicateFilterViewRequest" - }, - "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.", - "type": "integer" - }, - "newRule": { - "$ref": "ConditionalFormatRule", - "description": "The new rule that replaced the old rule (if replacing),\nor the rule that was moved (if moved)" - }, - "oldIndex": { - "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" - } - }, - "id": "UpdateConditionalFormatRuleResponse" - }, - "ConditionValue": { - "description": "The value of the condition.", - "type": "object", - "properties": { - "userEnteredValue": { - "description": "A value the condition is based on.\nThe value will be parsed as if the user typed into a cell.\nFormulas are supported (and must begin with an `=`).", - "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", - "PAST_MONTH", - "PAST_WEEK", - "YESTERDAY", - "TODAY", - "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" - } - }, - "id": "ConditionValue" - }, - "DuplicateSheetRequest": { - "description": "Duplicates the contents of a sheet.", - "type": "object", - "properties": { - "insertSheetIndex": { - "format": "int32", - "description": "The zero-based index where the new sheet should be inserted.\nThe index of all sheets after this are incremented.", - "type": "integer" - }, - "newSheetName": { - "description": "The name of the new sheet. If empty, a new name is chosen for you.", - "type": "string" - }, - "sourceSheetId": { - "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": { - "properties": { - "formulaValue": { - "description": "Represents a formula.", - "type": "string" - }, - "boolValue": { - "description": "Represents a boolean value.", - "type": "boolean" - }, - "stringValue": { - "description": "Represents a string value.\nLeading single quotes are not included. For example, if the user typed\n`'123` into the UI, this would be represented as a `stringValue` of\n`\"123\"`.", - "type": "string" - }, - "numberValue": { - "format": "double", - "description": "Represents a double value.\nNote: Dates, Times and DateTimes are represented as doubles in\n\"serial number\" format.", - "type": "number" - }, - "errorValue": { - "description": "Represents an error.\nThis field is read-only.", - "$ref": "ErrorValue" - } - }, - "id": "ExtendedValue", - "description": "The kinds of value that a cell in a spreadsheet can have.", - "type": "object" - }, - "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.", - "type": "object", - "properties": { - "properties": { - "description": "Overall properties of a spreadsheet.", - "$ref": "SpreadsheetProperties" - }, - "namedRanges": { - "description": "The named ranges defined in a spreadsheet.", - "items": { - "$ref": "NamedRange" - }, - "type": "array" - }, - "sheets": { - "description": "The sheets that are part of a spreadsheet.", - "items": { - "$ref": "Sheet" - }, - "type": "array" - }, - "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" - } - }, - "id": "Spreadsheet" - }, - "BatchClearValuesResponse": { - "properties": { - "spreadsheetId": { - "description": "The spreadsheet the updates were applied to.", - "type": "string" - }, - "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" - } - }, - "id": "BatchClearValuesResponse", - "description": "The response when clearing a range of values in a spreadsheet.", - "type": "object" - }, - "HistogramSeries": { - "description": "A histogram series containing the series color and data.", - "type": "object", - "properties": { - "barColor": { - "$ref": "Color", - "description": "The color of the column representing this series in each bucket.\nThis field is optional." - }, - "data": { - "$ref": "ChartData", - "description": "The data for this histogram series." - } - }, - "id": "HistogramSeries" - }, - "BandedRange": { - "description": "A banded (alternating colors) range in a sheet.", - "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" - } - }, - "id": "BandedRange" - }, - "UpdateProtectedRangeRequest": { - "description": "Updates an existing protected range with the specified\nprotectedRangeId.", - "type": "object", - "properties": { - "fields": { - "format": "google-fieldmask", - "description": "The fields that should be updated. At least one field must be specified.\nThe root `protectedRange` is implied and should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", - "type": "string" - }, - "protectedRange": { - "description": "The protected range to update with the new properties.", - "$ref": "ProtectedRange" - } - }, - "id": "UpdateProtectedRangeRequest" - }, - "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" - }, - "bold": { - "description": "True if the text is bold.", - "type": "boolean" - }, - "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" - }, - "fontSize": { - "format": "int32", - "description": "The size of the font.", - "type": "integer" - }, - "underline": { - "description": "True if the text is underlined.", - "type": "boolean" - } - }, - "id": "TextFormat" - }, - "AddSheetResponse": { - "description": "The result of adding a sheet.", - "type": "object", - "properties": { - "properties": { - "$ref": "SheetProperties", - "description": "The properties of the newly added sheet." - } - }, - "id": "AddSheetResponse" - }, - "AddFilterViewResponse": { - "properties": { - "filter": { - "$ref": "FilterView", - "description": "The newly added filter view." - } - }, - "id": "AddFilterViewResponse", - "description": "The result of adding a filter view.", - "type": "object" - }, - "IterativeCalculationSettings": { - "description": "Settings to control how circular dependencies are resolved with iterative\ncalculation.", - "type": "object", - "properties": { - "convergenceThreshold": { - "format": "double", - "description": "When iterative calculation is enabled and successive results differ by\nless than this threshold value, the calculation rounds stop.", - "type": "number" - }, - "maxIterations": { - "format": "int32", - "description": "When iterative calculation is enabled, the maximum number of calculation\nrounds to perform.", - "type": "integer" - } - }, - "id": "IterativeCalculationSettings" - }, - "OverlayPosition": { - "description": "The location an object is overlaid on top of a grid.", - "type": "object", - "properties": { - "widthPixels": { - "format": "int32", - "description": "The width of the object, in pixels. Defaults to 600.", - "type": "integer" - }, - "offsetXPixels": { - "format": "int32", - "description": "The horizontal offset, in pixels, that the object is offset\nfrom the anchor cell.", - "type": "integer" - }, - "anchorCell": { - "description": "The cell the object is anchored to.", - "$ref": "GridCoordinate" - }, - "heightPixels": { - "format": "int32", - "description": "The height of the object, in pixels. Defaults to 371.", - "type": "integer" - }, - "offsetYPixels": { - "format": "int32", - "description": "The vertical offset, in pixels, that the object is offset\nfrom the anchor cell.", - "type": "integer" - } - }, - "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": { - "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." - } - }, - "id": "RepeatCellRequest" - }, - "AddChartResponse": { - "description": "The result of adding a chart to a spreadsheet.", - "type": "object", - "properties": { - "chart": { - "$ref": "EmbeddedChart", - "description": "The newly added chart." - } - }, - "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" - } - }, - "id": "InsertDimensionRequest" - }, - "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" - } - }, - "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" - }, - "unprotectedRanges": { - "description": "The list of unprotected ranges within a protected sheet.\nUnprotected ranges are only supported on protected sheets.", - "items": { - "$ref": "GridRange" - }, - "type": "array" - }, - "namedRangeId": { - "description": "The named range this protected range is backed by, if any.\n\nWhen writing, only one of range or named_range_id\nmay be set.", - "type": "string" - }, - "protectedRangeId": { - "format": "int32", - "description": "The ID of the protected range.\nThis field is read-only.", - "type": "integer" - }, - "warningOnly": { - "description": "True if this protected range will show a warning when editing.\nWarning-based protection means that every user can edit data in the\nprotected range, except editing will prompt a warning asking the user\nto confirm the edit.\n\nWhen writing: if this field is true, then editors is ignored.\nAdditionally, if this field is changed from true to false and the\n`editors` field is not set (nor included in the field mask), then\nthe editors will be set to all the editors in the document.", - "type": "boolean" - }, - "requestingUserCanEdit": { - "description": "True if the user who requested this protected range can edit the\nprotected area.\nThis field is read-only.", - "type": "boolean" - } - }, - "id": "ProtectedRange" - }, - "DimensionProperties": { - "description": "Properties about a dimension.", - "type": "object", - "properties": { - "pixelSize": { - "format": "int32", - "description": "The height (if a row) or width (if a column) of the dimension in pixels.", - "type": "integer" - }, - "hiddenByUser": { - "description": "True if this dimension is explicitly hidden.", - "type": "boolean" - }, - "hiddenByFilter": { - "description": "True if this dimension is being filtered.\nThis field is read-only.", - "type": "boolean" - } - }, - "id": "DimensionProperties" - }, - "NamedRange": { - "description": "A named range.", - "type": "object", - "properties": { - "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" - } - }, - "id": "NamedRange" - }, - "DimensionRange": { - "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.", - "type": "integer" - }, - "startIndex": { - "format": "int32", - "description": "The start (inclusive) of the span, or not set if unbounded.", - "type": "integer" - }, - "sheetId": { - "format": "int32", - "description": "The sheet this span is on.", - "type": "integer" - } - }, - "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" - }, - "CutPasteRequest": { - "description": "Moves data from the source to the destination.", - "type": "object", - "properties": { - "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.", - "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" - } - }, - "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" - } - }, - "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" + } } }, - "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": "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" - }, - "https://www.googleapis.com/auth/spreadsheets.readonly": { - "description": "View your Google Spreadsheets" - }, - "https://www.googleapis.com/auth/drive.readonly": { - "description": "View the files in your Google Drive" - }, - "https://www.googleapis.com/auth/drive": { - "description": "View and manage the files in your Google Drive" - } - } - } - }, - "rootUrl": "https://sheets.googleapis.com/", - "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" + "icons": { + "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/sheets/v4/sheets-gen.go b/vendor/google.golang.org/api/sheets/v4/sheets-gen.go index 6fdd633..4c4dce1 100644 --- a/vendor/google.golang.org/api/sheets/v4/sheets-gen.go +++ b/vendor/google.golang.org/api/sheets/v4/sheets-gen.go @@ -690,7 +690,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 +895,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 @@ -2027,6 +2023,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 +2393,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 +2456,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 +2464,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:"-"` } @@ -5363,6 +5367,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 @@ -5519,6 +5551,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"` 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 7417a3c..16e6daf 100644 --- a/vendor/google.golang.org/api/slides/v1/slides-api.json +++ b/vendor/google.golang.org/api/slides/v1/slides-api.json @@ -1,657 +1,16 @@ { - "batchPath": "batch", - "title": "Google Slides API", - "ownerName": "Google", - "resources": { - "presentations": { - "methods": { - "get": { - "description": "Gets the latest version of the specified presentation.", - "response": { - "$ref": "Presentation" - }, - "parameterOrder": [ - "presentationId" - ], - "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": { - "presentationId": { - "type": "string", - "required": true, - "pattern": "^[^/]+$", - "location": "path", - "description": "The ID of the presentation to retrieve." - } - }, - "flatPath": "v1/presentations/{presentationsId}", - "id": "slides.presentations.get", - "path": "v1/presentations/{+presentationId}" - }, - "batchUpdate": { - "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/spreadsheets", - "https://www.googleapis.com/auth/spreadsheets.readonly" - ], - "parameters": { - "presentationId": { - "description": "The presentation to apply the updates to.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1/presentations/{presentationId}:batchUpdate", - "id": "slides.presentations.batchUpdate", - "path": "v1/presentations/{presentationId}: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" - }, - "create": { - "description": "Creates a new presentation using the title given in the request. Other\nfields in the request are ignored.\nReturns the created presentation.", - "request": { - "$ref": "Presentation" - }, - "response": { - "$ref": "Presentation" - }, - "parameterOrder": [], - "httpMethod": "POST", - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/presentations" - ], - "flatPath": "v1/presentations", - "id": "slides.presentations.create", - "path": "v1/presentations" - } - }, - "resources": { - "pages": { - "methods": { - "getThumbnail": { - "httpMethod": "GET", - "response": { - "$ref": "Thumbnail" - }, - "parameterOrder": [ - "presentationId", - "pageObjectId" - ], - "parameters": { - "pageObjectId": { - "description": "The object ID of the page whose thumbnail to retrieve.", - "type": "string", - "required": true, - "location": "path" - }, - "thumbnailProperties.thumbnailSize": { - "location": "query", - "enum": [ - "THUMBNAIL_SIZE_UNSPECIFIED", - "LARGE" - ], - "description": "The optional thumbnail image size.\n\nIf you don't specify the size, the server chooses a default size of the\nimage.", - "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" - ] - }, - "presentationId": { - "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" - }, - "presentationId": { - "description": "The ID of the presentation to retrieve.", - "type": "string", - "required": true, - "location": "path" - } - } - } - } - } - } - } - }, - "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": { - "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": { - "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": { - "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" - } - }, - "version": "v1", - "baseUrl": "https://slides.googleapis.com/", - "servicePath": "", - "description": "An API for creating and editing Google Slides presentations.", - "kind": "discovery#restDescription", - "basePath": "", - "revision": "20170630", - "documentationLink": "https://developers.google.com/slides/", - "id": "slides:v1", - "discoveryVersion": "v1", - "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" + }, + "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." } }, "id": "DeleteTableRowRequest" @@ -660,10 +19,6 @@ "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" @@ -674,8 +29,12 @@ "type": "integer" }, "bulletStyle": { - "description": "The paragraph specific text style applied to this bullet.", - "$ref": "TextStyle" + "$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" } }, "id": "Bullet" @@ -685,23 +44,12 @@ "type": "object", "properties": { "solidFill": { - "description": "Solid color fill.", - "$ref": "SolidFill" + "$ref": "SolidFill", + "description": "Solid color fill." } }, "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", @@ -719,7 +67,20 @@ }, "id": "TableCellLocation" }, + "CreateLineResponse": { + "type": "object", + "properties": { + "objectId": { + "description": "The object ID of the created line.", + "type": "string" + } + }, + "id": "CreateLineResponse", + "description": "The result of creating a line." + }, "ReplaceAllTextResponse": { + "description": "The result of replacing text.", + "type": "object", "properties": { "occurrencesChanged": { "format": "int32", @@ -727,17 +88,23 @@ "type": "integer" } }, - "id": "ReplaceAllTextResponse", - "description": "The result of replacing text.", - "type": "object" + "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": { + "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" + }, "style": { - "$ref": "ParagraphStyle", - "description": "The paragraph's style." + "description": "The paragraph's style.", + "$ref": "ParagraphStyle" }, "cellLocation": { "$ref": "TableCellLocation", @@ -747,14 +114,6 @@ "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" @@ -774,6 +133,8 @@ "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", @@ -784,152 +145,6 @@ "$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", @@ -1075,18 +290,164 @@ "CLOUD_CALLOUT", "CUSTOM" ], - "description": "The type of the shape." + "description": "The type of the shape.", + "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." + ] }, "shapeProperties": { - "$ref": "ShapeProperties", - "description": "The properties of the shape." + "description": "The properties of the shape.", + "$ref": "ShapeProperties" } }, - "id": "Shape", - "description": "A PageElement kind representing a\ngeneric shape that does not have a more specific classification.", - "type": "object" + "id": "Shape" }, "Image": { + "description": "A PageElement kind representing an\nimage.", + "type": "object", "properties": { "imageProperties": { "$ref": "ImageProperties", @@ -1097,17 +458,11 @@ "type": "string" } }, - "id": "Image", - "description": "A PageElement kind representing an\nimage.", - "type": "object" + "id": "Image" }, "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" @@ -1120,43 +475,27 @@ "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." } }, "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": { + "type": "number", "format": "double", - "description": "The Y coordinate scaling element.", - "type": "number" + "description": "The Y coordinate scaling element." }, "translateY": { "format": "double", @@ -1164,28 +503,53 @@ "type": "number" }, "translateX": { + "type": "number", "format": "double", - "description": "The X coordinate translation element.", - "type": "number" + "description": "The X coordinate translation element." }, "shearY": { "format": "double", "description": "The Y coordinate shearing element.", "type": "number" + }, + "unit": { + "enum": [ + "UNIT_UNSPECIFIED", + "EMU", + "PT" + ], + "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." + ] + }, + "scaleX": { + "format": "double", + "description": "The X coordinate scaling element.", + "type": "number" } }, - "id": "AffineTransform" + "id": "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." }, "AutoText": { - "id": "AutoText", "description": "A TextElement kind that represents auto text.", "type": "object", "properties": { + "style": { + "description": "The styling applied to this auto text.", + "$ref": "TextStyle" + }, "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." @@ -1193,15 +557,10 @@ "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" + ] } - } + }, + "id": "AutoText" }, "CreateVideoResponse": { "id": "CreateVideoResponse", @@ -1215,9 +574,14 @@ } }, "DeleteTextRequest": { + "id": "DeleteTextRequest", "description": "Deletes text from a shape or a table cell.", "type": "object", "properties": { + "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" + }, "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." @@ -1225,15 +589,11 @@ "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": { + "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": { @@ -1245,7 +605,6 @@ "description": "The object ID of the page element to update." }, "applyMode": { - "description": "The apply mode of the transform update.", "type": "string", "enumDescriptions": [ "Unspecified mode.", @@ -1256,11 +615,11 @@ "APPLY_MODE_UNSPECIFIED", "RELATIVE", "ABSOLUTE" - ] + ], + "description": "The apply mode of the transform update." } }, - "id": "UpdatePageElementTransformRequest", - "description": "Updates the transform of a page element." + "id": "UpdatePageElementTransformRequest" }, "DeleteObjectRequest": { "description": "Deletes an object, either pages or\npage elements, from the\npresentation.", @@ -1283,6 +642,8 @@ "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.", @@ -1292,9 +653,7 @@ "UNIT_UNSPECIFIED", "EMU", "PT" - ], - "description": "The units for magnitude.", - "type": "string" + ] } }, "id": "Dimension" @@ -1304,8 +663,8 @@ "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" + "$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": { "description": "A TextElement representing a spot in the text that is dynamically\nreplaced with content that can change over time.", @@ -1329,15 +688,15 @@ "id": "TextElement" }, "LineFill": { - "description": "The fill of the line.", - "type": "object", "properties": { "solidFill": { - "$ref": "SolidFill", - "description": "Solid color fill." + "description": "Solid color fill.", + "$ref": "SolidFill" } }, - "id": "LineFill" + "id": "LineFill", + "description": "The fill of the line.", + "type": "object" }, "VideoProperties": { "id": "VideoProperties", @@ -1362,8 +721,8 @@ "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." + "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.", @@ -1375,14 +734,7 @@ "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" @@ -1390,78 +742,33 @@ "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.", + "displayName": { + "description": "The human-readable name of the layout.", "type": "string" } }, - "id": "Presentation" + "id": "LayoutProperties", + "description": "The properties of Page are only\nrelevant for pages with page_type LAYOUT.", + "type": "object" }, "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" + "$ref": "Link", + "description": "The hyperlink destination of the line. If unset, there is no link." }, "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", @@ -1472,16 +779,7 @@ "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'." - ] + "type": "string" }, "startArrow": { "type": "string", @@ -1514,6 +812,7 @@ "description": "The style of the arrow at the beginning of the line." }, "endArrow": { + "description": "The style of the arrow at the end of the line.", "type": "string", "enumDescriptions": [ "An unspecified arrow style.", @@ -1540,11 +839,71 @@ "OPEN_CIRCLE", "OPEN_SQUARE", "OPEN_DIAMOND" - ], - "description": "The style of the arrow at the end of the line." + ] + }, + "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." } }, - "id": "LineProperties" + "id": "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." + }, + "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" + }, + "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": { + "description": "The locale of the presentation, as an IETF BCP 47 language tag.", + "type": "string" + }, + "pageSize": { + "$ref": "Size", + "description": "The size of pages in the presentation." + }, + "presentationId": { + "description": "The ID of the presentation.", + "type": "string" + } + }, + "id": "Presentation", + "description": "A Google Slides presentation." }, "OpaqueColor": { "description": "A themeable solid color value.", @@ -1593,8 +952,8 @@ ] }, "rgbColor": { - "description": "An opaque RGB color.", - "$ref": "RgbColor" + "$ref": "RgbColor", + "description": "An opaque RGB color." } }, "id": "OpaqueColor" @@ -1602,15 +961,27 @@ "ImageProperties": { "type": "object", "properties": { + "recolor": { + "description": "The recolor effect of the image. If not set, the image is not recolored.\nThis property is read-only.", + "$ref": "Recolor" + }, + "cropProperties": { + "$ref": "CropProperties", + "description": "The crop properties of the image. If not set, the image is not cropped.\nThis property is read-only." + }, + "outline": { + "$ref": "Outline", + "description": "The outline of the image. If not set, the the image has no 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": { - "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." + "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", @@ -1622,20 +993,8 @@ "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." + "description": "The hyperlink destination of the image. If unset, there is no link.", + "$ref": "Link" } }, "id": "ImageProperties", @@ -1654,12 +1013,11 @@ "id": "ReplaceAllShapesWithImageResponse" }, "Line": { + "id": "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'.", @@ -1683,14 +1041,33 @@ "CURVED_CONNECTOR_3", "CURVED_CONNECTOR_4", "CURVED_CONNECTOR_5" - ] + ], + "description": "The type of the line.", + "type": "string" }, "lineProperties": { "description": "The properties of the line.", "$ref": "LineProperties" } + } + }, + "BatchUpdatePresentationResponse": { + "description": "Response message from a batch update.", + "type": "object", + "properties": { + "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" + }, + "presentationId": { + "description": "The presentation the updates were applied to.", + "type": "string" + } }, - "id": "Line" + "id": "BatchUpdatePresentationResponse" }, "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.", @@ -1705,15 +1082,15 @@ "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": { + "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.", "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": { @@ -1728,39 +1105,25 @@ }, "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": { + "description": "The result of creating an image.", + "type": "object", "properties": { "objectId": { "description": "The object ID of the created image.", "type": "string" } }, - "id": "CreateImageResponse", - "description": "The result of creating an image.", - "type": "object" + "id": "CreateImageResponse" }, "SlideProperties": { "description": "The properties of Page that are only\nrelevant for pages with page_type SLIDE.", "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" @@ -1768,37 +1131,60 @@ "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" }, + "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" + } + }, + "id": "MasterProperties" + }, "Response": { "description": "A single response from an update.", "type": "object", "properties": { - "createVideo": { - "description": "The result of creating a video.", - "$ref": "CreateVideoResponse" + "createShape": { + "$ref": "CreateShapeResponse", + "description": "The result of creating a shape." }, - "replaceAllShapesWithSheetsChart": { - "$ref": "ReplaceAllShapesWithSheetsChartResponse", - "description": "The result of replacing all shapes matching some criteria with a Google\nSheets chart." + "duplicateObject": { + "$ref": "DuplicateObjectResponse", + "description": "The result of duplicating an object." + }, + "createLine": { + "$ref": "CreateLineResponse", + "description": "The result of creating a line." + }, + "createImage": { + "$ref": "CreateImageResponse", + "description": "The result of creating an image." + }, + "createVideo": { + "$ref": "CreateVideoResponse", + "description": "The result of creating a video." }, "createSheetsChart": { "$ref": "CreateSheetsChartResponse", "description": "The result of creating a Google Sheets chart." }, + "replaceAllShapesWithSheetsChart": { + "$ref": "ReplaceAllShapesWithSheetsChartResponse", + "description": "The result of replacing all shapes matching some criteria with a Google\nSheets 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" + "$ref": "CreateTableResponse", + "description": "The result of creating a table." }, "replaceAllText": { "description": "The result of replacing text.", @@ -1807,22 +1193,6 @@ "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" @@ -1832,8 +1202,8 @@ "type": "object", "properties": { "text": { - "type": "string", - "description": "The text to search for in the shape or table." + "description": "The text to search for in the shape or table.", + "type": "string" }, "matchCase": { "description": "Indicates whether the search should respect case:\n\n- `True`: the search is case sensitive.\n- `False`: the search is case insensitive.", @@ -1886,7 +1256,6 @@ "id": "LayoutReference" }, "TextRun": { - "description": "A TextElement kind that represents a run of text that all has the same\nstyling.", "type": "object", "properties": { "content": { @@ -1894,20 +1263,21 @@ "type": "string" }, "style": { - "description": "The styling applied to this run.", - "$ref": "TextStyle" + "$ref": "TextStyle", + "description": "The styling applied to this run." } }, - "id": "TextRun" + "id": "TextRun", + "description": "A TextElement kind that represents a run of text that all has the same\nstyling." }, "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." + "description": "The row span of the table range.", + "type": "integer" }, "location": { "$ref": "TableCellLocation", @@ -1925,11 +1295,6 @@ "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.", @@ -1942,12 +1307,16 @@ "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." + }, + "rows": { + "format": "int32", + "description": "Number of rows in the table.", + "type": "integer" } }, "id": "CreateTableRequest" }, "CreateTableResponse": { - "description": "The result of creating a table.", "type": "object", "properties": { "objectId": { @@ -1955,12 +1324,26 @@ "type": "string" } }, - "id": "CreateTableResponse" + "id": "CreateTableResponse", + "description": "The result of creating a table." }, "Table": { + "id": "Table", "description": "A PageElement kind representing a\ntable.", "type": "object", "properties": { + "rows": { + "type": "integer", + "format": "int32", + "description": "Number of rows in the table." + }, + "tableColumns": { + "description": "Properties of each column.", + "items": { + "$ref": "TableColumnProperties" + }, + "type": "array" + }, "columns": { "format": "int32", "description": "Number of columns in the table.", @@ -1972,43 +1355,30 @@ "$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": { + "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 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." - ] + "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" }, "stretchedPictureFill": { - "$ref": "StretchedPictureFill", - "description": "Stretched picture fill." + "description": "Stretched picture fill.", + "$ref": "StretchedPictureFill" }, "solidFill": { "$ref": "SolidFill", @@ -2021,14 +1391,9 @@ "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" + "$ref": "SheetsChartProperties", + "description": "The properties of the Sheets chart." }, "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.", @@ -2037,11 +1402,17 @@ "spreadsheetId": { "description": "The ID of the Google Sheets spreadsheet that contains the source chart.", "type": "string" + }, + "chartId": { + "format": "int32", + "description": "The ID of the specific chart in the Google Sheets spreadsheet that is\nembedded.", + "type": "integer" } }, "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": { "alpha": { @@ -2054,18 +1425,36 @@ "$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." + "id": "SolidFill" }, "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." + "description": "The concrete color corresponding to the theme color type above.", + "$ref": "RgbColor" }, "type": { + "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", "enumDescriptions": [ @@ -2086,25 +1475,6 @@ "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" ] } }, @@ -2122,49 +1492,49 @@ "id": "OptionalColor" }, "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", "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" + }, + "pageObjectId": { + "type": "string", + "description": "The object ID of the page where the element is located." + }, + "size": { + "$ref": "Size", + "description": "The size of the element." } }, - "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" + "id": "PageElementProperties" }, "SheetsChartProperties": { - "id": "SheetsChartProperties", "description": "The properties of the SheetsChart.", "type": "object", "properties": { "chartImageProperties": { - "description": "The properties of the embedded chart image.", - "$ref": "ImageProperties" + "$ref": "ImageProperties", + "description": "The properties of the embedded chart image." } - } + }, + "id": "SheetsChartProperties" }, "StretchedPictureFill": { + "id": "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." + "description": "The original size of the picture fill. This field is read-only.", + "$ref": "Size" + }, + "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" } - }, - "id": "StretchedPictureFill" + } }, "DeleteTableColumnRequest": { "description": "Deletes a column from a table.", @@ -2186,20 +1556,20 @@ "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" + "$ref": "Range", + "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." }, "objectId": { - "description": "The object ID of the shape or table with the text to be styled.", - "type": "string" + "type": "string", + "description": "The object ID of the shape or table with the text to be styled." }, "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." + "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", @@ -2219,11 +1589,11 @@ "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." + "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" } } }, @@ -2246,18 +1616,6 @@ "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" @@ -2267,8 +1625,8 @@ "type": "string" }, "elementGroup": { - "$ref": "Group", - "description": "A collection of page elements joined as a single unit." + "description": "A collection of page elements joined as a single unit.", + "$ref": "Group" }, "image": { "$ref": "Image", @@ -2287,16 +1645,28 @@ "description": "A linked chart embedded from Google Sheets. Unlinked charts are\nrepresented as images." }, "video": { - "description": "A video page element.", - "$ref": "Video" + "$ref": "Video", + "description": "A video page element." }, "wordArt": { - "$ref": "WordArt", - "description": "A word art page element." + "description": "A word art page element.", + "$ref": "WordArt" }, "table": { - "$ref": "Table", - "description": "A table page element." + "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" + }, + "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": { + "description": "A generic shape.", + "$ref": "Shape" } }, "id": "PageElement", @@ -2306,40 +1676,43 @@ "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.", + "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": { + "type": "string", + "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." } }, "id": "CreateImageRequest" }, "CreateParagraphBulletsRequest": { + "id": "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" + "$ref": "Range", + "description": "The range of text to apply the bullet presets to, based on TextElement indexes." }, "objectId": { - "description": "The object ID of the shape or table containing the text to add bullets to.", - "type": "string" + "type": "string", + "description": "The object ID of the shape or table containing the text to add bullets to." }, "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 `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.", @@ -2367,36 +1740,58 @@ "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" + "$ref": "TableCellLocation", + "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." } - }, - "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": { + "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": { + "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.", + "$ref": "OptionalColor" + }, + "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" + }, + "underline": { + "description": "Whether or not the text is underlined.", + "type": "boolean" + }, + "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" + }, + "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": { + "type": "boolean", + "description": "Whether or not the text is struck through." + }, + "italic": { + "description": "Whether or not the text is italicized.", + "type": "boolean" + }, "fontSize": { "description": "The size of the text's font. When read, the `font_size` will specified in\npoints.", "$ref": "Dimension" @@ -2416,66 +1811,41 @@ ], "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" }, + "Size": { + "description": "A width and height.", + "type": "object", + "properties": { + "width": { + "$ref": "Dimension", + "description": "The width of the object." + }, + "height": { + "$ref": "Dimension", + "description": "The height of the object." + } + }, + "id": "Size" + }, "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." + "description": "The video properties to update.", + "$ref": "VideoProperties" + }, + "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" } }, "id": "UpdateVideoPropertiesRequest" @@ -2484,65 +1854,17 @@ "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." + "description": "Updates the position of a set of slides in the presentation.", + "$ref": "UpdateSlidesPositionRequest" }, "deleteTableRow": { - "description": "Deletes a row from a table.", - "$ref": "DeleteTableRowRequest" + "$ref": "DeleteTableRowRequest", + "description": "Deletes a row from a table." }, "updateShapeProperties": { "description": "Updates the properties of a Shape.", @@ -2553,24 +1875,24 @@ "description": "Inserts text into a shape or table cell." }, "deleteText": { - "$ref": "DeleteTextRequest", - "description": "Deletes text from a shape or a table cell." + "description": "Deletes text from a shape or a table cell.", + "$ref": "DeleteTextRequest" }, "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." }, + "createShape": { + "description": "Creates a new shape.", + "$ref": "CreateShapeRequest" + }, "insertTableColumns": { - "$ref": "InsertTableColumnsRequest", - "description": "Inserts columns into a table." + "description": "Inserts columns into a table.", + "$ref": "InsertTableColumnsRequest" }, "refreshSheetsChart": { "description": "Refreshes a Google Sheets chart.", @@ -2585,60 +1907,108 @@ "description": "Creates a new table." }, "deleteObject": { - "$ref": "DeleteObjectRequest", - "description": "Deletes a page or page element from the presentation." + "description": "Deletes a page or page element from the presentation.", + "$ref": "DeleteObjectRequest" }, "updateParagraphStyle": { - "description": "Updates the styling of paragraphs within a Shape or Table.", - "$ref": "UpdateParagraphStyleRequest" + "$ref": "UpdateParagraphStyleRequest", + "description": "Updates the styling of paragraphs within a Shape or Table." + }, + "duplicateObject": { + "description": "Duplicates a slide or page element.", + "$ref": "DuplicateObjectRequest" }, "deleteTableColumn": { "$ref": "DeleteTableColumnRequest", "description": "Deletes a column from a table." }, - "duplicateObject": { - "$ref": "DuplicateObjectRequest", - "description": "Duplicates a slide or page element." + "updateVideoProperties": { + "$ref": "UpdateVideoPropertiesRequest", + "description": "Updates the properties of a Video." }, "createLine": { "$ref": "CreateLineRequest", "description": "Creates a line." }, - "updateVideoProperties": { - "description": "Updates the properties of a Video.", - "$ref": "UpdateVideoPropertiesRequest" + "createImage": { + "description": "Creates an image.", + "$ref": "CreateImageRequest" + }, + "createParagraphBullets": { + "description": "Creates bullets for paragraphs.", + "$ref": "CreateParagraphBulletsRequest" + }, + "createVideo": { + "$ref": "CreateVideoRequest", + "description": "Creates a video." + }, + "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": { + "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": { + "description": "Inserts rows into a table.", + "$ref": "InsertTableRowsRequest" + }, + "createSlide": { + "$ref": "CreateSlideRequest", + "description": "Creates a new slide." } }, "id": "Request" }, "UpdateImagePropertiesRequest": { - "description": "Update the properties of an Image.", - "type": "object", "properties": { "fields": { + "type": "string", "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" + "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." }, "imageProperties": { - "$ref": "ImageProperties", - "description": "The image properties to update." + "description": "The image properties to update.", + "$ref": "ImageProperties" }, "objectId": { - "type": "string", - "description": "The object ID of the image the updates are applied to." + "description": "The object ID of the image the updates are applied to.", + "type": "string" } }, - "id": "UpdateImagePropertiesRequest" + "id": "UpdateImagePropertiesRequest", + "description": "Update the properties of an Image.", + "type": "object" }, "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": { + "type": "string", "enumDescriptions": [ "The text direction is inherited from the parent.", "The text goes from left to right.", @@ -2649,10 +2019,11 @@ "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" + "description": "The text direction of this paragraph. If unset, the value defaults to\nLEFT_TO_RIGHT since\ntext direction is not inherited." }, "spacingMode": { + "description": "The spacing mode for the paragraph.", + "type": "string", "enumDescriptions": [ "The spacing mode is inherited from the parent.", "Paragraph spacing is always rendered.", @@ -2662,17 +2033,15 @@ "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" + "$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." }, "spaceAbove": { "$ref": "Dimension", @@ -2688,6 +2057,13 @@ "type": "number" }, "alignment": { + "enum": [ + "ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END", + "JUSTIFIED" + ], "description": "The text alignment for this paragraph.", "type": "string", "enumDescriptions": [ @@ -2696,30 +2072,24 @@ "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." + "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" }, "ReplaceAllShapesWithSheetsChartResponse": { + "id": "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." + "description": "The number of shapes replaced with charts.", + "type": "integer" } - }, - "id": "ReplaceAllShapesWithSheetsChartResponse" + } }, "TableCellProperties": { "description": "The properties of the TableCell.", @@ -2767,18 +2137,18 @@ "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." + "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" @@ -2794,6 +2164,40 @@ }, "id": "RefreshSheetsChartRequest" }, + "NotesProperties": { + "id": "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" + } + } + }, + "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." + }, + "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.", + "$ref": "Shadow" + }, + "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", @@ -2805,40 +2209,6 @@ }, "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", @@ -2875,16 +2245,23 @@ "type": "string" }, "tableCellProperties": { - "$ref": "TableCellProperties", - "description": "The table cell properties to update." + "description": "The table cell properties to update.", + "$ref": "TableCellProperties" } }, "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.", @@ -2896,46 +2273,40 @@ "$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" + "id": "CreateSlideRequest", + "description": "Creates a new slide." }, "BatchUpdatePresentationRequest": { + "id": "BatchUpdatePresentationRequest", + "description": "Request message for PresentationsService.BatchUpdatePresentation.", "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" + }, + "writeControl": { + "$ref": "WriteControl", + "description": "Provides control over how write requests are executed." } - }, - "id": "BatchUpdatePresentationRequest", - "description": "Request message for PresentationsService.BatchUpdatePresentation." + } }, "TextContent": { + "id": "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": { + "type": "object", "additionalProperties": { "$ref": "List" }, - "description": "The bulleted lists contained in this text, keyed by list ID.", - "type": "object" + "description": "The bulleted lists contained in this text, keyed by list ID." }, "textElements": { "description": "The text contents broken down into its component parts, including styling\ninformation. This property is read-only.", @@ -2944,49 +2315,48 @@ }, "type": "array" } - }, - "id": "TextContent" + } }, "CreateSheetsChartResponse": { + "id": "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": "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" + "id": "WriteControl", + "description": "Provides control over how write requests are executed.", + "type": "object" }, "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" + "$ref": "Range", + "description": "The range of text to delete bullets from, based on TextElement indexes." }, "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" + "$ref": "TableCellLocation", + "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." } }, - "id": "DeleteParagraphBulletsRequest" + "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." }, "ParagraphMarker": { "description": "A TextElement kind that represents the beginning of a new paragraph.", @@ -3004,18 +2374,8 @@ "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" @@ -3023,27 +2383,37 @@ "tableObjectId": { "description": "The table to insert columns into.", "type": "string" + }, + "number": { + "type": "integer", + "format": "int32", + "description": "The number of columns to be inserted. Maximum 20 per request." + }, + "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" } }, - "id": "InsertTableColumnsRequest" + "id": "InsertTableColumnsRequest", + "description": "Inserts columns into a table.\n\nOther columns in the table will be resized to fit the new column." }, "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." + "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" }, "width": { + "type": "integer", "format": "int32", - "description": "The positive width in pixels of the thumbnail image.", - "type": "integer" + "description": "The positive width in pixels of the thumbnail image." } }, "id": "Thumbnail" @@ -3052,28 +2422,26 @@ "description": "The user-specified ID mapping for a placeholder that will be created on a\nslide from a specified layout.", "type": "object", "properties": { + "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" }, "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." + "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" } }, "id": "LayoutPlaceholderIdMapping" }, "UpdateShapePropertiesRequest": { + "id": "UpdateShapePropertiesRequest", + "description": "Update the properties of a Shape.", "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.", @@ -3082,21 +2450,23 @@ "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." + } }, "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.", @@ -3110,33 +2480,6 @@ "type": "array" }, "name": { - "enumDescriptions": [ - "No recolor effect. The default value.", - "A recolor effect that lightens the image using the page's first available\ncolor from its color scheme.", - "A recolor effect that lightens the image using the page's second\navailable color from its color scheme.", - "A recolor effect that lightens the image using the page's third available\ncolor from its color scheme.", - "A recolor effect that lightens the image using the page's forth available\ncolor from its color scheme.", - "A recolor effect that lightens the image using the page's fifth available\ncolor from its color scheme.", - "A recolor effect that lightens the image using the page's sixth available\ncolor from its color scheme.", - "A recolor effect that lightens the image using the page's seventh\navailable color from its color scheme.e.", - "A recolor effect that lightens the image using the page's eighth\navailable color from its color scheme.", - "A recolor effect that lightens the image using the page's ninth available\ncolor from its color scheme.", - "A recolor effect that lightens the image using the page's tenth available\ncolor from its color scheme.", - "A recolor effect that darkens the image using the page's first available\ncolor from its color scheme.", - "A recolor effect that darkens the image using the page's second available\ncolor from its color scheme.", - "A recolor effect that darkens the image using the page's third available\ncolor from its color scheme.", - "A recolor effect that darkens the image using the page's fourth available\ncolor from its color scheme.", - "A recolor effect that darkens the image using the page's fifth available\ncolor from its color scheme.", - "A recolor effect that darkens the image using the page's sixth available\ncolor from its color scheme.", - "A recolor effect that darkens the image using the page's seventh\navailable color from its color scheme.", - "A recolor effect that darkens the image using the page's eighth available\ncolor from its color scheme.", - "A recolor effect that darkens the image using the page's ninth available\ncolor from its color scheme.", - "A recolor effect that darkens the image using the page's tenth available\ncolor from its color scheme.", - "A recolor effect that recolors the image to grayscale.", - "A recolor effect that recolors the image to negative grayscale.", - "A recolor effect that recolors the image using the sepia color.", - "Custom recolor effect. Refer to `recolor_stops` for the concrete\ngradient." - ], "enum": [ "NONE", "LIGHT1", @@ -3165,14 +2508,39 @@ "CUSTOM" ], "description": "The name of the recolor effect.\n\nThe name is determined from the `recolor_stops` by matching the gradient\nagainst the colors in the page's current color scheme. This property is\nread-only.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "No recolor effect. The default value.", + "A recolor effect that lightens the image using the page's first available\ncolor from its color scheme.", + "A recolor effect that lightens the image using the page's second\navailable color from its color scheme.", + "A recolor effect that lightens the image using the page's third available\ncolor from its color scheme.", + "A recolor effect that lightens the image using the page's forth available\ncolor from its color scheme.", + "A recolor effect that lightens the image using the page's fifth available\ncolor from its color scheme.", + "A recolor effect that lightens the image using the page's sixth available\ncolor from its color scheme.", + "A recolor effect that lightens the image using the page's seventh\navailable color from its color scheme.e.", + "A recolor effect that lightens the image using the page's eighth\navailable color from its color scheme.", + "A recolor effect that lightens the image using the page's ninth available\ncolor from its color scheme.", + "A recolor effect that lightens the image using the page's tenth available\ncolor from its color scheme.", + "A recolor effect that darkens the image using the page's first available\ncolor from its color scheme.", + "A recolor effect that darkens the image using the page's second available\ncolor from its color scheme.", + "A recolor effect that darkens the image using the page's third available\ncolor from its color scheme.", + "A recolor effect that darkens the image using the page's fourth available\ncolor from its color scheme.", + "A recolor effect that darkens the image using the page's fifth available\ncolor from its color scheme.", + "A recolor effect that darkens the image using the page's sixth available\ncolor from its color scheme.", + "A recolor effect that darkens the image using the page's seventh\navailable color from its color scheme.", + "A recolor effect that darkens the image using the page's eighth available\ncolor from its color scheme.", + "A recolor effect that darkens the image using the page's ninth available\ncolor from its color scheme.", + "A recolor effect that darkens the image using the page's tenth available\ncolor from its color scheme.", + "A recolor effect that recolors the image to grayscale.", + "A recolor effect that recolors the image to negative grayscale.", + "A recolor effect that recolors the image using the sepia color.", + "Custom recolor effect. Refer to `recolor_stops` for the concrete\ngradient." + ] } }, "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 +2552,7 @@ "type": "integer" }, "relativeLink": { + "type": "string", "enumDescriptions": [ "An unspecified relative slide link.", "A link to the next slide.", @@ -3198,15 +2567,16 @@ "FIRST_SLIDE", "LAST_SLIDE" ], - "description": "If set, indicates this is a link to a slide in this presentation,\naddressed by its position.", - "type": "string" + "description": "If set, indicates this is a link to a slide in this presentation,\naddressed by its position." }, "url": { - "description": "If set, indicates this is a link to the external web page at this URL.", - "type": "string" + "type": "string", + "description": "If set, indicates this is a link to the external web page at this URL." } }, - "id": "Link" + "id": "Link", + "description": "A hypertext link.", + "type": "object" }, "RgbColor": { "description": "An RGB color.", @@ -3231,7 +2601,6 @@ "id": "RgbColor" }, "CreateShapeResponse": { - "description": "The result of creating a shape.", "type": "object", "properties": { "objectId": { @@ -3239,9 +2608,13 @@ "type": "string" } }, - "id": "CreateShapeResponse" + "id": "CreateShapeResponse", + "description": "The result of creating a shape." }, "CreateLineRequest": { + "id": "CreateLineRequest", + "description": "Creates a line.", + "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.", @@ -3252,7 +2625,6 @@ "description": "The element properties for the line." }, "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.", @@ -3263,26 +2635,23 @@ "BENT", "CURVED" ], - "description": "The category of line to be created." + "description": "The category of line to be created.", + "type": "string" } - }, - "id": "CreateLineRequest", - "description": "Creates a line.", - "type": "object" + } }, "CreateSlideResponse": { "description": "The result of creating a slide.", "type": "object", "properties": { "objectId": { - "description": "The object ID of the created slide.", - "type": "string" + "type": "string", + "description": "The object ID of the created slide." } }, "id": "CreateSlideResponse" }, "CreateShapeRequest": { - "description": "Creates a new shape.", "type": "object", "properties": { "shapeType": { @@ -3588,24 +2957,14 @@ "description": "The element properties for the shape." } }, - "id": "CreateShapeRequest" + "id": "CreateShapeRequest", + "description": "Creates a new shape." }, "Video": { + "id": "Video", "description": "A PageElement kind representing a\nvideo.", "type": "object", "properties": { - "source": { - "enumDescriptions": [ - "The video source is unspecified.", - "The video source is YouTube." - ], - "enum": [ - "SOURCE_UNSPECIFIED", - "YOUTUBE" - ], - "description": "The video source.", - "type": "string" - }, "id": { "description": "The video source's unique identifier for this video.", "type": "string" @@ -3617,81 +2976,92 @@ "videoProperties": { "$ref": "VideoProperties", "description": "The properties of the video." + }, + "source": { + "enumDescriptions": [ + "The video source is unspecified.", + "The video source is YouTube." + ], + "enum": [ + "SOURCE_UNSPECIFIED", + "YOUTUBE" + ], + "description": "The video source.", + "type": "string" } - }, - "id": "Video" + } }, "PageProperties": { + "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", "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": { "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" - } - }, - "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." - }, - "NestingLevel": { - "id": "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." + }, + "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." } } }, "TableCell": { + "id": "TableCell", + "description": "Properties and contents of each table cell.", + "type": "object", "properties": { - "text": { - "$ref": "TextContent", - "description": "The text content of the cell." - }, "tableCellProperties": { - "$ref": "TableCellProperties", - "description": "The properties of the table cell." + "description": "The properties of the table cell.", + "$ref": "TableCellProperties" }, "rowSpan": { - "type": "integer", "format": "int32", - "description": "Row span of the cell." + "description": "Row span of the cell.", + "type": "integer" }, "location": { - "description": "The location of the cell within the table.", - "$ref": "TableCellLocation" + "$ref": "TableCellLocation", + "description": "The location of the cell within the table." }, "columnSpan": { "format": "int32", "description": "Column span of the cell.", "type": "integer" + }, + "text": { + "$ref": "TextContent", + "description": "The text content of the cell." + } + } + }, + "NestingLevel": { + "description": "Contains properties describing the look and feel of a list bullet at a given\nlevel of nesting.", + "type": "object", + "properties": { + "bulletStyle": { + "description": "The style of a bullet at this level of nesting.", + "$ref": "TextStyle" } }, - "id": "TableCell", - "description": "Properties and contents of each table cell.", - "type": "object" + "id": "NestingLevel" }, "UpdateLinePropertiesRequest": { "description": "Updates the properties of a Line.", "type": "object", "properties": { - "objectId": { - "description": "The object ID of the line the update is applied to.", - "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." + "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": { + "description": "The object ID of the line the update is applied to.", + "type": "string" } }, "id": "UpdateLinePropertiesRequest" @@ -3715,41 +3085,33 @@ "type": "string" }, "solidFill": { - "description": "Solid color fill.", - "$ref": "SolidFill" + "$ref": "SolidFill", + "description": "Solid color fill." } }, "id": "TableCellBackgroundFill" }, "UpdateSlidesPositionRequest": { - "description": "Updates the position of slides in the presentation.", - "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" + }, + "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" + "id": "UpdateSlidesPositionRequest", + "description": "Updates the position of slides in the presentation.", + "type": "object" }, "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.", - "type": "string" - }, "pageProperties": { "$ref": "PageProperties", "description": "The page properties to update." @@ -3757,8 +3119,16 @@ "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", + "description": "Updates the properties of a Page.", + "type": "object" }, "Group": { "description": "A PageElement kind representing a\njoined collection of PageElements.", @@ -3778,6 +3148,15 @@ "description": "The placeholder information that uniquely identifies a placeholder shape.", "type": "object", "properties": { + "parentObjectId": { + "type": "string", + "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." + }, + "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": { "type": "string", "enumDescriptions": [ @@ -3819,44 +3198,33 @@ "SLIDE_IMAGE" ], "description": "The type of the placeholder." - }, - "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": { - "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." } }, "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": { "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" + }, + "objectId": { + "description": "The ID of the object to duplicate.", + "type": "string" } }, - "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": "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" + "$ref": "SubstringMatchCriteria", + "description": "Finds text in a shape matching this substring." }, "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.", @@ -3870,7 +3238,377 @@ "type": "string" } }, - "id": "ReplaceAllTextRequest" + "id": "ReplaceAllTextRequest", + "description": "Replaces all instances of text matching a criteria with replace text.", + "type": "object" + }, + "Page": { + "type": "object", + "properties": { + "slideProperties": { + "$ref": "SlideProperties", + "description": "Slide specific properties. Only set if page_type = SLIDE." + }, + "pageProperties": { + "description": "The properties of the page.", + "$ref": "PageProperties" + }, + "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" + }, + "revisionId": { + "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.", + "type": "string" + }, + "layoutProperties": { + "$ref": "LayoutProperties", + "description": "Layout specific properties. Only set if page_type = LAYOUT." + }, + "notesProperties": { + "$ref": "NotesProperties", + "description": "Notes specific properties. Only set if page_type = NOTES." + }, + "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" + }, + "pageElements": { + "items": { + "$ref": "PageElement" + }, + "type": "array", + "description": "The page elements rendered on the page." + } + }, + "id": "Page", + "description": "A page in a presentation." + }, + "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." + } + }, + "id": "ShapeBackgroundFill" + }, + "CropProperties": { + "properties": { + "bottomOffset": { + "type": "number", + "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." + }, + "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", + "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" + }, + "ReplaceAllShapesWithSheetsChartRequest": { + "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": { + "$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": { + "properties": { + "color": { + "$ref": "OpaqueColor", + "description": "The color of the gradient stop." + }, + "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." + } + }, + "id": "ColorStop", + "description": "A color and position in a gradient band.", + "type": "object" + }, + "Range": { + "description": "Specifies a contiguous range of an indexed collection, such as characters in\ntext.", + "type": "object", + "properties": { + "type": { + "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." + ], + "enum": [ + "RANGE_TYPE_UNSPECIFIED", + "FIXED_RANGE", + "FROM_START_INDEX", + "ALL" + ] + }, + "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" + } + }, + "id": "Range" + }, + "CreateVideoRequest": { + "description": "Creates a video.", + "type": "object", + "properties": { + "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": { + "description": "The element properties for the video.", + "$ref": "PageElementProperties" + }, + "id": { + "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.", + "type": "string" + } + }, + "id": "CreateVideoRequest" + }, + "DuplicateObjectResponse": { + "type": "object", + "properties": { + "objectId": { + "description": "The ID of the new duplicate object.", + "type": "string" + } + }, + "id": "DuplicateObjectResponse", + "description": "The response of duplicating an object." + }, + "ReplaceAllShapesWithImageRequest": { + "id": "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" + } + } + }, + "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": { + "transform": { + "$ref": "AffineTransform", + "description": "Transform that encodes the translate, scale, and skew of the shadow,\nrelative to the alignment position." + }, + "type": { + "enum": [ + "SHADOW_TYPE_UNSPECIFIED", + "OUTER" + ], + "description": "The type of the shadow.", + "type": "string", + "enumDescriptions": [ + "Unspecified shadow type.", + "Outer 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." + }, + "rotateWithShape": { + "description": "Whether the shadow should rotate with the shape.", + "type": "boolean" + }, + "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." + } + }, + "id": "Shadow" } }, "icons": { @@ -3905,5 +3643,282 @@ }, "rootUrl": "https://slides.googleapis.com/", "ownerDomain": "google.com", - "name": "slides" + "name": "slides", + "batchPath": "batch", + "title": "Google Slides API", + "ownerName": "Google", + "resources": { + "presentations": { + "methods": { + "get": { + "id": "slides.presentations.get", + "path": "v1/presentations/{+presentationId}", + "description": "Gets the latest version of the specified presentation.", + "response": { + "$ref": "Presentation" + }, + "parameterOrder": [ + "presentationId" + ], + "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": { + "presentationId": { + "location": "path", + "description": "The ID of the presentation to retrieve.", + "type": "string", + "required": true, + "pattern": "^[^/]+$" + } + }, + "flatPath": "v1/presentations/{presentationsId}" + }, + "batchUpdate": { + "flatPath": "v1/presentations/{presentationId}:batchUpdate", + "id": "slides.presentations.batchUpdate", + "path": "v1/presentations/{presentationId}:batchUpdate", + "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.", + "request": { + "$ref": "BatchUpdatePresentationRequest" + }, + "response": { + "$ref": "BatchUpdatePresentationResponse" + }, + "parameterOrder": [ + "presentationId" + ], + "httpMethod": "POST", + "parameters": { + "presentationId": { + "location": "path", + "description": "The presentation to apply the updates to.", + "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/spreadsheets", + "https://www.googleapis.com/auth/spreadsheets.readonly" + ] + }, + "create": { + "path": "v1/presentations", + "id": "slides.presentations.create", + "description": "Creates a new presentation using the title given in the request. Other\nfields in the request are ignored.\nReturns the created presentation.", + "request": { + "$ref": "Presentation" + }, + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Presentation" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/presentations" + ], + "flatPath": "v1/presentations" + } + }, + "resources": { + "pages": { + "methods": { + "getThumbnail": { + "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 whose thumbnail to retrieve.", + "type": "string", + "required": true, + "location": "path" + }, + "thumbnailProperties.thumbnailSize": { + "location": "query", + "enum": [ + "THUMBNAIL_SIZE_UNSPECIFIED", + "LARGE" + ], + "description": "The optional thumbnail image size.\n\nIf you don't specify the size, the server chooses a default size of the\nimage.", + "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" + ] + }, + "presentationId": { + "description": "The ID of the presentation 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.", + "response": { + "$ref": "Thumbnail" + }, + "parameterOrder": [ + "presentationId", + "pageObjectId" + ], + "httpMethod": "GET" + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "presentationId", + "pageObjectId" + ], + "response": { + "$ref": "Page" + }, + "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": { + "location": "path", + "description": "The object ID of the page to retrieve.", + "type": "string", + "required": true + }, + "presentationId": { + "description": "The ID of the presentation to retrieve.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/presentations/{presentationId}/pages/{pageObjectId}", + "path": "v1/presentations/{presentationId}/pages/{pageObjectId}", + "id": "slides.presentations.pages.get", + "description": "Gets the latest version of the specified page in the presentation." + } + } + } + } + } + }, + "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": { + "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": { + "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": { + "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": { + "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" + }, + "fields": { + "type": "string", + "location": "query", + "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" + } + }, + "version": "v1", + "baseUrl": "https://slides.googleapis.com/", + "kind": "discovery#restDescription", + "description": "An API for creating and editing Google Slides presentations.", + "servicePath": "", + "basePath": "", + "id": "slides:v1", + "documentationLink": "https://developers.google.com/slides/", + "revision": "20170824", + "discoveryVersion": "v1", + "version_module": true } 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 3b33a4d..c0287fa 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 6f3564e..7909528 100644 --- a/vendor/google.golang.org/api/sourcerepo/v1/sourcerepo-api.json +++ b/vendor/google.golang.org/api/sourcerepo/v1/sourcerepo-api.json @@ -1,4 +1,24 @@ { + "canonicalName": "Cloud Source Repositories", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/source.read_only": { + "description": "View the contents of your source code repositories" + }, + "https://www.googleapis.com/auth/source.read_write": { + "description": "Manage the contents of your source code repositories" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "rootUrl": "https://sourcerepo.googleapis.com/", + "ownerDomain": "google.com", + "name": "sourcerepo", + "batchPath": "batch", "title": "Cloud Source Repositories API", "ownerName": "Google", "resources": { @@ -6,45 +26,15 @@ "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" ], + "response": { + "$ref": "Repo" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/source.read_only", @@ -58,13 +48,12 @@ "pattern": "^projects/[^/]+/repos/.+$", "location": "path" } - } + }, + "flatPath": "v1/projects/{projectsId}/repos/{reposId}", + "path": "v1/{+name}", + "id": "sourcerepo.projects.repos.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.", - "request": { - "$ref": "TestIamPermissionsRequest" - }, "response": { "$ref": "TestIamPermissionsResponse" }, @@ -72,25 +61,33 @@ "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" ], + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/repos/.+$", + "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}/repos/{reposId}:testIamPermissions", "id": "sourcerepo.projects.repos.testIamPermissions", - "path": "v1/{+resource}: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": { + "flatPath": "v1/projects/{projectsId}/repos/{reposId}", + "id": "sourcerepo.projects.repos.delete", + "path": "v1/{+name}", + "description": "Deletes a repo.", "response": { "$ref": "Empty" }, @@ -98,29 +95,22 @@ "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." + "parameters": { + "name": { + "location": "path", + "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/.+$" + } + } }, "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" @@ -129,6 +119,11 @@ "name" ], "httpMethod": "GET", + "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": { "pageToken": { "location": "query", @@ -143,53 +138,17 @@ "pattern": "^projects/[^/]+$" }, "pageSize": { + "location": "query", "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" + "type": "integer" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/source.read_only", - "https://www.googleapis.com/auth/source.read_write" - ] - }, - "create": { "flatPath": "v1/projects/{projectsId}/repos", - "id": "sourcerepo.projects.repos.create", - "path": "v1/{+parent}/repos", - "description": "Creates a repo in the given project with the given name.\n\nIf the named repository already exists, `CreateRepo` returns\n`ALREADY_EXISTS`.", - "request": { - "$ref": "Repo" - }, - "response": { - "$ref": "Repo" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "The project in which to create the repo. Values are of the form\n`projects/\u003cproject\u003e`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "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" - ] + "id": "sourcerepo.projects.repos.list", + "path": "v1/{+name}/repos" }, "setIamPolicy": { - "request": { - "$ref": "SetIamPolicyRequest" - }, - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", "httpMethod": "POST", "parameterOrder": [ "resource" @@ -204,16 +163,77 @@ ], "parameters": { "resource": { + "pattern": "^projects/[^/]+/repos/.+$", + "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/[^/]+/repos/.+$", - "location": "path" + "required": true } }, "flatPath": "v1/projects/{projectsId}/repos/{reposId}:setIamPolicy", "path": "v1/{+resource}:setIamPolicy", - "id": "sourcerepo.projects.repos.setIamPolicy" + "id": "sourcerepo.projects.repos.setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy." + }, + "create": { + "response": { + "$ref": "Repo" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "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": { + "parent": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The project in which to create the repo. Values are of the form\n`projects/\u003cproject\u003e`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/repos", + "id": "sourcerepo.projects.repos.create", + "path": "v1/{+parent}/repos", + "request": { + "$ref": "Repo" + }, + "description": "Creates a repo in the given project with the given name.\n\nIf the named repository already exists, `CreateRepo` returns\n`ALREADY_EXISTS`." + }, + "getIamPolicy": { + "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.", + "httpMethod": "GET", + "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/[^/]+/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" + ] } } } @@ -221,41 +241,31 @@ } }, "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" + "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" + "location": "query", + "description": "Pretty-print response." }, "oauth_token": { + "location": "query", "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" + "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" + "type": "string", + "location": "query" }, "prettyPrint": { "location": "query", @@ -269,9 +279,14 @@ "location": "query" }, "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" }, "$.xgafv": { "description": "V1 error format.", @@ -286,11 +301,6 @@ "2" ] }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" - }, "alt": { "description": "Data format for response.", "default": "json", @@ -306,238 +316,71 @@ "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": { + "type": "string", + "location": "query", + "description": "OAuth access token." } }, "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.", "basePath": "", - "id": "sourcerepo:v1", - "documentationLink": "https://cloud.google.com/source-repositories/docs/apis", "revision": "20170528", + "documentationLink": "https://cloud.google.com/source-repositories/docs/apis", + "id": "sourcerepo:v1", "discoveryVersion": "v1", "version_module": "True", "schemas": { - "MirrorConfig": { - "description": "Configuration to automatically mirror a repository from another\nhosting service, for example GitHub or BitBucket.", - "type": "object", - "properties": { - "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" - }, - "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 `{}`.", - "type": "object", - "properties": {}, - "id": "Empty" - }, - "Repo": { - "description": "A repository (or repo) is a Git repository storing versioned source content.", - "type": "object", - "properties": { - "mirrorConfig": { - "description": "How this repository mirrors a repository managed by another service.", - "$ref": "MirrorConfig" - }, - "url": { - "description": "URL to clone the repository from Google Cloud Source Repositories.", - "type": "string" - }, - "size": { - "format": "int64", - "description": "The disk usage of the repo, in bytes.\nOnly returned by GetRepo.", - "type": "string" - }, - "name": { - "description": "Resource name of the repository, of the form\n`projects/\u003cproject\u003e/repos/\u003crepo\u003e`. The repo name may contain slashes.\neg, `projects/myproject/repos/name/with/slash`", - "type": "string" - } - }, - "id": "Repo" - }, - "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" - }, - "ListReposResponse": { - "description": "Response for ListRepos. The size is not set in the returned repositories.", - "type": "object", - "properties": { - "repos": { - "description": "The listed repos.", - "items": { - "$ref": "Repo" - }, - "type": "array" - }, - "nextPageToken": { - "description": "If non-empty, additional repositories exist within the project. These\ncan be retrieved by including this value in the next ListReposRequest's\npage_token field.", - "type": "string" - } - }, - "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.", - "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" - }, "Rule": { "description": "A rule to be applied in a Policy.", "type": "object", "properties": { + "action": { + "enum": [ + "NO_ACTION", + "ALLOW", + "ALLOW_WITH_LOG", + "DENY", + "DENY_WITH_LOG", + "LOG" + ], + "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." + ] + }, + "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" + "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.", @@ -559,55 +402,28 @@ "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." + "description": "Data access options.", + "$ref": "DataAccessOptions" }, "cloudAudit": { - "$ref": "CloudAuditOptions", - "description": "Cloud audit options." + "description": "Cloud audit options.", + "$ref": "CloudAuditOptions" }, "counter": { - "$ref": "CounterOptions", - "description": "Counter options." + "description": "Counter options.", + "$ref": "CounterOptions" } }, - "id": "LogConfig" + "id": "LogConfig", + "description": "Specifies what kind of log the caller must write", + "type": "object" }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", @@ -627,16 +443,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.", @@ -657,18 +463,28 @@ "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.", - "type": "string" + "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": { + "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" } }, "id": "Policy" }, "DataAccessOptions": { + "id": "DataAccessOptions", "description": "Write a Data Access (Gin) log", "type": "object", - "properties": {}, - "id": "DataAccessOptions" + "properties": {} }, "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.", @@ -698,14 +514,14 @@ "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" - }, - "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" @@ -732,8 +548,6 @@ "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", @@ -747,32 +561,218 @@ "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" + }, + "MirrorConfig": { + "description": "Configuration to automatically mirror a repository from another\nhosting service, for example GitHub or BitBucket.", + "type": "object", + "properties": { + "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" + }, + "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" + } + }, + "id": "MirrorConfig" + }, + "Repo": { + "type": "object", + "properties": { + "size": { + "format": "int64", + "description": "The disk usage of the repo, in bytes.\nOnly returned by GetRepo.", + "type": "string" + }, + "name": { + "description": "Resource name of the repository, of the form\n`projects/\u003cproject\u003e/repos/\u003crepo\u003e`. The repo name may contain slashes.\neg, `projects/myproject/repos/name/with/slash`", + "type": "string" + }, + "mirrorConfig": { + "$ref": "MirrorConfig", + "description": "How this repository mirrors a repository managed by another service." + }, + "url": { + "description": "URL to clone the repository from Google Cloud Source Repositories.", + "type": "string" + } + }, + "id": "Repo", + "description": "A repository (or repo) is a Git repository storing versioned source content." + }, + "ListReposResponse": { + "description": "Response for ListRepos. The size is not set in the returned repositories.", + "type": "object", + "properties": { + "repos": { + "description": "The listed repos.", + "items": { + "$ref": "Repo" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If non-empty, additional repositories exist within the project. These\ncan be retrieved by including this value in the next ListReposRequest's\npage_token field.", + "type": "string" + } + }, + "id": "ListReposResponse" + }, + "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" + }, + "Condition": { + "description": "A condition to be met.", + "type": "object", + "properties": { + "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" + }, + "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": { + "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).\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." + } + }, + "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": { + "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" + ] + }, + "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" } }, + "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 Source Repositories", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/source.read_write": { - "description": "Manage the contents of your source code repositories" - }, - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - }, - "https://www.googleapis.com/auth/source.read_only": { - "description": "View the contents of your source code repositories" - } - } - } - }, - "rootUrl": "https://sourcerepo.googleapis.com/", - "ownerDomain": "google.com", - "name": "sourcerepo", - "batchPath": "batch" + } } 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 8951218..5d5dfaf 100644 --- a/vendor/google.golang.org/api/spanner/v1/spanner-api.json +++ b/vendor/google.golang.org/api/spanner/v1/spanner-api.json @@ -1,569 +1,1229 @@ { - "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" + "resources": { + "projects": { + "resources": { + "instanceConfigs": { + "methods": { + "get": { + "flatPath": "v1/projects/{projectsId}/instanceConfigs/{instanceConfigsId}", + "id": "spanner.projects.instanceConfigs.get", + "path": "v1/{+name}", + "description": "Gets information about a particular instance configuration.", + "response": { + "$ref": "InstanceConfig" + }, + "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 configuration. Values are of\nthe form `projects/\u003cproject\u003e/instanceConfigs/\u003cconfig\u003e`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instanceConfigs/[^/]+$", + "location": "path" + } + } }, - "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" - } - }, - "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": { - "description": "Properties of the object.", - "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 }" - } - }, - "id": "ResultSetStats" - }, - "TestIamPermissionsRequest": { - "description": "Request message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "REQUIRED: The set of permissions to check for 'resource'.\nPermissions with wildcards (such as '*', 'spanner.*', 'spanner.instances.*') are not allowed.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "TestIamPermissionsRequest" - }, - "CommitResponse": { - "description": "The response for Commit.", - "type": "object", - "properties": { - "commitTimestamp": { - "type": "string", - "format": "google-datetime", - "description": "The Cloud Spanner timestamp at which the transaction committed." - } - }, - "id": "CommitResponse" - }, - "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." - }, - "code": { - "type": "string", - "enumDescriptions": [ - "Not specified.", - "Encoded as JSON `true` or `false`.", - "Encoded as `string`, in decimal format.", - "Encoded as `number`, or the strings `\"NaN\"`, `\"Infinity\"`, or\n`\"-Infinity\"`.", - "Encoded as `string` in RFC 3339 timestamp format. The time zone\nmust be present, and must be `\"Z\"`.", - "Encoded as `string` in RFC 3339 date format.", - "Encoded as `string`.", - "Encoded as a base64-encoded `string`, as described in RFC 4648,\nsection 4.", - "Encoded as `list`, where the list elements are represented\naccording to array_element_type.", - "Encoded as `list`, where list element `i` is represented according\nto [struct_type.fields[i]][google.spanner.v1.StructType.fields]." - ], - "enum": [ - "TYPE_CODE_UNSPECIFIED", - "BOOL", - "INT64", - "FLOAT64", - "TIMESTAMP", - "DATE", - "STRING", - "BYTES", - "ARRAY", - "STRUCT" - ], - "description": "Required. The TypeCode for this type." - } - }, - "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" + "list": { + "description": "Lists the supported instance configurations for a given project.", + "response": { + "$ref": "ListInstanceConfigsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "parameters": { + "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" + }, + "parent": { + "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`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + }, + "pageToken": { + "description": "If non-empty, `page_token` should contain a\nnext_page_token\nfrom a previous ListInstanceConfigsResponse.", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instanceConfigs", + "id": "spanner.projects.instanceConfigs.list", + "path": "v1/{+parent}/instanceConfigs" + } } }, - "shortRepresentation": { - "$ref": "ShortRepresentation", - "description": "Condensed representation for SCALAR nodes." - } - }, - "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" + "instances": { + "methods": { + "getIamPolicy": { + "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.", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "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.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:getIamPolicy", + "id": "spanner.projects.instances.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy" + }, + "get": { + "description": "Gets information about a particular instance.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Instance" + }, + "parameters": { + "name": { + "location": "path", + "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/[^/]+$" + } + }, + "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.get" + }, + "patch": { + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}", + "path": "v1/{+name}", + "id": "spanner.projects.instances.patch", + "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.", + "httpMethod": "PATCH", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "parameters": { + "name": { + "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, + "pattern": "^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.", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "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", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "id": "spanner.projects.instances.testIamPermissions" + }, + "delete": { + "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.", + "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": "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, + "pattern": "^projects/[^/]+/instances/[^/]+$" + } + } + }, + "list": { + "flatPath": "v1/projects/{projectsId}/instances", + "id": "spanner.projects.instances.list", + "path": "v1/{+parent}/instances", + "description": "Lists all instances in the given project.", + "response": { + "$ref": "ListInstancesResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "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 * 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", + "location": "query" + }, + "pageToken": { + "description": "If non-empty, `page_token` should contain a\nnext_page_token from a\nprevious ListInstancesResponse.", + "type": "string", + "location": "query" + }, + "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": { + "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", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ] + }, + "setIamPolicy": { + "request": { + "$ref": "SetIamPolicyRequest" + }, + "description": "Sets the access control policy on an instance resource. Replaces any\nexisting policy.\n\nAuthorization requires `spanner.instances.setIamPolicy` on\nresource.", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "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 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/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "id": "spanner.projects.instances.setIamPolicy" + }, + "create": { + "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" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "parameters": { + "parent": { + "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, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "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" + } }, - "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" + "resources": { + "operations": { + "methods": { + "get": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "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.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/operations/[^/]+$" + } + }, + "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": { + "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": { + "description": "The standard list filter.", + "type": "string", + "location": "query" + }, + "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/[^/]+/instances/[^/]+/operations$" + }, + "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/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations", + "path": "v1/{+name}", + "id": "spanner.projects.instances.operations.list" + }, + "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": { + "location": "path", + "description": "The name of the operation resource to be cancelled.", + "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}:cancel", + "id": "spanner.projects.instances.operations.cancel", + "path": "v1/{+name}: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", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/operations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}", + "id": "spanner.projects.instances.operations.delete", + "path": "v1/{+name}" + } + } + }, + "databases": { + "methods": { + "list": { + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases", + "path": "v1/{+parent}/databases", + "id": "spanner.projects.instances.databases.list", + "description": "Lists Cloud Spanner databases.", + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "ListDatabasesResponse" + }, + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "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" + }, + "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", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+$" + }, + "pageToken": { + "location": "query", + "description": "If non-empty, `page_token` should contain a\nnext_page_token from a\nprevious ListDatabasesResponse.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ] + }, + "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 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, + "pattern": "^projects/[^/]+/instances/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases", + "id": "spanner.projects.instances.databases.create", + "path": "v1/{+parent}/databases", + "request": { + "$ref": "CreateDatabaseRequest" + }, + "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." + }, + "setIamPolicy": { + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}: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.", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "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, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ] + }, + "getIamPolicy": { + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "id": "spanner.projects.instances.databases.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.", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "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/[^/]+/databases/[^/]+$", + "location": "path" + } + } + }, + "get": { + "description": "Gets the state of a Cloud Spanner database.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Database" + }, + "parameters": { + "name": { + "description": "Required. The name of the requested database. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e`.", + "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}", + "path": "v1/{+name}", + "id": "spanner.projects.instances.databases.get" + }, + "dropDatabase": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "database" + ], + "httpMethod": "DELETE", + "parameters": { + "database": { + "location": "path", + "description": "Required. The database to be dropped.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$" + } + }, + "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.dropDatabase", + "path": "v1/{+database}", + "description": "Drops (aka deletes) a Cloud Spanner database." + }, + "updateDdl": { + "request": { + "$ref": "UpdateDatabaseDdlRequest" + }, + "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.", + "httpMethod": "PATCH", + "parameterOrder": [ + "database" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "parameters": { + "database": { + "location": "path", + "description": "Required. The database to update.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/ddl", + "path": "v1/{+database}/ddl", + "id": "spanner.projects.instances.databases.updateDdl" + }, + "testIamPermissions": { + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "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.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}: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" + } + }, + "getDdl": { + "httpMethod": "GET", + "parameterOrder": [ + "database" + ], + "response": { + "$ref": "GetDatabaseDdlResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "parameters": { + "database": { + "description": "Required. The database whose schema we wish to get.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", + "location": "path" + } + }, + "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." + } + }, + "resources": { + "sessions": { + "methods": { + "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", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ], + "parameters": { + "name": { + "description": "Required. The name of the session to retrieve.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}", + "id": "spanner.projects.instances.databases.sessions.get", + "path": "v1/{+name}" + }, + "executeStreamingSql": { + "response": { + "$ref": "PartialResultSet" + }, + "parameterOrder": [ + "session" + ], + "httpMethod": "POST", + "parameters": { + "session": { + "location": "path", + "description": "Required. The session in which the SQL query should be performed.", + "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}:executeStreamingSql", + "id": "spanner.projects.instances.databases.sessions.executeStreamingSql", + "path": "v1/{+session}: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" + } + }, + "delete": { + "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.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ], + "parameters": { + "name": { + "description": "Required. The name of the session to delete.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", + "location": "path" + } + } + }, + "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.", + "httpMethod": "POST", + "parameterOrder": [ + "session" + ], + "response": { + "$ref": "Transaction" + }, + "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.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:beginTransaction", + "path": "v1/{+session}:beginTransaction", + "id": "spanner.projects.instances.databases.sessions.beginTransaction" + }, + "commit": { + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:commit", + "path": "v1/{+session}:commit", + "id": "spanner.projects.instances.databases.sessions.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.", + "httpMethod": "POST", + "parameterOrder": [ + "session" + ], + "response": { + "$ref": "CommitResponse" + }, + "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 to be committed is running.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", + "location": "path" + } + } + }, + "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": { + "location": "path", + "description": "Required. The session in which the SQL query should be performed.", + "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}:executeSql", + "path": "v1/{+session}:executeSql", + "id": "spanner.projects.instances.databases.sessions.executeSql" + }, + "streamingRead": { + "response": { + "$ref": "PartialResultSet" + }, + "parameterOrder": [ + "session" + ], + "httpMethod": "POST", + "parameters": { + "session": { + "location": "path", + "description": "Required. The session in which the read should be performed.", + "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}:streamingRead", + "id": "spanner.projects.instances.databases.sessions.streamingRead", + "path": "v1/{+session}:streamingRead", + "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.", + "request": { + "$ref": "ReadRequest" + } + }, + "rollback": { + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:rollback", + "id": "spanner.projects.instances.databases.sessions.rollback", + "path": "v1/{+session}: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" + }, + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "session" + ], + "httpMethod": "POST", + "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" + ] + }, + "create": { + "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\"`.", + "httpMethod": "POST", + "response": { + "$ref": "Session" + }, + "parameterOrder": [ + "database" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ], + "parameters": { + "database": { + "description": "Required. The database in which the new session is created.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", + "location": "path" + } + }, + "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", + "request": { + "$ref": "ReadRequest" + }, + "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.", + "httpMethod": "POST", + "parameterOrder": [ + "session" + ], + "response": { + "$ref": "ResultSet" + }, + "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 read should be performed.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$" + } + } + } + } + }, + "operations": { + "methods": { + "cancel": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "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 cancelled.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/operations/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}: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": { + "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" + }, + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource to be deleted.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/operations/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}", + "path": "v1/{+name}", + "id": "spanner.projects.instances.databases.operations.delete" + }, + "get": { + "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.", + "httpMethod": "GET", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/operations/[^/]+$", + "location": "path" + } + } + }, + "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": { + "pageSize": { + "format": "int32", + "description": "The standard list page size.", + "type": "integer", + "location": "query" + }, + "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/[^/]+/instances/[^/]+/databases/[^/]+/operations$", + "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}/operations", + "path": "v1/{+name}", + "id": "spanner.projects.instances.databases.operations.list" + } + } + } + } + } + } } - }, - "id": "AuditConfig" + } + } + }, + "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": { + "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": { + "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": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + } + }, + "version": "v1", + "baseUrl": "https://spanner.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.", + "servicePath": "", + "basePath": "", + "revision": "20170726", + "documentationLink": "https://cloud.google.com/spanner/", + "id": "spanner:v1", + "discoveryVersion": "v1", + "version_module": "True", + "schemas": { "ChildLink": { "description": "Metadata associated with a parent-child relationship appearing in a\nPlanNode.", "type": "object", "properties": { + "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" + }, "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" @@ -572,10 +1232,6 @@ "format": "int32", "description": "The node to which the link points.", "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.", - "type": "string" } }, "id": "ChildLink" @@ -585,18 +1241,22 @@ "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\"" + ], + "enum": [ + "UNSPECIFIED_LOG_NAME", + "ADMIN_ACTIVITY", + "DATA_ACCESS" ] + }, + "authorizationLoggingOptions": { + "description": "Information used by the Cloud Audit Logging pipeline.", + "$ref": "AuthorizationLoggingOptions" } }, "id": "CloudAuditOptions" @@ -610,7 +1270,7 @@ "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.", + "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": { @@ -625,48 +1285,19 @@ "id": "Expr" }, "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" - } - }, - "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" + "keySet": { + "$ref": "KeySet", + "description": "Required. The primary keys of the rows within table to delete." } }, - "id": "ListInstanceConfigsResponse" - }, - "BeginTransactionRequest": { - "description": "The request for BeginTransaction.", - "type": "object", - "properties": { - "options": { - "$ref": "TransactionOptions", - "description": "Required. Options for the new transaction." - } - }, - "id": "BeginTransactionRequest" + "id": "Delete" }, "CommitRequest": { "description": "The request for Commit.", @@ -680,8 +1311,8 @@ "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" + "$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." }, "transactionId": { "format": "byte", @@ -691,6 +1322,41 @@ }, "id": "CommitRequest" }, + "BeginTransactionRequest": { + "description": "The request for BeginTransaction.", + "type": "object", + "properties": { + "options": { + "$ref": "TransactionOptions", + "description": "Required. Options for the new transaction." + } + }, + "id": "BeginTransactionRequest" + }, + "ListInstanceConfigsResponse": { + "description": "The response for ListInstanceConfigs.", + "type": "object", + "properties": { + "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.", + "items": { + "$ref": "InstanceConfig" + }, + "type": "array" + } + }, + "id": "ListInstanceConfigsResponse" + }, + "GetIamPolicyRequest": { + "description": "Request message for `GetIamPolicy` method.", + "type": "object", + "properties": {}, + "id": "GetIamPolicyRequest" + }, "TestIamPermissionsResponse": { "description": "Response message for `TestIamPermissions` method.", "type": "object", @@ -705,16 +1371,46 @@ }, "id": "TestIamPermissionsResponse" }, - "GetIamPolicyRequest": { - "description": "Request message for `GetIamPolicy` method.", + "CreateDatabaseMetadata": { + "description": "Metadata type for the operation returned by\nCreateDatabase.", "type": "object", - "properties": {}, - "id": "GetIamPolicyRequest" + "properties": { + "database": { + "description": "The database being created.", + "type": "string" + } + }, + "id": "CreateDatabaseMetadata" }, "Rule": { "description": "A rule to be applied in a Policy.", "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": { @@ -723,11 +1419,11 @@ "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", - "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." + "type": "array" }, "action": { "description": "Required", @@ -748,48 +1444,12 @@ "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": { - "type": "object", - "properties": { - "database": { - "description": "The database being created.", - "type": "string" - } - }, - "id": "CreateDatabaseMetadata", - "description": "Metadata type for the operation returned by\nCreateDatabase." - }, "LogConfig": { - "description": "Specifies what kind of log the caller must write", + "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": { @@ -797,49 +1457,45 @@ "$ref": "CounterOptions" }, "dataAccess": { - "$ref": "DataAccessOptions", - "description": "Data access options." + "description": "Data access options.", + "$ref": "DataAccessOptions" }, "cloudAudit": { - "$ref": "CloudAuditOptions", - "description": "Cloud audit options." + "description": "Cloud audit options.", + "$ref": "CloudAuditOptions" } }, "id": "LogConfig" }, "Session": { + "description": "A session in the Cloud Spanner API.", + "type": "object", "properties": { "name": { "description": "Required. The name of the session.", "type": "string" } }, - "id": "Session", - "description": "A session in the Cloud Spanner API.", - "type": "object" - }, - "ListInstancesResponse": { - "properties": { - "instances": { - "description": "The list of requested instances.", - "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": "Session" }, "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": { + "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": { + "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" + }, + "type": "array" + }, "endOpen": { "description": "If the end is open, then the range excludes rows whose first\n`len(end_open)` key columns exactly match `end_open`.", "items": { @@ -853,73 +1509,77 @@ "type": "any" }, "type": "array" - }, - "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`." } }, "id": "KeyRange" }, + "ListInstancesResponse": { + "description": "The response for ListInstances.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "`next_page_token` can be sent in a subsequent\nListInstances call to fetch more\nof the matching instances.", + "type": "string" + }, + "instances": { + "description": "The list of requested instances.", + "items": { + "$ref": "Instance" + }, + "type": "array" + } + }, + "id": "ListInstancesResponse" + }, "ShortRepresentation": { "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*`", - "type": "string" - }, "displayName": { "description": "The name of this instance configuration as it appears in UIs.", "type": "string" + }, + "name": { + "description": "A unique identifier for the instance configuration. Values\nare of the form\n`projects/\u003cproject\u003e/instanceConfigs/a-z*`", + "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." + "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.", + "type": "string" }, "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." } }, - "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 +1588,40 @@ "id": "Empty" }, "TransactionOptions": { - "properties": { - "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" - }, - "CreateDatabaseRequest": { "type": "object", "properties": { + "readOnly": { + "description": "Transaction will not write.\n\nAuthorization to begin a read-only transaction requires\n`spanner.databases.beginReadOnlyTransaction` permission\non the `session` resource.", + "$ref": "ReadOnly" + }, + "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." + } + }, + "id": "TransactionOptions" + }, + "CreateDatabaseRequest": { + "description": "The request for CreateDatabase.", + "type": "object", + "properties": { + "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" + }, "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.", "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,22 +1633,20 @@ "$ref": "Instance" } }, - "id": "CreateInstanceRequest", - "description": "The request for CreateInstance." + "id": "CreateInstanceRequest" }, "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": { - "enum": [ - "NO_ATTR", - "AUTHORITY", - "ATTRIBUTION", - "SECURITY_REALM", - "APPROVER", - "JUSTIFICATION_TYPE" - ], "description": "Trusted attributes supplied by the IAM system.", "type": "string", "enumDescriptions": [ @@ -997,16 +1656,19 @@ "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." + ], + "enum": [ + "NO_ATTR", + "AUTHORITY", + "ATTRIBUTION", + "SECURITY_REALM", + "APPROVER", + "JUSTIFICATION_TYPE" ] }, - "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.", @@ -1022,9 +1684,7 @@ "IN", "NOT_IN", "DISCHARGED" - ], - "description": "An operator to apply the subject with.", - "type": "string" + ] }, "svc": { "description": "Trusted attributes discharged by the service.", @@ -1067,6 +1727,12 @@ "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", @@ -1074,13 +1740,7 @@ "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" } }, "id": "AuditLogConfig" @@ -1089,20 +1749,6 @@ "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`.", @@ -1116,6 +1762,20 @@ "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.", "type": "string" + }, + "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" } }, "id": "ReadOnly" @@ -1139,8 +1799,8 @@ "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." + "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", @@ -1170,18 +1830,9 @@ "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" - }, "version": { "format": "int32", "description": "Version of the `Policy`. The default version is 0.", @@ -1205,14 +1856,29 @@ "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" } }, - "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": { + "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" + }, "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" @@ -1229,8 +1895,8 @@ "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" + "$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", @@ -1240,22 +1906,14 @@ "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." - }, "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.", "items": { @@ -1272,27 +1930,46 @@ "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" + "id": "Write" }, "DataAccessOptions": { + "description": "Write a Data Access (Gin) log", "type": "object", "properties": {}, - "id": "DataAccessOptions", - "description": "Write a Data Access (Gin) log" + "id": "DataAccessOptions" }, "ReadWrite": { - "properties": {}, - "id": "ReadWrite", "description": "Message type to initiate a read-write transaction. Currently this\ntransaction type has no options.", - "type": "object" + "type": "object", + "properties": {}, + "id": "ReadWrite" }, "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": { "$ref": "Status", "description": "The error result of the operation in case of failure or cancellation." @@ -1304,42 +1981,16 @@ }, "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" - }, - "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" } }, - "id": "Operation", - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call." + "id": "Operation" }, "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": { @@ -1348,16 +1999,23 @@ } }, "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" }, "ResultSet": { + "description": "Results from Read or\nExecuteSql.", + "type": "object", "properties": { - "metadata": { - "$ref": "ResultSetMetadata", - "description": "Metadata about the result set, such as row type information." - }, "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" @@ -1371,30 +2029,32 @@ "type": "array" }, "type": "array" + }, + "metadata": { + "description": "Metadata about the result set, such as row type information.", + "$ref": "ResultSetMetadata" } }, - "id": "ResultSet", - "description": "Results from Read or\nExecuteSql.", - "type": "object" + "id": "ResultSet" }, "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", - "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" }, "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" } }, "id": "Binding" @@ -1403,16 +2063,16 @@ "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" + }, + "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" } }, "id": "UpdateDatabaseDdlRequest" @@ -1442,11 +2102,596 @@ "type": "string" }, "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": { + "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" + }, + "UpdateInstanceMetadata": { + "description": "Metadata type for the operation returned by\nUpdateInstance.", + "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 UpdateInstance\nrequest was received.", + "type": "string" + }, + "instance": { + "$ref": "Instance", + "description": "The desired end state of the update." + } + }, + "id": "UpdateInstanceMetadata" + }, + "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 ]" + } + }, + "id": "ResultSetMetadata" + }, + "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": { + "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.", + "$ref": "TransactionOptions" + }, + "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": { + "format": "byte", + "description": "Execute the read or SQL query in a previously-started transaction.", + "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.", + "items": { + "$ref": "KeyRange" + }, + "type": "array" + }, + "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" + } + }, + "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": { + "delete": { + "$ref": "Delete", + "description": "Delete rows from a table. Succeeds whether or not the named\nrows were present." + }, + "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": { + "description": "Update existing rows in a table. If any of the rows does not\nalready exist, the transaction fails with error `NOT_FOUND`.", + "$ref": "Write" + }, + "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" + }, + "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.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "GetDatabaseDdlResponse" + }, + "Database": { + "description": "A Cloud Spanner database.", + "type": "object", + "properties": { + "state": { + "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." + ], + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY" + ] + }, + "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": { + "description": "An isolated set of Cloud Spanner resources on which databases can be hosted.", + "type": "object", + "properties": { + "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": { + "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" + }, + "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`.\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.", + "type": "integer" + } + }, + "id": "Instance" + }, + "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" + }, + "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.", + "items": { + "$ref": "Database" + }, + "type": "array" + } + }, + "id": "ListDatabasesResponse" + }, + "RollbackRequest": { + "description": "The request for Rollback.", + "type": "object", + "properties": { + "transactionId": { + "format": "byte", + "description": "Required. The transaction to roll back.", + "type": "string" + } + }, + "id": "RollbackRequest" + }, + "Transaction": { + "description": "A transaction.", + "type": "object", + "properties": { + "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": { + "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" + } + }, + "id": "Transaction" + }, + "UpdateDatabaseDdlMetadata": { + "description": "Metadata type for the operation returned by\nUpdateDatabaseDdl.", + "type": "object", + "properties": { + "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": { + "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]`.", + "items": { + "format": "google-datetime", + "type": "string" + }, + "type": "array" + }, + "database": { + "description": "The database being modified.", + "type": "string" + } + }, + "id": "UpdateDatabaseDdlMetadata" + }, + "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" + }, + "StructType": { + "description": "`StructType` defines the fields of a STRUCT type.", + "type": "object", + "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" + }, + "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" + }, + "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" + } + }, + "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": { + "additionalProperties": { + "description": "Properties of the object.", + "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 }", + "type": "object" + } + }, + "id": "ResultSetStats" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "REQUIRED: The set of permissions to check for 'resource'.\nPermissions with wildcards (such as '*', 'spanner.*', 'spanner.instances.*') are not allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsRequest" + }, + "AuthorizationLoggingOptions": { + "description": "Authorization-related information used by Cloud Audit Logging.", + "type": "object", + "properties": { + "permissionType": { + "description": "The type of the permission that was checked.", + "type": "string", + "enumDescriptions": [ + "Default. Should not be used.", + "A read of admin (meta) data.", + "A write of admin (meta) data.", + "A read of standard data.", + "A write of standard data." + ], + "enum": [ + "PERMISSION_TYPE_UNSPECIFIED", + "ADMIN_READ", + "ADMIN_WRITE", + "DATA_READ", + "DATA_WRITE" + ] + } + }, + "id": "AuthorizationLoggingOptions" + }, + "CommitResponse": { + "description": "The response for Commit.", + "type": "object", + "properties": { + "commitTimestamp": { + "format": "google-datetime", + "description": "The Cloud Spanner timestamp at which the transaction committed.", + "type": "string" + } + }, + "id": "CommitResponse" + }, + "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": { + "description": "If code == ARRAY, then `array_element_type`\nis the type of the array elements.", + "$ref": "Type" + }, + "code": { + "enumDescriptions": [ + "Not specified.", + "Encoded as JSON `true` or `false`.", + "Encoded as `string`, in decimal format.", + "Encoded as `number`, or the strings `\"NaN\"`, `\"Infinity\"`, or\n`\"-Infinity\"`.", + "Encoded as `string` in RFC 3339 timestamp format. The time zone\nmust be present, and must be `\"Z\"`.", + "Encoded as `string` in RFC 3339 date format.", + "Encoded as `string`.", + "Encoded as a base64-encoded `string`, as described in RFC 4648,\nsection 4.", + "Encoded as `list`, where the list elements are represented\naccording to array_element_type.", + "Encoded as `list`, where list element `i` is represented according\nto [struct_type.fields[i]][google.spanner.v1.StructType.fields]." + ], + "enum": [ + "TYPE_CODE_UNSPECIFIED", + "BOOL", + "INT64", + "FLOAT64", + "TIMESTAMP", + "DATE", + "STRING", + "BYTES", + "ARRAY", + "STRUCT" + ], + "description": "Required. The TypeCode for this type.", + "type": "string" + } + }, + "id": "Type" + }, + "PlanNode": { + "description": "Node information for nodes appearing in a QueryPlan.plan_nodes.", + "type": "object", + "properties": { + "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" + } + }, + "shortRepresentation": { + "description": "Condensed representation for SCALAR nodes.", + "$ref": "ShortRepresentation" + }, + "index": { + "format": "int32", + "description": "The `PlanNode`'s index in node list.", + "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.", + "items": { + "$ref": "ChildLink" + }, + "type": "array" + } + }, + "id": "PlanNode" + }, + "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" + }, + "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": { + "$ref": "Instance", + "description": "The instance being created." + } + }, + "id": "CreateInstanceMetadata" } }, "protocol": "rest", @@ -1458,14 +2703,14 @@ "auth": { "oauth2": { "scopes": { + "https://www.googleapis.com/auth/spanner.data": { + "description": "View and manage the contents of your Spanner databases" + }, "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.data": { - "description": "View and manage the contents of your Spanner databases" } } } @@ -1475,1221 +2720,5 @@ "name": "spanner", "batchPath": "batch", "title": "Cloud Spanner API", - "ownerName": "Google", - "resources": { - "projects": { - "resources": { - "instanceConfigs": { - "methods": { - "get": { - "response": { - "$ref": "InstanceConfig" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "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, - "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}", - "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": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "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", - "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": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "PATCH", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "parameters": { - "name": { - "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" - } - }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}", - "id": "spanner.projects.instances.get", - "path": "v1/{+name}", - "description": "Gets information about a particular instance." - }, - "testIamPermissions": { - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "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", - "required": true, - "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." - } - }, - "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.", - "response": { - "$ref": "GetDatabaseDdlResponse" - }, - "parameterOrder": [ - "database" - ], - "httpMethod": "GET", - "parameters": { - "database": { - "location": "path", - "description": "Required. The database whose schema we wish to get.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/ddl" - }, - "list": { - "description": "Lists Cloud Spanner databases.", - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "response": { - "$ref": "ListDatabasesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "If non-empty, `page_token` should contain a\nnext_page_token from a\nprevious ListDatabasesResponse.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "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" - }, - "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", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+$" - } - }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases", - "id": "spanner.projects.instances.databases.list", - "path": "v1/{+parent}/databases" - }, - "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.", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "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" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "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": { - "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/[^/]+/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" - } - }, - "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": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "type": "string", - "required": true, - "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", - "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", - "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, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/operations/[^/]+$", - "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}/operations/{operationsId}", - "id": "spanner.projects.instances.databases.operations.get", - "path": "v1/{+name}" - }, - "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": { - "type": "string", - "location": "query", - "description": "The standard list filter." - }, - "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/[^/]+/instances/[^/]+/databases/[^/]+/operations$", - "location": "path" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "The standard list page size.", - "type": "integer" - } - }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations", - "id": "spanner.projects.instances.databases.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": { - "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": { - "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" - }, - "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": { - "description": "JSONP", - "type": "string", - "location": "query" - }, - "$.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" - }, - "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." - } - }, - "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" + "ownerName": "Google" } 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 ffa9eb2..bf88a44 100644 --- a/vendor/google.golang.org/api/spanner/v1/spanner-gen.go +++ b/vendor/google.golang.org/api/spanner/v1/spanner-gen.go @@ -319,6 +319,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: + // "PERMISSION_TYPE_UNSPECIFIED" - Default. Should not be used. + // "ADMIN_READ" - A read of admin (meta) data. + // "ADMIN_WRITE" - A write of admin (meta) data. + // "DATA_READ" - A read of standard data. + // "DATA_WRITE" - A write of standard data. + 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) +} + // BeginTransactionRequest: The request for BeginTransaction. type BeginTransactionRequest struct { // Options: Required. Options for the new transaction. @@ -478,6 +515,10 @@ func (s *ChildLink) MarshalJSON() ([]byte, error) { // CloudAuditOptions: Write a Cloud Audit log type CloudAuditOptions 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: @@ -488,20 +529,22 @@ type CloudAuditOptions struct { // "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 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:"-"` } @@ -1097,7 +1140,7 @@ type Expr struct { Description string `json:"description,omitempty"` // Expression: Textual representation of an expression in - // [Common Expression Language](http://go/api-expr) syntax. + // Common Expression Language syntax. // // The application context of the containing message determines // which @@ -1278,7 +1321,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 @@ -1716,6 +1781,35 @@ func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { } // 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"` @@ -2866,9 +2960,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/speech/v1/speech-api.json b/vendor/google.golang.org/api/speech/v1/speech-api.json index 75c6d41..c851d4e 100644 --- a/vendor/google.golang.org/api/speech/v1/speech-api.json +++ b/vendor/google.golang.org/api/speech/v1/speech-api.json @@ -1,23 +1,366 @@ { + "ownerDomain": "google.com", + "name": "speech", + "batchPath": "batch", + "title": "Google Cloud Speech API", + "ownerName": "Google", + "resources": { + "operations": { + "methods": { + "cancel": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^[^/]+$", + "location": "path", + "description": "The name of the operation resource to be cancelled.", + "type": "string", + "required": true + } + }, + "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`." + }, + "delete": { + "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": "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`." + }, + "get": { + "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.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "name": { + "pattern": "^[^/]+$", + "location": "path", + "description": "The name of the operation resource.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/operations/{operationsId}" + }, + "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.", + "response": { + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [], + "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", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + } + }, + "flatPath": "v1/operations" + } + } + }, + "speech": { + "methods": { + "longrunningrecognize": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "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": [], + "response": { + "$ref": "RecognizeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "flatPath": "v1/speech:recognize", + "path": "v1/speech:recognize", + "id": "speech.speech.recognize", + "request": { + "$ref": "RecognizeRequest" + }, + "description": "Performs synchronous speech recognition: receive results after all audio\nhas been sent and processed." + } + } + } + }, + "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" + }, + "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": { + "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" + }, + "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" + } + }, + "version": "v1", + "baseUrl": "https://speech.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Converts audio to text by applying powerful neural network models.", + "servicePath": "", "basePath": "", - "revision": "20170624", + "revision": "20170822", "documentationLink": "https://cloud.google.com/speech/", "id": "speech:v1", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "RecognizeRequest": { + "description": "The top-level message sent by the client for the `Recognize` 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": "RecognizeRequest" + }, + "ListOperationsResponse": { + "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.", + "type": "object" + }, + "SpeechContext": { + "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).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "SpeechContext", + "description": "Provides \"hints\" to the speech recognizer to favor specific words and phrases\nin the results.", + "type": "object" + }, + "SpeechRecognitionAlternative": { + "properties": { + "confidence": { + "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" + }, + "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`).\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" + }, + "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": { - "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", + "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": { - "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)." + "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" @@ -26,13 +369,13 @@ "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." + }, + "config": { + "description": "*Required* Provides information to the recognizer that specifies how to\nprocess the request.", + "$ref": "RecognitionConfig" } }, "id": "LongRunningRecognizeRequest" @@ -41,10 +384,10 @@ "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", @@ -52,15 +395,12 @@ "type": "object" }, "CancelOperationRequest": { - "description": "The request message for Operations.CancelOperation.", - "type": "object", "properties": {}, - "id": "CancelOperationRequest" + "id": "CancelOperationRequest", + "description": "The request message for Operations.CancelOperation.", + "type": "object" }, "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.", @@ -79,48 +419,49 @@ "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.", + "type": "object" }, "RecognitionConfig": { - "description": "Provides information to the recognizer that specifies how to process the\nrequest.", - "type": "object", "properties": { - "sampleRateHertz": { - "type": "integer", - "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" + "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" + }, + "speechContexts": { + "description": "*Optional* A means to provide context to assist the speech recognition.", + "items": { + "$ref": "SpeechContext" + }, + "type": "array" + }, + "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" }, "encoding": { - "enumDescriptions": [ - "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.", - "Uncompressed 16-bit signed little-endian samples (Linear PCM).", - "[`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless Audio\nCodec) is the recommended encoding because it is\nlossless--therefore recognition is not compromised--and\nrequires only about half the bandwidth of `LINEAR16`. `FLAC` stream\nencoding supports 16-bit and 24-bit samples, however, not all fields in\n`STREAMINFO` are supported.", - "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", - "Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000.", - "Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000.", - "Opus encoded audio frames in Ogg container\n([OggOpus](https://wiki.xiph.org/OggOpus)).\n`sample_rate_hertz` must be 16000.", - "Although the use of lossy encodings is not recommended, if a very low\nbitrate encoding is required, `OGG_OPUS` is highly preferred over\nSpeex encoding. The [Speex](https://speex.org/) encoding supported by\nCloud Speech API has a header byte in each block, as in MIME type\n`audio/x-speex-with-header-byte`.\nIt is a variant of the RTP Speex encoding defined in\n[RFC 5574](https://tools.ietf.org/html/rfc5574).\nThe stream is a sequence of blocks, one block per RTP packet. Each block\nstarts with a byte containing the length of the block, in bytes, followed\nby one or more frames of Speex data, padded to an integral number of\nbytes (octets) as specified in RFC 5574. In other words, each RTP header\nis replaced with a single byte containing the block length. Only Speex\nwideband is supported. `sample_rate_hertz` must be 16000." - ], "enum": [ "ENCODING_UNSPECIFIED", "LINEAR16", @@ -132,137 +473,87 @@ "SPEEX_WITH_HEADER_BYTE" ], "description": "*Required* Encoding of audio data sent in all `RecognitionAudio` messages.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.", + "Uncompressed 16-bit signed little-endian samples (Linear PCM).", + "[`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless Audio\nCodec) is the recommended encoding because it is\nlossless--therefore recognition is not compromised--and\nrequires only about half the bandwidth of `LINEAR16`. `FLAC` stream\nencoding supports 16-bit and 24-bit samples, however, not all fields in\n`STREAMINFO` are supported.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", + "Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000.", + "Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000.", + "Opus encoded audio frames in Ogg container\n([OggOpus](https://wiki.xiph.org/OggOpus)).\n`sample_rate_hertz` must be 16000.", + "Although the use of lossy encodings is not recommended, if a very low\nbitrate encoding is required, `OGG_OPUS` is highly preferred over\nSpeex encoding. The [Speex](https://speex.org/) encoding supported by\nCloud Speech API has a header byte in each block, as in MIME type\n`audio/x-speex-with-header-byte`.\nIt is a variant of the RTP Speex encoding defined in\n[RFC 5574](https://tools.ietf.org/html/rfc5574).\nThe stream is a sequence of blocks, one block per RTP packet. Each block\nstarts with a byte containing the length of the block, in bytes, followed\nby one or more frames of Speex data, padded to an integral number of\nbytes (octets) as specified in RFC 5574. In other words, each RTP header\nis replaced with a single byte containing the block length. Only Speex\nwideband is supported. `sample_rate_hertz` must be 16000." + ] }, - "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", - "items": { - "$ref": "SpeechContext" - }, - "description": "*Optional* A means to provide context to assist the speech recognition." + "sampleRateHertz": { + "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" } }, - "id": "RecognitionConfig" + "id": "RecognitionConfig", + "description": "Provides information to the recognizer that specifies how to process the\nrequest.", + "type": "object" + }, + "WordInfo": { + "properties": { + "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", + "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" }, "Status": { - "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", + "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" } }, "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." + "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" }, "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" - }, - "RecognizeRequest": { - "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." - } - }, - "id": "RecognizeRequest", - "description": "The top-level message sent by the client for the `Recognize` method.", - "type": "object" - }, - "SpeechContext": { - "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" - } - } - }, - "id": "SpeechContext", - "description": "Provides \"hints\" to the speech recognizer to favor specific words and phrases\nin the results." - }, - "SpeechRecognitionAlternative": { - "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", - "type": "number" - }, - "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" - }, - "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" - } - }, - "id": "ListOperationsResponse" - }, - "SpeechRecognitionResult": { - "id": "SpeechRecognitionResult", - "description": "A speech recognition result corresponding to a portion of the audio.", - "type": "object", - "properties": { - "alternatives": { - "type": "array", - "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." - } - } } }, "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": "Speech", "auth": { @@ -274,264 +565,5 @@ } } }, - "rootUrl": "https://speech.googleapis.com/", - "ownerDomain": "google.com", - "name": "speech", - "batchPath": "batch", - "title": "Google Cloud Speech API", - "ownerName": "Google", - "resources": { - "operations": { - "methods": { - "cancel": { - "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": "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`." - }, - "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": [], - "response": { - "$ref": "ListOperationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "pageSize": { - "description": "The standard list page size.", - "format": "int32", - "type": "integer", - "location": "query" - }, - "filter": { - "description": "The standard list filter.", - "type": "string", - "location": "query" - }, - "name": { - "description": "The name of the operation's parent resource.", - "type": "string", - "location": "query" - }, - "pageToken": { - "location": "query", - "description": "The standard list page token.", - "type": "string" - } - }, - "flatPath": "v1/operations" - }, - "get": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "name": { - "pattern": "^[^/]+$", - "location": "path", - "description": "The name of the operation resource.", - "required": true, - "type": "string" - } - }, - "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." - } - } - }, - "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": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": {}, - "flatPath": "v1/speech:longrunningrecognize" - }, - "recognize": { - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "RecognizeResponse" - }, - "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." - } - } - } - }, - "parameters": { - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "type": "boolean", - "default": "true", - "location": "query" - }, - "fields": { - "type": "string", - "location": "query", - "description": "Selector specifying which fields to include in a partial response." - }, - "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": { - "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.", - "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" + "rootUrl": "https://speech.googleapis.com/" } 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 a7f5cd2..9ec1c92 100644 --- a/vendor/google.golang.org/api/speech/v1/speech-gen.go +++ b/vendor/google.golang.org/api/speech/v1/speech-gen.go @@ -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 22ae6c9..35a020d 100644 --- a/vendor/google.golang.org/api/speech/v1beta1/speech-api.json +++ b/vendor/google.golang.org/api/speech/v1beta1/speech-api.json @@ -1,43 +1,147 @@ { + "version": "v1beta1", + "baseUrl": "https://speech.googleapis.com/", + "kind": "discovery#restDescription", + "servicePath": "", + "description": "Converts audio to text by applying powerful neural network models.", + "basePath": "", + "id": "speech:v1beta1", + "documentationLink": "https://cloud.google.com/speech/", + "revision": "20170822", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "SyncRecognizeRequest": { + "description": "The top-level message sent by the client for the `SyncRecognize` method.", + "type": "object", + "properties": { + "audio": { + "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": "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.", + "items": { + "$ref": "SpeechRecognitionResult" + }, + "type": "array" + } + }, + "id": "SyncRecognizeResponse" + }, + "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" + }, + "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" + }, + "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).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "SpeechContext" + }, + "SpeechRecognitionAlternative": { + "description": "Alternative hypotheses (a.k.a. n-best list).", + "type": "object", + "properties": { + "confidence": { + "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": { + "description": "*Output-only* Transcript text representing the words that the user spoke.", + "type": "string" + } + }, + "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`).", - "type": "array", "items": { "$ref": "SpeechRecognitionAlternative" - } + }, + "type": "array" } }, "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", + "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": { @@ -47,29 +151,28 @@ }, "id": "RecognitionAudio" }, + "AsyncRecognizeRequest": { + "description": "The top-level message sent by the client for the `AsyncRecognize` method.", + "type": "object", + "properties": { + "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": "AsyncRecognizeRequest" + }, "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" + "$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.", @@ -78,6 +181,22 @@ "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.\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" } }, "id": "Operation" @@ -87,26 +206,20 @@ "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" }, - "speechContext": { - "$ref": "SpeechContext", - "description": "*Optional* A means to provide context to assist the speech recognition." - }, "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).\nThis is the only encoding that may be used by `AsyncRecognize`.", @@ -122,124 +235,20 @@ "MULAW", "AMR", "AMR_WB" - ] + ], + "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" + }, + "speechContext": { + "description": "*Optional* A means to provide context to assist the speech recognition.", + "$ref": "SpeechContext" } }, "id": "RecognitionConfig" - }, - "SyncRecognizeRequest": { - "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." - } - }, - "id": "SyncRecognizeRequest" - }, - "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" - } - } - }, - "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", - "properties": {}, - "id": "Empty" - }, - "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" - } - }, - "id": "ListOperationsResponse" - }, - "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" - } - } - }, - "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 even set, in\nany of the results.\nThe default of 0.0 is a sentinel value indicating `confidence` was not set.", - "format": "float", - "type": "number" - }, - "transcript": { - "description": "*Output-only* Transcript text representing the words that the user spoke.", - "type": "string" - } - }, - "id": "SpeechRecognitionAlternative" } }, "protocol": "rest", @@ -266,42 +275,55 @@ "resources": { "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.", - "httpMethod": "GET", - "parameterOrder": [], + "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": "ListOperationsResponse" + "$ref": "Empty" }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", "parameters": { - "pageSize": { - "location": "query", - "description": "The standard list page size.", - "format": "int32", - "type": "integer" - }, - "filter": { - "description": "The standard list filter.", - "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" + "location": "path", + "description": "The name of the operation resource to be cancelled.", + "type": "string", + "required": true, + "pattern": "^[^/]+$" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1beta1/operations", - "id": "speech.operations.list", - "path": "v1beta1/operations" + "flatPath": "v1beta1/operations/{operationsId}:cancel", + "id": "speech.operations.cancel", + "path": "v1beta1/operations/{+name}:cancel" + }, + "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`.", + "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.", + "type": "string", + "required": true, + "pattern": "^[^/]+$", + "location": "path" + } + } }, "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.", @@ -312,35 +334,11 @@ "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" } @@ -348,59 +346,74 @@ "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" - ], + "id": "speech.operations.get" + }, + "list": { + "flatPath": "v1beta1/operations", + "id": "speech.operations.list", + "path": "v1beta1/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": "Empty" + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "parameters": { + "filter": { + "description": "The standard list filter.", + "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" + }, + "pageSize": { + "format": "int32", + "description": "The standard list page size.", + "type": "integer", + "location": "query" + } }, "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": "^[^/]+$" - } - } + ] } } }, "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": {}, + "parameterOrder": [], + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], + "parameters": {}, "flatPath": "v1beta1/speech:asyncrecognize", "id": "speech.speech.asyncrecognize", - "path": "v1beta1/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" + }, "response": { "$ref": "SyncRecognizeResponse" }, @@ -411,28 +424,58 @@ "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." + "path": "v1beta1/speech:syncrecognize" } } } }, "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": { + "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" + }, + "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" }, - "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" @@ -441,9 +484,7 @@ "enum": [ "1", "2" - ], - "description": "V1 error format.", - "type": "string" + ] }, "callback": { "description": "JSONP", @@ -451,7 +492,6 @@ "location": "query" }, "alt": { - "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -464,7 +504,8 @@ "json", "media", "proto" - ] + ], + "type": "string" }, "access_token": { "description": "OAuth access token.", @@ -472,50 +513,9 @@ "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" - }, - "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.", - "type": "boolean", - "default": "true" } - }, - "version": "v1beta1", - "baseUrl": "https://speech.googleapis.com/", - "servicePath": "", - "kind": "discovery#restDescription", - "description": "Converts audio to text by applying powerful neural network models.", - "basePath": "", - "id": "speech:v1beta1", - "revision": "20170624", - "documentationLink": "https://cloud.google.com/speech/" + } } 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 c28dec1..941f437 100644 --- a/vendor/google.golang.org/api/speech/v1beta1/speech-gen.go +++ b/vendor/google.golang.org/api/speech/v1beta1/speech-gen.go @@ -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 991738e..11473da 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", @@ -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 4c704db..f54961b 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 b8fbc80..fea9a5a 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", @@ -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 e41bfa2..248cae0 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 b025cc9..5b7af41 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/tlgWHRfLf7fwkqtOCpLemeoORxg\"", "discoveryVersion": "v1", "id": "storage:v1", "name": "storage", "version": "v1", - "revision": "20170607", + "revision": "20170810", "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", @@ -990,7 +990,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." } } }, @@ -2176,7 +2176,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 +2535,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 +2615,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 +2639,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 +2738,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 +2802,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 +2930,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 +3129,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 +3258,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 +3282,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 +3489,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,7 +3662,7 @@ "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", 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 64860ab..05e618e 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"` @@ -6103,7 +6103,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 +7207,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 +7384,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 +7473,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 +7483,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 +7511,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 +7519,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 +7720,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 +7744,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 +7853,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 +7862,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 +7972,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 +8046,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 +8056,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 +8231,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" @@ -8500,7 +8510,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 +8519,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 @@ -8808,13 +8821,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 +9216,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 +9225,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 +9396,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 +9539,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 +9549,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 +9577,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 +9585,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 +9800,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 +9824,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 +10300,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 +10309,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 +10496,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,7 +10840,8 @@ 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 @@ -10920,7 +10942,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": [ 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 ccc204a..ad3f0e7 100644 --- a/vendor/google.golang.org/api/storagetransfer/v1/storagetransfer-api.json +++ b/vendor/google.golang.org/api/storagetransfer/v1/storagetransfer-api.json @@ -1,29 +1,13 @@ { - "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", + "revision": "20170824", "documentationLink": "https://cloud.google.com/storage/transfer", - "revision": "20170623", + "id": "storagetransfer:v1", "title": "Google Storage Transfer API", - "ownerName": "Google", "discoveryVersion": "v1", - "version_module": "True", + "ownerName": "Google", + "version_module": true, "resources": { "googleServiceAccounts": { "methods": { @@ -31,19 +15,19 @@ "response": { "$ref": "GoogleServiceAccount" }, + "httpMethod": "GET", "parameterOrder": [ "projectId" ], - "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { "projectId": { + "location": "path", "description": "The ID of the Google Cloud Platform Console project that the Google service\naccount is associated with.\nRequired.", "type": "string", - "required": true, - "location": "path" + "required": true } }, "flatPath": "v1/googleServiceAccounts/{projectId}", @@ -55,45 +39,71 @@ }, "transferOperations": { "methods": { - "pause": { - "description": "Pauses a transfer operation.", - "request": { - "$ref": "PauseTransferOperationRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], + "resume": { "response": { "$ref": "Empty" }, - "parameters": { - "name": { - "description": "The name of the transfer operation.\nRequired.", - "type": "string", - "required": true, - "pattern": "^transferOperations/.+$", - "location": "path" - } - }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1/transferOperations/{transferOperationsId}:pause", - "path": "v1/{+name}:pause", - "id": "storagetransfer.transferOperations.pause" + "parameters": { + "name": { + "pattern": "^transferOperations/.+$", + "location": "path", + "description": "The name of the transfer operation.\nRequired.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/transferOperations/{transferOperationsId}:resume", + "id": "storagetransfer.transferOperations.resume", + "path": "v1/{+name}:resume", + "request": { + "$ref": "ResumeTransferOperationRequest" + }, + "description": "Resumes a transfer operation that is paused." }, - "delete": { + "cancel": { "response": { "$ref": "Empty" }, "parameterOrder": [ "name" ], - "httpMethod": "DELETE", + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "name": { - "description": "The name of the operation resource to be deleted.", + "location": "path", + "description": "The name of the operation resource to be cancelled.", + "type": "string", + "required": true, + "pattern": "^transferOperations/.+$" + } + }, + "flatPath": "v1/transferOperations/{transferOperationsId}:cancel", + "id": "storagetransfer.transferOperations.cancel", + "path": "v1/{+name}:cancel", + "description": "Cancels a transfer. Use the get method to check whether the cancellation succeeded or whether the operation completed despite cancellation." + }, + "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" + }, + "parameters": { + "name": { + "description": "The name of the operation resource.", "type": "string", "required": true, "pattern": "^transferOperations/.+$", @@ -104,133 +114,197 @@ "https://www.googleapis.com/auth/cloud-platform" ], "flatPath": "v1/transferOperations/{transferOperationsId}", - "id": "storagetransfer.transferOperations.delete", "path": "v1/{+name}", - "description": "This method is not supported and the server returns `UNIMPLEMENTED`." + "id": "storagetransfer.transferOperations.get" }, - "list": { - "httpMethod": "GET", + "pause": { "response": { - "$ref": "ListOperationsResponse" + "$ref": "Empty" }, "parameterOrder": [ "name" ], + "httpMethod": "POST", + "parameters": { + "name": { + "pattern": "^transferOperations/.+$", + "location": "path", + "description": "The name of the transfer operation.\nRequired.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/transferOperations/{transferOperationsId}:pause", + "id": "storagetransfer.transferOperations.pause", + "path": "v1/{+name}:pause", + "description": "Pauses a transfer operation.", + "request": { + "$ref": "PauseTransferOperationRequest" + } + }, + "delete": { + "description": "This method is not supported and the server returns `UNIMPLEMENTED`.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", "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}", + "id": "storagetransfer.transferOperations.delete", + "path": "v1/{+name}" + }, + "list": { + "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.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ListOperationsResponse" + }, + "parameters": { + "pageToken": { + "location": "query", + "description": "The list page token.", + "type": "string" + }, + "name": { + "type": "string", + "required": true, + "pattern": "^transferOperations$", + "location": "path", + "description": "The value `transferOperations`." + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The list page size. The max allowed value is 256.", + "type": "integer" + }, "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.", "type": "string", "location": "query" - }, + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "transferJobs": { + "methods": { + "list": { + "response": { + "$ref": "ListTransferJobsResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { "pageToken": { + "location": "query", "description": "The list page token.", - "type": "string", - "location": "query" - }, - "name": { - "description": "The value `transferOperations`.", - "type": "string", - "required": true, - "pattern": "^transferOperations$", - "location": "path" + "type": "string" }, "pageSize": { "format": "int32", "description": "The list page size. The max allowed value is 256.", "type": "integer", "location": "query" + }, + "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" } }, - "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" + "flatPath": "v1/transferJobs", + "id": "storagetransfer.transferJobs.list", + "path": "v1/transferJobs", + "description": "Lists transfer jobs." }, "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.", + "description": "Gets a transfer job.", + "httpMethod": "GET", "response": { - "$ref": "Operation" + "$ref": "TransferJob" }, "parameterOrder": [ - "name" + "jobName" ], - "httpMethod": "GET", + "parameters": { + "projectId": { + "location": "query", + "description": "The ID of the Google Cloud Platform Console project that owns the job.\nRequired.", + "type": "string" + }, + "jobName": { + "pattern": "^transferJobs/.+$", + "location": "path", + "description": "The job to get.\nRequired.", + "type": "string", + "required": true + } + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], + "flatPath": "v1/transferJobs/{transferJobsId}", + "path": "v1/{+jobName}", + "id": "storagetransfer.transferJobs.get" + }, + "patch": { + "path": "v1/{+jobName}", + "id": "storagetransfer.transferJobs.patch", + "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" + }, + "httpMethod": "PATCH", + "parameterOrder": [ + "jobName" + ], + "response": { + "$ref": "TransferJob" + }, "parameters": { - "name": { + "jobName": { + "pattern": "^transferJobs/.+$", "location": "path", - "description": "The name of the operation resource.", + "description": "The name of job to update.\nRequired.", "type": "string", - "required": true, - "pattern": "^transferOperations/.+$" + "required": true } }, - "flatPath": "v1/transferOperations/{transferOperationsId}" - } - } - }, - "transferJobs": { - "methods": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/transferJobs/{transferJobsId}" + }, "create": { "response": { "$ref": "TransferJob" @@ -248,136 +322,25 @@ "request": { "$ref": "TransferJob" } - }, - "list": { - "flatPath": "v1/transferJobs", - "path": "v1/transferJobs", - "id": "storagetransfer.transferJobs.list", - "description": "Lists transfer jobs.", - "httpMethod": "GET", - "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" - ] - }, - "get": { - "description": "Gets a transfer job.", - "response": { - "$ref": "TransferJob" - }, - "parameterOrder": [ - "jobName" - ], - "httpMethod": "GET", - "parameters": { - "projectId": { - "description": "The ID of the Google Cloud Platform Console project that owns the job.\nRequired.", - "type": "string", - "location": "query" - }, - "jobName": { - "description": "The job to get.\nRequired.", - "type": "string", - "required": true, - "pattern": "^transferJobs/.+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/transferJobs/{transferJobsId}", - "id": "storagetransfer.transferJobs.get", - "path": "v1/{+jobName}" - }, - "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" - }, - "parameterOrder": [ - "jobName" - ], - "httpMethod": "PATCH", - "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}" } } } }, "parameters": { - "key": { + "bearer_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.", - "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" + "description": "OAuth bearer token." }, "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "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" + "type": "string", + "location": "query" }, "prettyPrint": { "description": "Returns response with indentations and line breaks.", @@ -386,40 +349,34 @@ "location": "query" }, "fields": { + "location": "query", "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" + "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": { + "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": { - "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": [ @@ -427,374 +384,39 @@ "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" + }, + "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" } }, "schemas": { - "PauseTransferOperationRequest": { - "description": "Request passed to PauseTransferOperation.", - "type": "object", - "properties": {}, - "id": "PauseTransferOperationRequest" - }, - "TransferCounters": { - "description": "A collection of counters that report the progress of a transfer operation.", - "type": "object", - "properties": { - "bytesDeletedFromSource": { - "format": "int64", - "description": "Bytes that are deleted from the data source.", - "type": "string" - }, - "objectsFoundFromSource": { - "format": "int64", - "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", - "format": "int64", - "description": "Objects that failed to be deleted from the data sink." - }, - "objectsFoundOnlyFromSink": { - "format": "int64", - "description": "Objects found only in the data sink that are scheduled to be deleted.", - "type": "string" - }, - "objectsDeletedFromSink": { - "format": "int64", - "description": "Objects that are deleted from the data sink.", - "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" - }, - "bytesFromSourceFailed": { - "format": "int64", - "description": "Bytes in the data source that failed during the transfer.", - "type": "string" - }, - "objectsCopiedToSink": { - "format": "int64", - "description": "Objects that are copied to the data sink.", - "type": "string" - }, - "objectsFromSourceFailed": { - "type": "string", - "format": "int64", - "description": "Objects in the data source that failed during the transfer." - }, - "bytesFoundOnlyFromSink": { - "format": "int64", - "description": "Bytes found only in the data sink that are scheduled to be deleted.", - "type": "string" - }, - "objectsDeletedFromSource": { - "format": "int64", - "description": "Objects that are deleted from the data source.", - "type": "string" - }, - "bytesCopiedToSink": { - "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": { - "errorCode": { - "enumDescriptions": [ - "Not an error; returned on success\n\nHTTP Mapping: 200 OK", - "The operation was cancelled, typically by the caller.\n\nHTTP Mapping: 499 Client Closed Request", - "Unknown error. For example, this error may be returned when\na `Status` value received from another address space belongs to\nan error space that is not known in this address space. Also\nerrors raised by APIs that do not return enough error information\nmay be converted to this error.\n\nHTTP Mapping: 500 Internal Server Error", - "The client specified an invalid argument. Note that this differs\nfrom `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments\nthat are problematic regardless of the state of the system\n(e.g., a malformed file name).\n\nHTTP Mapping: 400 Bad Request", - "The deadline expired before the operation could complete. For operations\nthat change the state of the system, this error may be returned\neven if the operation has completed successfully. For example, a\nsuccessful response from a server could have been delayed long\nenough for the deadline to expire.\n\nHTTP Mapping: 504 Gateway Timeout", - "Some requested entity (e.g., file or directory) was not found.\n\nNote to server developers: if a request is denied for an entire class\nof users, such as gradual feature rollout or undocumented whitelist,\n`NOT_FOUND` may be used. If a request is denied for some users within\na class of users, such as user-based access control, `PERMISSION_DENIED`\nmust be used.\n\nHTTP Mapping: 404 Not Found", - "The entity that a client attempted to create (e.g., file or directory)\nalready exists.\n\nHTTP Mapping: 409 Conflict", - "The caller does not have permission to execute the specified\noperation. `PERMISSION_DENIED` must not be used for rejections\ncaused by exhausting some resource (use `RESOURCE_EXHAUSTED`\ninstead for those errors). `PERMISSION_DENIED` must not be\nused if the caller can not be identified (use `UNAUTHENTICATED`\ninstead for those errors). This error code does not imply the\nrequest is valid or the requested entity exists or satisfies\nother pre-conditions.\n\nHTTP Mapping: 403 Forbidden", - "The request does not have valid authentication credentials for the\noperation.\n\nHTTP Mapping: 401 Unauthorized", - "Some resource has been exhausted, perhaps a per-user quota, or\nperhaps the entire file system is out of space.\n\nHTTP Mapping: 429 Too Many Requests", - "The operation was rejected because the system is not in a state\nrequired for the operation's execution. For example, the directory\nto be deleted is non-empty, an rmdir operation is applied to\na non-directory, etc.\n\nService implementors can use the following guidelines to decide\nbetween `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:\n (a) Use `UNAVAILABLE` if the client can retry just the failing call.\n (b) Use `ABORTED` if the client should retry at a higher level\n (e.g., when a client-specified test-and-set fails, indicating the\n client should restart a read-modify-write sequence).\n (c) Use `FAILED_PRECONDITION` if the client should not retry until\n the system state has been explicitly fixed. E.g., if an \"rmdir\"\n fails because the directory is non-empty, `FAILED_PRECONDITION`\n should be returned since the client should not retry unless\n the files are deleted from the directory.\n\nHTTP Mapping: 400 Bad Request", - "The operation was aborted, typically due to a concurrency issue such as\na sequencer check failure or transaction abort.\n\nSee the guidelines above for deciding between `FAILED_PRECONDITION`,\n`ABORTED`, and `UNAVAILABLE`.\n\nHTTP Mapping: 409 Conflict", - "The operation was attempted past the valid range. E.g., seeking or\nreading past end-of-file.\n\nUnlike `INVALID_ARGUMENT`, this error indicates a problem that may\nbe fixed if the system state changes. For example, a 32-bit file\nsystem will generate `INVALID_ARGUMENT` if asked to read at an\noffset that is not in the range [0,2^32-1], but it will generate\n`OUT_OF_RANGE` if asked to read from an offset past the current\nfile size.\n\nThere is a fair bit of overlap between `FAILED_PRECONDITION` and\n`OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific\nerror) when it applies so that callers who are iterating through\na space can easily look for an `OUT_OF_RANGE` error to detect when\nthey are done.\n\nHTTP Mapping: 400 Bad Request", - "The operation is not implemented or is not supported/enabled in this\nservice.\n\nHTTP Mapping: 501 Not Implemented", - "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" - ], - "description": "Required.", - "type": "string" - }, - "errorCount": { - "type": "string", - "format": "int64", - "description": "Count of this type of error.\nRequired." - }, - "errorLogEntries": { - "description": "Error samples.", - "items": { - "$ref": "ErrorLogEntry" - }, - "type": "array" - } - } - }, - "HttpData": { - "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." - } - }, - "id": "GcsData" - }, - "ListTransferJobsResponse": { - "description": "Response from ListTransferJobs.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "The list next page token.", - "type": "string" - }, - "transferJobs": { - "items": { - "$ref": "TransferJob" - }, - "type": "array", - "description": "A list of transfer jobs." - } - }, - "id": "ListTransferJobsResponse" - }, - "UpdateTransferJobRequest": { - "properties": { - "projectId": { - "description": "The ID of the Google Cloud Platform Console project that owns the job.\nRequired.", - "type": "string" - }, - "updateTransferJobFieldMask": { - "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": { - "description": "Conditions that determine which objects will be transferred.", - "type": "object", - "properties": { - "excludePrefixes": { - "description": "`excludePrefixes` must follow the requirements described for\n`includePrefixes`.\n\nThe max size of `excludePrefixes` is 1000.", - "items": { - "type": "string" - }, - "type": "array" - }, - "minTimeElapsedSinceLastModification": { - "format": "google-duration", - "description": "If unspecified, `minTimeElapsedSinceLastModification` takes a zero value\nand `maxTimeElapsedSinceLastModification` takes the maximum possible\nvalue of Duration. Objects that satisfy the object conditions\nmust either have a `lastModificationTime` greater or equal to\n`NOW` - `maxTimeElapsedSinceLastModification` and less than\n`NOW` - `minTimeElapsedSinceLastModification`, or not have a\n`lastModificationTime`.", - "type": "string" - }, - "maxTimeElapsedSinceLastModification": { - "type": "string", - "format": "google-duration", - "description": "`maxTimeElapsedSinceLastModification` is the complement to\n`minTimeElapsedSinceLastModification`." - }, - "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.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "ObjectConditions" - }, - "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.", - "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 originally returns it. If you use the default HTTP mapping, the `name` should have the format of `transferOperations/some/unique/name`.", - "type": "string" - }, - "error": { - "$ref": "Status", - "description": "The error result of the operation in case of failure or cancellation." - } - }, - "id": "Operation" - }, - "TransferOptions": { - "description": "TransferOptions uses three boolean parameters to define the actions\nto be performed on objects in a transfer.", - "type": "object", - "properties": { - "deleteObjectsFromSourceAfterTransfer": { - "description": "Whether objects should be deleted from the source after they are\ntransferred to the sink. Note that this option and\n`deleteObjectsUniqueInSink` are mutually exclusive.", - "type": "boolean" - }, - "deleteObjectsUniqueInSink": { - "description": "Whether objects that exist only in the sink should be deleted. Note that\nthis option and `deleteObjectsFromSourceAfterTransfer` are mutually\nexclusive.", - "type": "boolean" - }, - "overwriteObjectsAlreadyExistingInSink": { - "description": "Whether overwriting objects that already exist in the sink is allowed.", - "type": "boolean" - } - }, - "id": "TransferOptions" - }, - "TransferSpec": { - "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." - }, - "gcsDataSource": { - "description": "A Google Cloud Storage data source.", - "$ref": "GcsData" - }, - "transferOptions": { - "$ref": "TransferOptions", - "description": "If the option `deleteObjectsUniqueInSink` is `true`, object conditions\nbased on objects' `lastModificationTime` are ignored and do not exclude\nobjects in a data source or a data sink." - }, - "awsS3DataSource": { - "description": "An AWS S3 data source.", - "$ref": "AwsS3Data" - } - }, - "id": "TransferSpec" - }, - "ResumeTransferOperationRequest": { - "id": "ResumeTransferOperationRequest", - "description": "Request passed to ResumeTransferOperation.", - "type": "object", - "properties": {} - }, - "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": { - "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.", - "items": { - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, - "type": "array" - } - } - }, "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", "type": "object", "properties": { "nextPageToken": { @@ -809,8 +431,7 @@ "type": "array" } }, - "id": "ListOperationsResponse", - "description": "The response message for Operations.ListOperations." + "id": "ListOperationsResponse" }, "GoogleServiceAccount": { "description": "Google service account", @@ -824,6 +445,8 @@ "id": "GoogleServiceAccount" }, "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", @@ -831,9 +454,9 @@ "type": "integer" }, "hours": { + "type": "integer", "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" + "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." }, "nanos": { "format": "int32", @@ -846,12 +469,9 @@ "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" + "id": "TimeOfDay" }, "ErrorLogEntry": { - "id": "ErrorLogEntry", "description": "An entry describing an error that has occurred.", "type": "object", "properties": { @@ -866,10 +486,10 @@ "description": "A URL that refers to the target (a data source, a data sink,\nor an object) with which the error is associated.\nRequired.", "type": "string" } - } + }, + "id": "ErrorLogEntry" }, "TransferJob": { - "id": "TransferJob", "description": "This resource represents the configuration of a transfer job that runs\nperiodically.", "type": "object", "properties": { @@ -921,15 +541,20 @@ "type": "string" }, "projectId": { - "type": "string", - "description": "The ID of the Google Cloud Platform Console project that owns the job.\nRequired." + "description": "The ID of the Google Cloud Platform Console project that owns the job.\nRequired.", + "type": "string" } - } + }, + "id": "TransferJob" }, "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": { "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" @@ -937,10 +562,6 @@ "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" @@ -950,9 +571,9 @@ "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." + "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", @@ -971,9 +592,13 @@ "description": "A description of the execution of a transfer.", "type": "object", "properties": { + "transferJobName": { + "description": "The name of the transfer job that triggers this transfer operation.", + "type": "string" + }, "transferSpec": { - "description": "Transfer specification.\nRequired.", - "$ref": "TransferSpec" + "$ref": "TransferSpec", + "description": "Transfer specification.\nRequired." }, "counters": { "$ref": "TransferCounters", @@ -1023,10 +648,6 @@ "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" @@ -1040,13 +661,16 @@ "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" + "$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." } }, "id": "AwsS3Data" }, "AwsAccessKey": { + "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", "properties": { "accessKeyId": { "description": "AWS access key ID.\nRequired.", @@ -1056,16 +680,376 @@ "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" + }, + "PauseTransferOperationRequest": { + "id": "PauseTransferOperationRequest", + "description": "Request passed to PauseTransferOperation.", + "type": "object", + "properties": {} + }, + "TransferCounters": { + "properties": { + "bytesFromSourceFailed": { + "format": "int64", + "description": "Bytes in the data source that failed during the transfer.", + "type": "string" + }, + "objectsFromSourceFailed": { + "type": "string", + "format": "int64", + "description": "Objects in the data source that failed during the transfer." + }, + "objectsCopiedToSink": { + "format": "int64", + "description": "Objects that are copied to the data sink.", + "type": "string" + }, + "bytesFoundOnlyFromSink": { + "format": "int64", + "description": "Bytes found only in the data sink that are scheduled to be deleted.", + "type": "string" + }, + "objectsDeletedFromSource": { + "format": "int64", + "description": "Objects that are deleted from the data source.", + "type": "string" + }, + "bytesCopiedToSink": { + "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": { + "format": "int64", + "description": "Objects in the data source that are not transferred because they already\nexist in the data sink.", + "type": "string" + }, + "objectsFoundFromSource": { + "format": "int64", + "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" + }, + "bytesDeletedFromSource": { + "format": "int64", + "description": "Bytes that are deleted from the data source.", + "type": "string" + }, + "objectsFailedToDeleteFromSink": { + "type": "string", + "format": "int64", + "description": "Objects that failed to be deleted from the data sink." + }, + "objectsDeletedFromSink": { + "format": "int64", + "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": { + "type": "string", + "format": "int64", + "description": "Bytes in the data source that are not transferred because they already\nexist in the data sink." + }, + "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" + } + }, + "id": "TransferCounters", + "description": "A collection of counters that report the progress of a transfer operation.", + "type": "object" + }, + "ErrorSummary": { + "id": "ErrorSummary", + "description": "A summary of errors by error code, plus a count and sample error log\nentries.", + "type": "object", + "properties": { + "errorLogEntries": { + "description": "Error samples.", + "items": { + "$ref": "ErrorLogEntry" + }, + "type": "array" + }, + "errorCode": { + "description": "Required.", + "type": "string", + "enumDescriptions": [ + "Not an error; returned on success\n\nHTTP Mapping: 200 OK", + "The operation was cancelled, typically by the caller.\n\nHTTP Mapping: 499 Client Closed Request", + "Unknown error. For example, this error may be returned when\na `Status` value received from another address space belongs to\nan error space that is not known in this address space. Also\nerrors raised by APIs that do not return enough error information\nmay be converted to this error.\n\nHTTP Mapping: 500 Internal Server Error", + "The client specified an invalid argument. Note that this differs\nfrom `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments\nthat are problematic regardless of the state of the system\n(e.g., a malformed file name).\n\nHTTP Mapping: 400 Bad Request", + "The deadline expired before the operation could complete. For operations\nthat change the state of the system, this error may be returned\neven if the operation has completed successfully. For example, a\nsuccessful response from a server could have been delayed long\nenough for the deadline to expire.\n\nHTTP Mapping: 504 Gateway Timeout", + "Some requested entity (e.g., file or directory) was not found.\n\nNote to server developers: if a request is denied for an entire class\nof users, such as gradual feature rollout or undocumented whitelist,\n`NOT_FOUND` may be used. If a request is denied for some users within\na class of users, such as user-based access control, `PERMISSION_DENIED`\nmust be used.\n\nHTTP Mapping: 404 Not Found", + "The entity that a client attempted to create (e.g., file or directory)\nalready exists.\n\nHTTP Mapping: 409 Conflict", + "The caller does not have permission to execute the specified\noperation. `PERMISSION_DENIED` must not be used for rejections\ncaused by exhausting some resource (use `RESOURCE_EXHAUSTED`\ninstead for those errors). `PERMISSION_DENIED` must not be\nused if the caller can not be identified (use `UNAUTHENTICATED`\ninstead for those errors). This error code does not imply the\nrequest is valid or the requested entity exists or satisfies\nother pre-conditions.\n\nHTTP Mapping: 403 Forbidden", + "The request does not have valid authentication credentials for the\noperation.\n\nHTTP Mapping: 401 Unauthorized", + "Some resource has been exhausted, perhaps a per-user quota, or\nperhaps the entire file system is out of space.\n\nHTTP Mapping: 429 Too Many Requests", + "The operation was rejected because the system is not in a state\nrequired for the operation's execution. For example, the directory\nto be deleted is non-empty, an rmdir operation is applied to\na non-directory, etc.\n\nService implementors can use the following guidelines to decide\nbetween `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:\n (a) Use `UNAVAILABLE` if the client can retry just the failing call.\n (b) Use `ABORTED` if the client should retry at a higher level\n (e.g., when a client-specified test-and-set fails, indicating the\n client should restart a read-modify-write sequence).\n (c) Use `FAILED_PRECONDITION` if the client should not retry until\n the system state has been explicitly fixed. E.g., if an \"rmdir\"\n fails because the directory is non-empty, `FAILED_PRECONDITION`\n should be returned since the client should not retry unless\n the files are deleted from the directory.\n\nHTTP Mapping: 400 Bad Request", + "The operation was aborted, typically due to a concurrency issue such as\na sequencer check failure or transaction abort.\n\nSee the guidelines above for deciding between `FAILED_PRECONDITION`,\n`ABORTED`, and `UNAVAILABLE`.\n\nHTTP Mapping: 409 Conflict", + "The operation was attempted past the valid range. E.g., seeking or\nreading past end-of-file.\n\nUnlike `INVALID_ARGUMENT`, this error indicates a problem that may\nbe fixed if the system state changes. For example, a 32-bit file\nsystem will generate `INVALID_ARGUMENT` if asked to read at an\noffset that is not in the range [0,2^32-1], but it will generate\n`OUT_OF_RANGE` if asked to read from an offset past the current\nfile size.\n\nThere is a fair bit of overlap between `FAILED_PRECONDITION` and\n`OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific\nerror) when it applies so that callers who are iterating through\na space can easily look for an `OUT_OF_RANGE` error to detect when\nthey are done.\n\nHTTP Mapping: 400 Bad Request", + "The operation is not implemented or is not supported/enabled in this\nservice.\n\nHTTP Mapping: 501 Not Implemented", + "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" + ] + }, + "errorCount": { + "format": "int64", + "description": "Count of this type of error.\nRequired.", + "type": "string" + } + } + }, + "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" + }, + "GcsData": { + "id": "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": { + "description": "Google Cloud Storage bucket name (see\n[Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).\nRequired.", + "type": "string" + } + } + }, + "ListTransferJobsResponse": { + "description": "Response from ListTransferJobs.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "The list next page token.", + "type": "string" + }, + "transferJobs": { + "description": "A list of transfer jobs.", + "items": { + "$ref": "TransferJob" + }, + "type": "array" + } + }, + "id": "ListTransferJobsResponse" + }, + "UpdateTransferJobRequest": { + "type": "object", + "properties": { + "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.", + "$ref": "TransferJob" + }, + "projectId": { + "description": "The ID of the Google Cloud Platform Console project that owns the job.\nRequired.", + "type": "string" + }, + "updateTransferJobFieldMask": { + "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" + } + }, + "id": "UpdateTransferJobRequest", + "description": "Request passed to UpdateTransferJob." + }, + "ObjectConditions": { + "description": "Conditions that determine which objects will be transferred.", + "type": "object", + "properties": { + "excludePrefixes": { + "description": "`excludePrefixes` must follow the requirements described for\n`includePrefixes`.\n\nThe max size of `excludePrefixes` is 1000.", + "items": { + "type": "string" + }, + "type": "array" + }, + "minTimeElapsedSinceLastModification": { + "format": "google-duration", + "description": "If unspecified, `minTimeElapsedSinceLastModification` takes a zero value\nand `maxTimeElapsedSinceLastModification` takes the maximum possible\nvalue of Duration. Objects that satisfy the object conditions\nmust either have a `lastModificationTime` greater or equal to\n`NOW` - `maxTimeElapsedSinceLastModification` and less than\n`NOW` - `minTimeElapsedSinceLastModification`, or not have a\n`lastModificationTime`.", + "type": "string" + }, + "maxTimeElapsedSinceLastModification": { + "format": "google-duration", + "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.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "ObjectConditions" + }, + "Operation": { + "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": { + "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 originally returns it. If you use the default HTTP mapping, the `name` should have the format of `transferOperations/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": "Represents the transfer operation object.", + "type": "object" + } + }, + "id": "Operation", + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call." + }, + "TransferSpec": { + "id": "TransferSpec", + "description": "Configuration for running a transfer.", + "type": "object", + "properties": { + "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." + }, + "gcsDataSource": { + "$ref": "GcsData", + "description": "A Google Cloud Storage data source." + }, + "transferOptions": { + "description": "If the option `deleteObjectsUniqueInSink` is `true`, object conditions\nbased on objects' `lastModificationTime` are ignored and do not exclude\nobjects in a data source or a data sink.", + "$ref": "TransferOptions" + }, + "awsS3DataSource": { + "$ref": "AwsS3Data", + "description": "An AWS S3 data source." + }, + "httpDataSource": { + "description": "An HTTP URL data source.", + "$ref": "HttpData" + } + } + }, + "TransferOptions": { + "id": "TransferOptions", + "description": "TransferOptions uses three boolean parameters to define the actions\nto be performed on objects in a transfer.", + "type": "object", + "properties": { + "deleteObjectsUniqueInSink": { + "description": "Whether objects that exist only in the sink should be deleted. Note that\nthis option and `deleteObjectsFromSourceAfterTransfer` are mutually\nexclusive.", + "type": "boolean" + }, + "overwriteObjectsAlreadyExistingInSink": { + "description": "Whether overwriting objects that already exist in the sink is allowed.", + "type": "boolean" + }, + "deleteObjectsFromSourceAfterTransfer": { + "type": "boolean", + "description": "Whether objects should be deleted from the source after they are\ntransferred to the sink. Note that this option and\n`deleteObjectsUniqueInSink` are mutually exclusive." + } + } + }, + "ResumeTransferOperationRequest": { + "type": "object", + "properties": {}, + "id": "ResumeTransferOperationRequest", + "description": "Request passed to ResumeTransferOperation." + }, + "Status": { + "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", + "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", @@ -1073,5 +1057,21 @@ "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.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" + } + } + } + }, + "kind": "discovery#restDescription", + "description": "Transfers data from external data sources to a Google Cloud Storage bucket or between Google Cloud Storage buckets.", + "servicePath": "", + "rootUrl": "https://storagetransfer.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com" } 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 1e34763..64ec0dc 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 @@ -1468,7 +1469,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/toolresults/v1beta3/toolresults-api.json b/vendor/google.golang.org/api/toolresults/v1beta3/toolresults-api.json index bcbd35f..a8506bd 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/TdjAcGRUDskRBNNbXs3PGqnucOE\"", "discoveryVersion": "v1", "id": "toolresults:v1beta3", "name": "toolresults", "canonicalName": "Tool Results", "version": "v1beta3", - "revision": "20170607", + "revision": "20170818", "title": "Cloud Tool Results API", "description": "Reads and publishes results from Firebase Test Lab.", "ownerDomain": "google.com", @@ -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" } } }, @@ -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,44 @@ } }, "resources": { + "clusters": { + "methods": { + "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": { 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 384b31d..df98bf4 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 @@ -1001,6 +1228,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 +1483,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 +1515,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 +1523,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 +1712,86 @@ 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"` + + // 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 +1830,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 +1843,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 +1955,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 +2394,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 +4410,168 @@ func (c *ProjectsHistoriesExecutionsPatchCall) Do(opts ...googleapi.CallOption) } +// 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 { 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 98c1f67..08c1ddc 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/dlMcK_O5qqvy3yxCr-z4e9qy7Xs\"", "discoveryVersion": "v1", "id": "toolresults:v1beta3firstparty", "name": "toolresults", "canonicalName": "Tool Results", "version": "v1beta3firstparty", - "revision": "20170607", + "revision": "20170818", "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,44 @@ } }, "resources": { + "clusters": { + "methods": { + "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": { 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 62d7426..ddf1aac 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,86 @@ 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"` + + // 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 +1824,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 +1837,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 +1949,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 +2388,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 +4377,168 @@ func (c *ProjectsHistoriesExecutionsPatchCall) Do(opts ...googleapi.CallOption) } +// 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 { 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 f10e6e3..1ec48e8 100644 --- a/vendor/google.golang.org/api/translate/v2/translate-api.json +++ b/vendor/google.golang.org/api/translate/v2/translate-api.json @@ -1,20 +1,60 @@ { - "basePath": "/language/translate/", "revision": "20170525", "documentationLink": "https://code.google.com/apis/language/translate/v2/getting_started.html", "id": "translate:v2", "discoveryVersion": "v1", "schemas": { + "TranslationsResource": { + "type": "object", + "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" + }, + "DetectionsResource": { + "description": "An array of languages which we detect for the given text The most likely language list first.", + "items": { + "type": "object", + "properties": { + "confidence": { + "format": "float", + "description": "The confidence of the detection result of this language.", + "type": "number" + }, + "language": { + "description": "The language we detected.", + "type": "string" + }, + "isReliable": { + "description": "A boolean to indicate is the language detection result reliable.", + "type": "boolean" + } + } + }, + "type": "array", + "id": "DetectionsResource" + }, "TranslationsListResponse": { "description": "The main language translation response message.", "type": "object", "properties": { "translations": { "description": "Translations contains list of translation results of given text", - "type": "array", "items": { "$ref": "TranslationsResource" - } + }, + "type": "array" } }, "id": "TranslationsListResponse" @@ -23,20 +63,16 @@ "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.", + "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.", - "type": "array", "items": { "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" + }, + "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.", @@ -45,6 +81,10 @@ "model": { "description": "The `model` type requested for this translation. Valid values are\nlisted in public documentation.", "type": "string" + }, + "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" } }, "id": "TranslateTextRequest" @@ -55,37 +95,37 @@ "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" } }, "id": "DetectLanguageRequest" }, "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" @@ -106,61 +146,20 @@ "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" } }, "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", - "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" - }, - "language": { - "description": "The language we detected.", - "type": "string" - }, - "confidence": { - "description": "The confidence of the detection result of this language.", - "format": "float", - "type": "number" - } - } - } } }, - "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": { @@ -178,15 +177,17 @@ "ownerDomain": "google.com", "name": "translate", "batchPath": "batch/translate", - "title": "Google Cloud Translation API", "features": [ "dataWrapper" ], + "title": "Google Cloud Translation API", "ownerName": "Google", "resources": { "languages": { "methods": { "list": { + "id": "language.languages.list", + "path": "v2/languages", "description": "Returns a list of supported languages for translation.", "response": { "$ref": "LanguagesListResponse" @@ -199,63 +200,49 @@ "type": "string" }, "target": { - "type": "string", "location": "query", - "description": "The language to use to return localized, human readable names of supported\nlanguages." + "description": "The language to use to return localized, human readable names of supported\nlanguages.", + "type": "string" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-translation", "https://www.googleapis.com/auth/cloud-platform" - ], - "path": "v2/languages", - "id": "language.languages.list" + ] } } }, "translations": { "methods": { - "list": { - "id": "language.translations.list", - "path": "v2", + "translate": { + "request": { + "$ref": "TranslateTextRequest" + }, "description": "Translates input text, returning translated text.", - "httpMethod": "GET", "response": { "$ref": "TranslationsListResponse" }, - "parameterOrder": [ - "q", - "target" - ], + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-translation", "https://www.googleapis.com/auth/cloud-platform" ], + "id": "language.translations.translate", + "path": "v2" + }, + "list": { + "description": "Translates input text, returning translated text.", + "parameterOrder": [ + "q", + "target" + ], + "httpMethod": "GET", + "response": { + "$ref": "TranslationsListResponse" + }, "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 - }, "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", @@ -270,149 +257,124 @@ ] }, "model": { + "location": "query", "description": "The `model` type requested for this translation. Valid values are\nlisted in public documentation.", + "type": "string" + }, + "q": { + "location": "query", + "description": "The input text to translate. Repeat this parameter to perform translation\noperations on multiple text inputs.", + "required": true, "type": "string", + "repeated": true + }, + "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": { + "description": "The customization id for translate", + "type": "string", + "repeated": true, "location": "query" + }, + "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.", + "required": true, + "type": "string" } - } - }, - "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" + "id": "language.translations.list", + "path": "v2" } } }, "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, - "repeated": true, - "location": "query" - } + "detect": { + "request": { + "$ref": "DetectLanguageRequest" }, + "description": "Detects the language of text within a request.", + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "DetectionsListResponse" + }, + "parameters": {}, "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.", + "id": "language.detections.detect" + }, + "list": { "response": { "$ref": "DetectionsListResponse" }, "parameterOrder": [ "q" ], - "httpMethod": "GET" - }, - "detect": { - "response": { - "$ref": "DetectionsListResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", + "httpMethod": "GET", "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" + "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" + } }, + "id": "language.detections.list", + "path": "v2/detect", "description": "Detects the language of text within a request." } } } }, "parameters": { - "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": { - "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" - }, - "pp": { - "description": "Pretty-print response.", - "type": "boolean", - "default": "true", - "location": "query" - }, - "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": { + "bearer_token": { "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "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", - "default": "true" + "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" }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, "$.xgafv": { "enumDescriptions": [ "v1 error format", @@ -430,11 +392,49 @@ "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": { + "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. Overrides userIp if both are provided.", + "type": "string", + "location": "query" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" } }, "version": "v2", "baseUrl": "https://translation.googleapis.com/language/translate/", "servicePath": "language/translate/", "description": "The Google Cloud Translation API lets websites and programs integrate with\n Google Translate programmatically.", - "kind": "discovery#restDescription" + "kind": "discovery#restDescription", + "basePath": "/language/translate/" } diff --git a/vendor/google.golang.org/api/transport/dial.go b/vendor/google.golang.org/api/transport/dial.go index e1434ba..91d8325 100644 --- a/vendor/google.golang.org/api/transport/dial.go +++ b/vendor/google.golang.org/api/transport/dial.go @@ -18,184 +18,44 @@ package transport import ( - "errors" - "fmt" - "io/ioutil" "net/http" "golang.org/x/net/context" - "golang.org/x/oauth2" "golang.org/x/oauth2/google" "google.golang.org/grpc" - "google.golang.org/grpc/credentials" - "google.golang.org/grpc/credentials/oauth" - gtransport "google.golang.org/api/googleapi/transport" "google.golang.org/api/internal" "google.golang.org/api/option" + gtransport "google.golang.org/api/transport/grpc" + htransport "google.golang.org/api/transport/http" ) // NewHTTPClient returns an HTTP client for use communicating with a Google cloud // service, configured with the given ClientOptions. It also returns the endpoint // for the service as specified in the options. func NewHTTPClient(ctx context.Context, opts ...option.ClientOption) (*http.Client, string, error) { - var o internal.DialSettings - for _, opt := range opts { - opt.Apply(&o) - } - if o.GRPCConn != nil { - return nil, "", errors.New("unsupported gRPC connection specified") - } - // TODO(cbro): consider injecting the User-Agent even if an explicit HTTP client is provided? - if o.HTTPClient != nil { - return o.HTTPClient, o.Endpoint, nil - } - if o.APIKey != "" { - hc := &http.Client{ - Transport: >ransport.APIKey{ - Key: o.APIKey, - Transport: userAgentTransport{ - base: baseTransport(ctx), - userAgent: o.UserAgent, - }, - }, - } - return hc, o.Endpoint, nil - } - if o.ServiceAccountJSONFilename != "" { - ts, err := 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) - } - } - hc := &http.Client{ - Transport: &oauth2.Transport{ - Source: o.TokenSource, - Base: userAgentTransport{ - base: baseTransport(ctx), - userAgent: o.UserAgent, - }, - }, - } - return hc, o.Endpoint, nil -} - -type userAgentTransport struct { - userAgent string - base http.RoundTripper -} - -func (t userAgentTransport) RoundTrip(req *http.Request) (*http.Response, error) { - rt := t.base - if rt == nil { - return nil, errors.New("transport: no Transport specified") - } - if t.userAgent == "" { - return rt.RoundTrip(req) - } - newReq := *req - newReq.Header = make(http.Header) - for k, vv := range req.Header { - newReq.Header[k] = vv - } - // TODO(cbro): append to existing User-Agent header? - newReq.Header["User-Agent"] = []string{t.userAgent} - return rt.RoundTrip(&newReq) -} - -// Set at init time by dial_appengine.go. If nil, we're not on App Engine. -var appengineDialerHook func(context.Context) grpc.DialOption -var appengineUrlfetchHook func(context.Context) http.RoundTripper - -// baseTransport returns the base HTTP transport. -// On App Engine, this is urlfetch.Transport, otherwise it's http.DefaultTransport. -func baseTransport(ctx context.Context) http.RoundTripper { - if appengineUrlfetchHook != nil { - return appengineUrlfetchHook(ctx) - } - return http.DefaultTransport + return htransport.NewClient(ctx, opts...) } // DialGRPC returns a GRPC connection for use communicating with a Google cloud // service, configured with the given ClientOptions. func DialGRPC(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error) { - var o internal.DialSettings - for _, opt := range opts { - opt.Apply(&o) - } - if o.HTTPClient != nil { - return nil, errors.New("unsupported HTTP client specified") - } - if o.GRPCConn != nil { - return o.GRPCConn, nil - } - if o.ServiceAccountJSONFilename != "" { - ts, err := 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) - } - } - grpcOpts := []grpc.DialOption{ - grpc.WithPerRPCCredentials(oauth.TokenSource{o.TokenSource}), - grpc.WithTransportCredentials(credentials.NewClientTLSFromCert(nil, "")), - } - if appengineDialerHook != nil { - // Use the Socket API on App Engine. - grpcOpts = append(grpcOpts, appengineDialerHook(ctx)) - } - grpcOpts = append(grpcOpts, o.GRPCDialOpts...) - if o.UserAgent != "" { - grpcOpts = append(grpcOpts, grpc.WithUserAgent(o.UserAgent)) - } - return grpc.DialContext(ctx, o.Endpoint, grpcOpts...) -} - -func serviceAcctTokenSource(ctx context.Context, filename string, scope ...string) (oauth2.TokenSource, error) { - data, err := ioutil.ReadFile(filename) - if err != nil { - return nil, fmt.Errorf("cannot read service account file: %v", err) - } - cfg, err := google.JWTConfigFromJSON(data, scope...) - if err != nil { - return nil, fmt.Errorf("google.JWTConfigFromJSON: %v", err) - } - return cfg.TokenSource(ctx), nil + return gtransport.Dial(ctx, opts...) } // DialGRPCInsecure returns an insecure GRPC connection for use communicating // with fake or mock Google cloud service implementations, such as emulators. // The connection is configured with the given ClientOptions. func DialGRPCInsecure(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error) { - var o internal.DialSettings - for _, opt := range opts { - opt.Apply(&o) - } - if o.HTTPClient != nil { - return nil, errors.New("unsupported HTTP client specified") - } - if o.GRPCConn != nil { - return o.GRPCConn, nil - } - grpcOpts := []grpc.DialOption{grpc.WithInsecure()} - grpcOpts = append(grpcOpts, o.GRPCDialOpts...) - if o.UserAgent != "" { - grpcOpts = append(grpcOpts, grpc.WithUserAgent(o.UserAgent)) - } - return grpc.DialContext(ctx, o.Endpoint, grpcOpts...) + 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/dial_appengine.go b/vendor/google.golang.org/api/transport/dial_appengine.go deleted file mode 100644 index fdac1f3..0000000 --- a/vendor/google.golang.org/api/transport/dial_appengine.go +++ /dev/null @@ -1,40 +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. - -// +build appengine - -package transport - -import ( - "net" - "net/http" - "time" - - "golang.org/x/net/context" - "google.golang.org/appengine/socket" - "google.golang.org/appengine/urlfetch" - "google.golang.org/grpc" -) - -func init() { - 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) - }) - } - - appengineUrlfetchHook = func(ctx context.Context) http.RoundTripper { - return &urlfetch.Transport{Context: ctx} - } -} diff --git a/vendor/google.golang.org/api/transport/dial_test.go b/vendor/google.golang.org/api/transport/dial_test.go deleted file mode 100644 index dcfa21c..0000000 --- a/vendor/google.golang.org/api/transport/dial_test.go +++ /dev/null @@ -1,66 +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 transport - -import ( - "errors" - "net" - "testing" - "time" - - "golang.org/x/net/context" - "golang.org/x/oauth2" - "google.golang.org/api/option" - "google.golang.org/grpc" -) - -// Check that user optioned grpc.WithDialer option overrides the App Engine hook. -func TestGRPCHook(t *testing.T) { - ctx, cancel := context.WithTimeout(context.Background(), 10*time.Millisecond) - expected := false - - appengineDialerHook = (func(ctx context.Context) grpc.DialOption { - return grpc.WithDialer(func(addr string, timeout time.Duration) (net.Conn, error) { - t.Error("did not expect a call to notExpected dialer, got one") - cancel() - return nil, errors.New("not expected") - }) - }) - defer func() { - appengineDialerHook = nil - }() - - expectedDialer := grpc.WithDialer(func(addr string, timeout time.Duration) (net.Conn, error) { - expected = true - cancel() - return nil, errors.New("expected") - }) - - conn, err := DialGRPC(ctx, - option.WithTokenSource(oauth2.StaticTokenSource(nil)), // No creds. - option.WithGRPCDialOption(expectedDialer), - option.WithEndpoint("example.google.com:443")) - if err != nil { - t.Errorf("DialGRPC: error %v, want nil", err) - } - - // gRPC doesn't connect before the first call. - grpc.Invoke(ctx, "foo", nil, nil, conn) - conn.Close() - - if !expected { - t.Error("expected a call to expected dialer, didn't get one") - } -} 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 1a74743..bc93a67 100644 --- a/vendor/google.golang.org/api/videointelligence/v1beta1/videointelligence-api.json +++ b/vendor/google.golang.org/api/videointelligence/v1beta1/videointelligence-api.json @@ -1,29 +1,349 @@ { - "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.", + "GoogleCloudVideointelligenceV1_VideoAnnotationResults": { + "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." + }, + "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": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", + "type": "string" + }, + "labelAnnotations": { + "description": "Label annotations. There is exactly one element for each unique label.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1_LabelAnnotation" + }, + "type": "array" + } + }, + "id": "GoogleCloudVideointelligenceV1_VideoAnnotationResults", + "description": "Annotation results for a single video.", + "type": "object" + }, + "GoogleCloudVideointelligenceV1_LabelLocation": { + "description": "Label location.", "type": "object", + "properties": { + "confidence": { + "format": "float", + "description": "Confidence that the label is accurate. Range: [0, 1].", + "type": "number" + }, + "segment": { + "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).", + "$ref": "GoogleCloudVideointelligenceV1_VideoSegment" + }, + "level": { + "enum": [ + "LABEL_LEVEL_UNSPECIFIED", + "VIDEO_LEVEL", + "SEGMENT_LEVEL", + "SHOT_LEVEL", + "FRAME_LEVEL" + ], + "description": "Label level.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "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." + ] + } + }, + "id": "GoogleCloudVideointelligenceV1_LabelLocation" + }, + "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": { "properties": { "annotationProgress": { "description": "Progress metadata for all videos specified in `AnnotateVideoRequest`.", - "type": "array", "items": { - "$ref": "GoogleCloudVideointelligenceV1beta1_VideoAnnotationProgress" - } + "$ref": "GoogleCloudVideointelligenceV1_VideoAnnotationProgress" + }, + "type": "array" } }, - "id": "GoogleCloudVideointelligenceV1beta1_AnnotateVideoProgress" + "id": "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" + }, + "GoogleLongrunning_Operation": { + "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": "GoogleRpc_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": "GoogleLongrunning_Operation", + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object" + }, + "GoogleCloudVideointelligenceV1beta1_VideoAnnotationResults": { + "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." + }, + "shotAnnotations": { + "description": "Shot annotations. Each shot is represented as a video segment.", + "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/).", + "type": "string" + }, + "labelAnnotations": { + "description": "Label annotations. There is exactly one element for each unique label.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta1_LabelAnnotation" + }, + "type": "array" + } + }, + "id": "GoogleCloudVideointelligenceV1beta1_VideoAnnotationResults", + "description": "Annotation results for a single video.", + "type": "object" + }, + "GoogleCloudVideointelligenceV1beta1_LabelAnnotation": { + "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", + "description": "Label annotation.", + "type": "object" + }, + "GoogleCloudVideointelligenceV1_AnnotateVideoResponse": { + "properties": { + "annotationResults": { + "description": "Annotation results for all videos specified in `AnnotateVideoRequest`.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1_VideoAnnotationResults" + }, + "type": "array" + } + }, + "id": "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" + }, + "GoogleCloudVideointelligenceV1beta1_AnnotateVideoResponse": { + "properties": { + "annotationResults": { + "description": "Annotation results for all videos specified in `AnnotateVideoRequest`.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta1_VideoAnnotationResults" + }, + "type": "array" + } + }, + "id": "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.", + "type": "object" + }, + "GoogleCloudVideointelligenceV1beta1_VideoContext": { + "description": "Video context and/or feature-specific parameters.", + "type": "object", + "properties": { + "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" + }, + "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" + }, + "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" + }, + "shotChangeDetectionModel": { + "description": "Model to use for shot change detection.\nSupported values: \"latest\" and \"stable\" (the default).", + "type": "string" + } + }, + "id": "GoogleCloudVideointelligenceV1beta1_VideoContext" + }, + "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_VideoAnnotationProgress": { + "properties": { + "inputUri": { + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", + "type": "string" + }, + "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" + } + }, + "id": "GoogleCloudVideointelligenceV1beta1_VideoAnnotationProgress", + "description": "Annotation progress for a single video.", + "type": "object" + }, + "GoogleRpc_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": { + "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": "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" + }, + "GoogleCloudVideointelligenceV1_VideoSegment": { + "properties": { + "startTime": { + "format": "google-duration", + "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the start of the segment (inclusive).", + "type": "string" + }, + "endTime": { + "format": "google-duration", + "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the end of the segment (inclusive).", + "type": "string" + } + }, + "id": "GoogleCloudVideointelligenceV1_VideoSegment", + "description": "Video segment.", + "type": "object" }, "GoogleCloudVideointelligenceV1beta1_AnnotateVideoRequest": { "description": "Video annotation request.", @@ -39,19 +359,21 @@ }, "features": { "description": "Requested video annotation features.", - "type": "array", "items": { "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", - "SHOT_CHANGE_DETECTION" + "SHOT_CHANGE_DETECTION", + "SAFE_SEARCH_DETECTION" ], "type": "string" }, + "type": "array", "enumDescriptions": [ "Unspecified.", "Label detection. Detect objects, such as dog or flower.", - "Shot change detection." + "Shot change detection.", + "Safe search detection." ] }, "videoContext": { @@ -73,14 +395,16 @@ "description": "Label location.", "type": "object", "properties": { + "confidence": { + "format": "float", + "description": "Confidence that the label is accurate. Range: [0, 1].", + "type": "number" + }, + "segment": { + "$ref": "GoogleCloudVideointelligenceV1beta1_VideoSegment", + "description": "Video segment. Set to [-1, -1] for video-level labels.\nSet to [timestamp, timestamp] for frame-level labels.\nOtherwise, corresponds to one of `AnnotateSpec.segments`\n(if specified) or to shot boundaries (if requested)." + }, "level": { - "enumDescriptions": [ - "Unspecified.", - "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", @@ -89,16 +413,14 @@ "FRAME_LEVEL" ], "description": "Label level.", - "type": "string" - }, - "confidence": { - "description": "Confidence that the label is accurate. Range: [0, 1].", - "format": "float", - "type": "number" - }, - "segment": { - "description": "Video segment. Set to [-1, -1] for video-level labels.\nSet to [timestamp, timestamp] for frame-level labels.\nOtherwise, corresponds to one of `AnnotateSpec.segments`\n(if specified) or to shot boundaries (if requested).", - "$ref": "GoogleCloudVideointelligenceV1beta1_VideoSegment" + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "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." + ] } }, "id": "GoogleCloudVideointelligenceV1beta1_LabelLocation" @@ -106,13 +428,13 @@ "GoogleCloudVideointelligenceV1beta1_VideoSegment": { "properties": { "endTimeOffset": { - "description": "End offset in microseconds (inclusive). Unset means 0.", "format": "int64", + "description": "End offset in microseconds (inclusive). Unset means 0.", "type": "string" }, "startTimeOffset": { - "description": "Start offset in microseconds (inclusive). Unset means 0.", "format": "int64", + "description": "Start offset in microseconds (inclusive). Unset means 0.", "type": "string" } }, @@ -120,156 +442,174 @@ "description": "Video segment.", "type": "object" }, - "GoogleLongrunning_Operation": { - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", - "type": "object", + "GoogleCloudVideointelligenceV1_SafeSearchAnnotation": { "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`.", + "time": { + "format": "google-duration", + "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the video frame for this annotation.", "type": "string" }, - "error": { - "$ref": "GoogleRpc_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": "GoogleLongrunning_Operation" - }, - "GoogleCloudVideointelligenceV1beta1_VideoAnnotationResults": { - "description": "Annotation results for a single video.", - "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." - }, - "shotAnnotations": { - "description": "Shot annotations. Each shot is represented as a video segment.", - "type": "array", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta1_VideoSegment" - } - }, - "inputUri": { - "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", - "type": "string" - }, - "labelAnnotations": { - "description": "Label annotations. There is exactly one element for each unique label.", - "type": "array", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta1_LabelAnnotation" - } - } - }, - "id": "GoogleCloudVideointelligenceV1beta1_VideoAnnotationResults" - }, - "GoogleCloudVideointelligenceV1beta1_LabelAnnotation": { - "description": "Label annotation.", - "type": "object", - "properties": { - "languageCode": { - "description": "Language code for `description` in BCP-47 format.", - "type": "string" - }, - "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", - "type": "string" - }, - "locations": { - "description": "Where the label was detected and with what confidence.", - "type": "array", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta1_LabelLocation" - } - } - }, - "id": "GoogleCloudVideointelligenceV1beta1_LabelAnnotation" - }, - "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.", - "type": "object", - "properties": { - "annotationResults": { - "description": "Annotation results for all videos specified in `AnnotateVideoRequest`.", - "type": "array", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta1_VideoAnnotationResults" - } - } - }, - "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": { + "adult": { "enumDescriptions": [ - "Unspecified.", - "Detect shot-level labels.", - "Detect frame-level labels.", - "Detect both shot-level and frame-level labels." + "Unknown likelihood.", + "Very unlikely.", + "Unlikely.", + "Possible.", + "Likely.", + "Very likely." ], "enum": [ - "LABEL_DETECTION_MODE_UNSPECIFIED", - "SHOT_MODE", - "FRAME_MODE", - "SHOT_AND_FRAME_MODE" + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" ], - "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`.", + "description": "Likelihood of adult content.", "type": "string" } }, - "id": "GoogleCloudVideointelligenceV1beta1_VideoContext", - "description": "Video context and/or feature-specific parameters.", + "id": "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" }, - "GoogleCloudVideointelligenceV1beta1_VideoAnnotationProgress": { - "description": "Annotation progress for a single video.", + "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": { + "timeOffset": { + "format": "int64", + "description": "Video time offset in microseconds.", + "type": "string" + }, + "spoof": { + "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", + "enumDescriptions": [ + "Unknown likelihood.", + "Very unlikely.", + "Unlikely.", + "Possible.", + "Likely.", + "Very likely." + ] + }, + "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" + }, + "adult": { + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Likelihood of adult content.", + "type": "string", + "enumDescriptions": [ + "Unknown likelihood.", + "Very unlikely.", + "Unlikely.", + "Possible.", + "Likely.", + "Very likely." + ] + }, + "racy": { + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Likelihood of racy content.", + "type": "string", + "enumDescriptions": [ + "Unknown likelihood.", + "Very unlikely.", + "Unlikely.", + "Possible.", + "Likely.", + "Very likely." + ] + } + }, + "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" + }, + "GoogleCloudVideointelligenceV1_VideoAnnotationProgress": { "properties": { "updateTime": { - "description": "Time of the most recent update.", "format": "google-datetime", + "description": "Time of the most recent update.", "type": "string" }, "startTime": { - "description": "Time when the request was received.", "format": "google-datetime", + "description": "Time when the request was received.", "type": "string" }, "inputUri": { @@ -277,38 +617,13 @@ "type": "string" }, "progressPercent": { + "format": "int32", "description": "Approximate percentage processed thus far.\nGuaranteed to be 100 when fully processed.", - "format": "int32", "type": "integer" } }, - "id": "GoogleCloudVideointelligenceV1beta1_VideoAnnotationProgress" - }, - "GoogleRpc_Status": { - "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": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - } - } - }, - "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": "GoogleCloudVideointelligenceV1_VideoAnnotationProgress", + "description": "Annotation progress for a single video.", "type": "object" } }, @@ -337,47 +652,57 @@ "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": {}, + "parameterOrder": [], + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" - ] + ], + "parameters": {}, + "flatPath": "v1beta1/videos:annotate", + "id": "videointelligence.videos.annotate", + "path": "v1beta1/videos:annotate" } } } }, "parameters": { + "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" + "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", - "location": "query" + "type": "string" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" }, "$.xgafv": { "enumDescriptions": [ @@ -398,8 +723,6 @@ "type": "string" }, "alt": { - "description": "Data format for response.", - "default": "json", "enum": [ "json", "media", @@ -411,7 +734,9 @@ "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" }, "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.", @@ -424,25 +749,24 @@ "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": { + "location": "query", "description": "Pretty-print response.", - "type": "boolean", "default": "true", - "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" + "type": "boolean" } - } + }, + "version": "v1beta1", + "baseUrl": "https://videointelligence.googleapis.com/", + "servicePath": "", + "description": "Google Cloud Video Intelligence API.", + "kind": "discovery#restDescription", + "basePath": "", + "revision": "20170807", + "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 114f65e..c859de9 100644 --- a/vendor/google.golang.org/api/videointelligence/v1beta1/videointelligence-gen.go +++ b/vendor/google.golang.org/api/videointelligence/v1beta1/videointelligence-gen.go @@ -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, @@ -661,9 +1093,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 eeff5cf..3ec9db0 100644 --- a/vendor/google.golang.org/api/vision/v1/vision-api.json +++ b/vendor/google.golang.org/api/vision/v1/vision-api.json @@ -1,135 +1,706 @@ { - "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" - }, - "response": { - "$ref": "BatchAnnotateImagesResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": {}, - "flatPath": "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" - }, - "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" - }, - "$.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" - } - }, - "version": "v1", - "baseUrl": "https://vision.googleapis.com/", - "servicePath": "", - "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", "documentationLink": "https://cloud.google.com/vision/", + "revision": "20170821", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "Page": { + "description": "Detected page from OCR.", + "type": "object", + "properties": { + "width": { + "format": "int32", + "description": "Page width in pixels.", + "type": "integer" + }, + "blocks": { + "description": "List of blocks of text, images etc on this page.", + "items": { + "$ref": "Block" + }, + "type": "array" + }, + "property": { + "description": "Additional information detected on the page.", + "$ref": "TextProperty" + }, + "height": { + "format": "int32", + "description": "Page height in pixels.", + "type": "integer" + } + }, + "id": "Page" + }, + "AnnotateImageRequest": { + "description": "Request for performing Google Cloud Vision API tasks over a user-provided\nimage, with user-requested features.", + "type": "object", + "properties": { + "features": { + "description": "Requested features.", + "items": { + "$ref": "Feature" + }, + "type": "array" + }, + "image": { + "description": "The image to be processed.", + "$ref": "Image" + }, + "imageContext": { + "$ref": "ImageContext", + "description": "Additional context that may accompany the image." + } + }, + "id": "AnnotateImageRequest" + }, + "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": { + "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", + "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": { + "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" + } + }, + "id": "Symbol", + "description": "A single symbol representation.", + "type": "object" + }, + "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" + }, + "CropHintsAnnotation": { + "properties": { + "cropHints": { + "description": "Crop hint results.", + "items": { + "$ref": "CropHint" + }, + "type": "array" + } + }, + "id": "CropHintsAnnotation", + "description": "Set of crop hints that are used to generate new crops when serving images.", + "type": "object" + }, + "LatLng": { + "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", + "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" + }, + "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" + }, + "ImageProperties": { + "properties": { + "dominantColors": { + "$ref": "DominantColorsAnnotation", + "description": "If present, dominant colors completed successfully." + } + }, + "id": "ImageProperties", + "description": "Stores image properties, such as dominant colors.", + "type": "object" + }, + "Feature": { + "properties": { + "maxResults": { + "format": "int32", + "description": "Maximum number of results of this type.", + "type": "integer" + }, + "type": { + "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.", + "type": "string" + } + }, + "id": "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" + }, + "SafeSearchAnnotation": { + "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": { + "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." + ] + } + }, + "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).", + "type": "object" + }, + "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": { + "format": "float", + "description": "Confidence of detected language. Range [0, 1].", + "type": "number" + } + }, + "id": "DetectedLanguage" + }, + "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" + }, + "WebEntity": { + "properties": { + "description": { + "description": "Canonical description of the entity, in English.", + "type": "string" + }, + "score": { + "format": "float", + "description": "Overall relevancy score for the entity.\nNot normalized and not comparable across different image queries.", + "type": "number" + }, + "entityId": { + "description": "Opaque entity ID.", + "type": "string" + } + }, + "id": "WebEntity", + "description": "Entity deduced from similar images on the Internet.", + "type": "object" + }, + "BoundingPoly": { + "description": "A bounding polygon for the detected image annotation.", + "type": "object", + "properties": { + "vertices": { + "description": "The bounding polygon vertices.", + "items": { + "$ref": "Vertex" + }, + "type": "array" + } + }, + "id": "BoundingPoly" + }, + "AnnotateImageResponse": { + "description": "Response to an image annotation request.", + "type": "object", + "properties": { + "safeSearchAnnotation": { + "description": "If present, safe-search annotation has completed successfully.", + "$ref": "SafeSearchAnnotation" + }, + "labelAnnotations": { + "description": "If present, label detection has completed successfully.", + "items": { + "$ref": "EntityAnnotation" + }, + "type": "array" + }, + "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" + }, + "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" + }, + "imagePropertiesAnnotation": { + "description": "If present, image properties were extracted successfully.", + "$ref": "ImageProperties" + }, + "faceAnnotations": { + "description": "If present, face detection has completed successfully.", + "items": { + "$ref": "FaceAnnotation" + }, + "type": "array" + }, + "logoAnnotations": { + "description": "If present, logo detection has completed successfully.", + "items": { + "$ref": "EntityAnnotation" + }, + "type": "array" + }, + "webDetection": { + "$ref": "WebDetection", + "description": "If present, web detection has completed successfully." + }, + "cropHintsAnnotation": { + "$ref": "CropHintsAnnotation", + "description": "If present, crop hints have completed successfully." + } + }, + "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": { + "description": "Logical element on the page.", + "type": "object", + "properties": { + "property": { + "description": "Additional information detected for the block.", + "$ref": "TextProperty" + }, + "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": { + "$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).", + "items": { + "$ref": "Paragraph" + }, + "type": "array" + } + }, + "id": "Block" + }, + "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.", + "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" + }, + "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" + } + }, + "id": "WebDetection" + }, + "BatchAnnotateImagesResponse": { + "properties": { + "responses": { + "description": "Individual responses to image annotation requests within the batch.", + "items": { + "$ref": "AnnotateImageResponse" + }, + "type": "array" + } + }, + "id": "BatchAnnotateImagesResponse", + "description": "Response to a batch image annotation request.", + "type": "object" + }, + "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" + }, + "LocationInfo": { + "description": "Detected entity location information.", + "type": "object", + "properties": { + "latLng": { + "$ref": "LatLng", + "description": "lat/long location coordinates." + } + }, + "id": "LocationInfo" + }, + "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" + }, + "Position": { + "properties": { + "z": { + "format": "float", + "description": "Z coordinate (or depth).", + "type": "number" + }, + "x": { + "format": "float", + "description": "X coordinate.", + "type": "number" + }, + "y": { + "format": "float", + "description": "Y coordinate.", + "type": "number" + } + }, + "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" + }, + "WebPage": { + "description": "Metadata for web pages.", + "type": "object", + "properties": { + "score": { + "format": "float", + "description": "(Deprecated) Overall relevancy score for the web page.", + "type": "number" + }, + "url": { + "description": "The result web page URL.", + "type": "string" + } + }, + "id": "WebPage" + }, "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,79 +708,61 @@ "$ref": "Color" }, "score": { + "format": "float", "description": "Image-specific score for this color. Value in range [0, 1].", - "format": "float", "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" - }, - "WebPage": { - "properties": { - "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": "ColorInfo" }, "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].", + "description": { + "description": "Entity textual description, expressed in its `locale` language.", + "type": "string" + }, + "topicality": { "format": "float", + "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" }, - "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." + "properties": { + "description": "Some entities may have optional user-supplied `Property` (name/value)\nfields, such a score or string that qualifies the entity.", + "items": { + "$ref": "Property" + }, + "type": "array" + }, + "score": { + "format": "float", + "description": "Overall score of the result. Range [0, 1].", + "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.", + "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" }, "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].", - "format": "float", - "type": "number" - }, - "description": { - "description": "Entity textual description, expressed in its `locale` language.", - "type": "string" - }, - "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" + "boundingPoly": { + "description": "Image region to which this entity belongs. Not produced\nfor `LABEL_DETECTION` features.", + "$ref": "BoundingPoly" } }, "id": "EntityAnnotation" @@ -218,32 +771,32 @@ "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].", + "importanceFraction": { "format": "float", + "description": "Fraction of importance of this salient region with respect to the original\nimage.", "type": "number" }, - "importanceFraction": { - "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" + "$ref": "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`." } }, "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`.", - "type": "object", "properties": { "position": { - "$ref": "Position", - "description": "Face landmark position." + "description": "Face landmark position.", + "$ref": "Position" }, "type": { + "description": "Face landmark type.", + "type": "string", "enumDescriptions": [ "Unknown face landmark detected. Should not be filled.", "Left eye.", @@ -317,47 +870,47 @@ "CHIN_GNATHION", "CHIN_LEFT_GONION", "CHIN_RIGHT_GONION" - ], - "description": "Face landmark type.", - "type": "string" + ] } }, - "id": "Landmark" + "id": "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`.", + "type": "object" }, "WebImage": { + "description": "Metadata for online images.", + "type": "object", "properties": { + "score": { + "format": "float", + "description": "(Deprecated) Overall relevancy score for the image.", + "type": "number" + }, "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" + "id": "WebImage" }, "Word": { "description": "A word representation.", "type": "object", "properties": { + "symbols": { + "description": "List of symbols in the word.\nThe order of the symbols follows the natural reading order.", + "items": { + "$ref": "Symbol" + }, + "type": "array" + }, "property": { - "$ref": "TextProperty", - "description": "Additional information detected for the word." + "description": "Additional information detected for the word.", + "$ref": "TextProperty" }, "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" - }, - "symbols": { - "description": "List of symbols in the word.\nThe order of the symbols follows the natural reading order.", - "type": "array", - "items": { - "$ref": "Symbol" - } } }, "id": "Word" @@ -366,60 +919,54 @@ "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." + "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.", + "$ref": "ImageSource" + }, + "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": { + "description": "Structural unit of text representing a number of words in certain order.", + "type": "object", "properties": { "property": { - "$ref": "TextProperty", - "description": "Additional information detected for the paragraph." + "description": "Additional information detected for the paragraph.", + "$ref": "TextProperty" }, "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" } }, - "id": "Paragraph", - "description": "Structural unit of text representing a number of words in certain order.", - "type": "object" + "id": "Paragraph" }, "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", + "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" }, "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." + "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.", + "$ref": "BoundingPoly" }, "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 +976,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 +988,40 @@ }, "landmarks": { "description": "Detected face landmarks.", - "type": "array", "items": { "$ref": "Landmark" - } + }, + "type": "array" }, - "landmarkingConfidence": { - "description": "Face landmarking confidence. Range [0, 1].", - "format": "float", - "type": "number" + "angerLikelihood": { + "description": "Anger 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." + ], + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ] }, "joyLikelihood": { + "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", @@ -473,15 +1031,22 @@ "VERY_LIKELY" ], "description": "Joy 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" + }, + "landmarkingConfidence": { + "format": "float", + "description": "Face landmarking confidence. Range [0, 1].", + "type": "number" + }, + "detectionConfidence": { + "format": "float", + "description": "Detection confidence. Range [0, 1].", + "type": "number" + }, + "panAngle": { + "format": "float", + "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" }, "underExposedLikelihood": { "enumDescriptions": [ @@ -503,16 +1068,6 @@ "description": "Under-exposed likelihood.", "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].", - "format": "float", - "type": "number" - }, - "detectionConfidence": { - "description": "Detection confidence. Range [0, 1].", - "format": "float", - "type": "number" - }, "blurredLikelihood": { "enumDescriptions": [ "Unknown likelihood.", @@ -534,6 +1089,14 @@ "type": "string" }, "headwearLikelihood": { + "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", @@ -543,34 +1106,18 @@ "VERY_LIKELY" ], "description": "Headwear 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" }, "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": { - "enum": [ - "UNKNOWN", - "VERY_UNLIKELY", - "UNLIKELY", - "POSSIBLE", - "LIKELY", - "VERY_LIKELY" - ], "description": "Sorrow likelihood.", "type": "string", "enumDescriptions": [ @@ -580,34 +1127,46 @@ "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" ] } }, - "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,715 +1176,36 @@ "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" - }, - "Page": { - "description": "Detected page from OCR.", - "type": "object", - "properties": { - "width": { - "description": "Page width in pixels.", - "format": "int32", - "type": "integer" - }, - "blocks": { - "description": "List of blocks of text, images etc on this page.", - "type": "array", - "items": { - "$ref": "Block" - } - }, - "property": { - "description": "Additional information detected on the page.", - "$ref": "TextProperty" - }, - "height": { - "description": "Page height in pixels.", - "format": "int32", - "type": "integer" - } - }, - "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" - } - } - }, - "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": { @@ -1337,6 +1217,9 @@ "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" } @@ -1346,5 +1229,126 @@ "rootUrl": "https://vision.googleapis.com/", "ownerDomain": "google.com", "name": "vision", - "batchPath": "batch" + "batchPath": "batch", + "title": "Google Cloud Vision API", + "ownerName": "Google", + "resources": { + "images": { + "methods": { + "annotate": { + "description": "Run image detection and annotation for a batch of images.", + "request": { + "$ref": "BatchAnnotateImagesRequest" + }, + "response": { + "$ref": "BatchAnnotateImagesResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "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": { + "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": { + "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" + }, + "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": { + "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://vision.googleapis.com/", + "servicePath": "", + "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": "" } 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 7af1c74..d85c021 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/youtubereporting/v1/youtubereporting-api.json b/vendor/google.golang.org/api/youtubereporting/v1/youtubereporting-api.json index 984d4e8..5622541 100644 --- a/vendor/google.golang.org/api/youtubereporting/v1/youtubereporting-api.json +++ b/vendor/google.golang.org/api/youtubereporting/v1/youtubereporting-api.json @@ -1,14 +1,342 @@ { + "title": "YouTube Reporting API", + "discoveryVersion": "v1", + "ownerName": "Google", + "resources": { + "reportTypes": { + "methods": { + "list": { + "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": { + "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" + }, + "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": { + "format": "int32", + "description": "Requested page size. Server may return fewer report types than requested.\nIf unspecified, server will pick an appropriate default.", + "type": "integer", + "location": "query" + }, + "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", + "id": "youtubereporting.reportTypes.list", + "path": "v1/reportTypes" + } + } + }, + "media": { + "methods": { + "download": { + "description": "Method for media download. Download is supported\non the URI `/v1/media/{+name}?alt=media`.", + "supportsMediaDownload": true, + "response": { + "$ref": "Media" + }, + "parameterOrder": [ + "resourceName" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ], + "parameters": { + "resourceName": { + "location": "path", + "description": "Name of the media that is being downloaded. See\nReadRequest.resource_name.", + "type": "string", + "required": true, + "pattern": "^.+$" + } + }, + "flatPath": "v1/media/{mediaId}", + "id": "youtubereporting.media.download", + "path": "v1/media/{+resourceName}" + } + } + }, + "jobs": { + "methods": { + "delete": { + "flatPath": "v1/jobs/{jobId}", + "path": "v1/jobs/{jobId}", + "id": "youtubereporting.jobs.delete", + "description": "Deletes a job.", + "httpMethod": "DELETE", + "parameterOrder": [ + "jobId" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "jobId": { + "description": "The ID of the job to delete.", + "type": "string", + "required": true, + "location": "path" + }, + "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" + ] + }, + "get": { + "flatPath": "v1/jobs/{jobId}", + "id": "youtubereporting.jobs.get", + "path": "v1/jobs/{jobId}", + "description": "Gets a job.", + "response": { + "$ref": "Job" + }, + "parameterOrder": [ + "jobId" + ], + "httpMethod": "GET", + "parameters": { + "jobId": { + "description": "The ID of the job to retrieve.", + "type": "string", + "required": true, + "location": "path" + }, + "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" + ] + }, + "list": { + "httpMethod": "GET", + "parameterOrder": [], + "response": { + "$ref": "ListJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ], + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "Requested page size. Server may return fewer jobs 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" + }, + "includeSystemManaged": { + "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", + "location": "query" + }, + "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" + } + }, + "flatPath": "v1/jobs", + "path": "v1/jobs", + "id": "youtubereporting.jobs.list", + "description": "Lists jobs." + }, + "create": { + "description": "Creates a job and returns it.", + "request": { + "$ref": "Job" + }, + "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" + } + }, + "resources": { + "reports": { + "methods": { + "get": { + "description": "Gets the metadata of a specific report.", + "response": { + "$ref": "Report" + }, + "parameterOrder": [ + "jobId", + "reportId" + ], + "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.", + "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" + }, + "reportId": { + "location": "path", + "description": "The ID of the report to retrieve.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/jobs/{jobId}/reports/{reportId}", + "id": "youtubereporting.jobs.reports.get", + "path": "v1/jobs/{jobId}/reports/{reportId}" + }, + "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" + }, + "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" + }, + "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" + }, + "pageSize": { + "format": "int32", + "description": "Requested page size. Server may return fewer report types 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" + }, + "startTimeBefore": { + "format": "google-datetime", + "description": "If set, only reports whose start time is smaller than the specified\ndate/time are returned.", + "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}/reports", + "path": "v1/jobs/{jobId}/reports", + "id": "youtubereporting.jobs.reports.list" + } + } + } + } + } + }, "parameters": { - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "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.", - "type": "boolean", "default": "true", + "type": "boolean", "location": "query" }, "uploadType": { @@ -35,11 +363,12 @@ ] }, "callback": { - "location": "query", "description": "JSONP", - "type": "string" + "type": "string", + "location": "query" }, "alt": { + "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -52,149 +381,21 @@ "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" - }, - "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.", - "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" } }, "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.", - "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.", - "type": "string" - } - } - }, - "ReportType": { - "id": "ReportType", - "description": "A report type.", - "type": "object", - "properties": { - "name": { - "description": "The name of the report type (max. 100 characters).", - "type": "string" - }, - "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", - "type": "string" - } - } - }, - "ListReportTypesResponse": { - "id": "ListReportTypesResponse", - "description": "Response message for ReportingService.ListReportTypes.", - "type": "object", - "properties": { - "reportTypes": { - "description": "The list of report types.", - "type": "array", - "items": { - "$ref": "ReportType" - } - }, - "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" - } - } - }, - "ListJobsResponse": { - "id": "ListJobsResponse", - "description": "Response message for ReportingService.ListJobs.", - "type": "object", - "properties": { - "jobs": { - "description": "The list of jobs.", - "type": "array", - "items": { - "$ref": "Job" - } - }, - "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" - } - } - }, "Job": { - "id": "Job", "description": "A job creating reports of a specific type.", "type": "object", "properties": { @@ -207,24 +408,25 @@ "type": "boolean" }, "createTime": { + "format": "google-datetime", "description": "The creation date/time of the job.", - "format": "google-datetime", - "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", "type": "string" }, "reportTypeId": { "description": "The type of reports this job creates. Corresponds to the ID of a\nReportType.", "type": "string" }, + "expireTime": { + "format": "google-datetime", + "description": "The date/time when this job will expire/expired. After a job expired, no\nnew reports are generated.", + "type": "string" + }, "name": { "description": "The name of the job (max. 100 characters).", "type": "string" } - } + }, + "id": "Job" }, "ListReportsResponse": { "description": "Response message for ReportingService.ListReports.", @@ -232,10 +434,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.", @@ -245,7 +447,6 @@ "id": "ListReportsResponse" }, "Media": { - "id": "Media", "description": "Media resource.", "type": "object", "properties": { @@ -253,12 +454,118 @@ "description": "Name of the media resource.", "type": "string" } - } + }, + "id": "Media" + }, + "ReportType": { + "description": "A report type.", + "type": "object", + "properties": { + "deprecateTime": { + "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" + }, + "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" + } + }, + "id": "ReportType" + }, + "ListReportTypesResponse": { + "description": "Response message for ReportingService.ListReportTypes.", + "type": "object", + "properties": { + "reportTypes": { + "description": "The list of report types.", + "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" + }, + "Report": { + "description": "A report's metadata including the URL from which the report itself can be\ndownloaded.", + "type": "object", + "properties": { + "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": { + "description": "The URL from which the report can be downloaded (max. 1000 characters).", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "The start of the time period that the report instance covers. The value is\ninclusive.", + "type": "string" + }, + "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" + } + }, + "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": { + "description": "Response message for ReportingService.ListJobs.", + "type": "object", + "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" } }, "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,322 +583,15 @@ } } }, - "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", "name": "youtubereporting", "batchPath": "batch", - "id": "youtubereporting:v1", + "revision": "20170823", "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}" - } - } - } - } + "id": "youtubereporting:v1" }
  • NameGemeindeEingezahlte KonfiCoins