data_transfer_client.go 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689
  1. // Copyright 2017, Google LLC All rights reserved.
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. // AUTO-GENERATED CODE. DO NOT EDIT.
  15. package datatransfer
  16. import (
  17. "math"
  18. "time"
  19. "cloud.google.com/go/internal/version"
  20. gax "github.com/googleapis/gax-go"
  21. "golang.org/x/net/context"
  22. "google.golang.org/api/iterator"
  23. "google.golang.org/api/option"
  24. "google.golang.org/api/transport"
  25. datatransferpb "google.golang.org/genproto/googleapis/cloud/bigquery/datatransfer/v1"
  26. "google.golang.org/grpc"
  27. "google.golang.org/grpc/codes"
  28. "google.golang.org/grpc/metadata"
  29. )
  30. // CallOptions contains the retry settings for each method of Client.
  31. type CallOptions struct {
  32. GetDataSource []gax.CallOption
  33. ListDataSources []gax.CallOption
  34. CreateTransferConfig []gax.CallOption
  35. UpdateTransferConfig []gax.CallOption
  36. DeleteTransferConfig []gax.CallOption
  37. GetTransferConfig []gax.CallOption
  38. ListTransferConfigs []gax.CallOption
  39. ScheduleTransferRuns []gax.CallOption
  40. GetTransferRun []gax.CallOption
  41. DeleteTransferRun []gax.CallOption
  42. ListTransferRuns []gax.CallOption
  43. ListTransferLogs []gax.CallOption
  44. CheckValidCreds []gax.CallOption
  45. }
  46. func defaultClientOptions() []option.ClientOption {
  47. return []option.ClientOption{
  48. option.WithEndpoint("bigquerydatatransfer.googleapis.com:443"),
  49. option.WithScopes(DefaultAuthScopes()...),
  50. }
  51. }
  52. func defaultCallOptions() *CallOptions {
  53. retry := map[[2]string][]gax.CallOption{
  54. {"default", "idempotent"}: {
  55. gax.WithRetry(func() gax.Retryer {
  56. return gax.OnCodes([]codes.Code{
  57. codes.DeadlineExceeded,
  58. codes.Unavailable,
  59. }, gax.Backoff{
  60. Initial: 100 * time.Millisecond,
  61. Max: 60000 * time.Millisecond,
  62. Multiplier: 1.3,
  63. })
  64. }),
  65. },
  66. }
  67. return &CallOptions{
  68. GetDataSource: retry[[2]string{"default", "idempotent"}],
  69. ListDataSources: retry[[2]string{"default", "idempotent"}],
  70. CreateTransferConfig: retry[[2]string{"default", "non_idempotent"}],
  71. UpdateTransferConfig: retry[[2]string{"default", "non_idempotent"}],
  72. DeleteTransferConfig: retry[[2]string{"default", "idempotent"}],
  73. GetTransferConfig: retry[[2]string{"default", "idempotent"}],
  74. ListTransferConfigs: retry[[2]string{"default", "idempotent"}],
  75. ScheduleTransferRuns: retry[[2]string{"default", "non_idempotent"}],
  76. GetTransferRun: retry[[2]string{"default", "idempotent"}],
  77. DeleteTransferRun: retry[[2]string{"default", "idempotent"}],
  78. ListTransferRuns: retry[[2]string{"default", "idempotent"}],
  79. ListTransferLogs: retry[[2]string{"default", "idempotent"}],
  80. CheckValidCreds: retry[[2]string{"default", "idempotent"}],
  81. }
  82. }
  83. // Client is a client for interacting with BigQuery Data Transfer API.
  84. type Client struct {
  85. // The connection to the service.
  86. conn *grpc.ClientConn
  87. // The gRPC API client.
  88. client datatransferpb.DataTransferServiceClient
  89. // The call options for this service.
  90. CallOptions *CallOptions
  91. // The x-goog-* metadata to be sent with each request.
  92. xGoogMetadata metadata.MD
  93. }
  94. // NewClient creates a new data transfer service client.
  95. //
  96. // The Google BigQuery Data Transfer Service API enables BigQuery users to
  97. // configure the transfer of their data from other Google Products into BigQuery.
  98. // This service contains methods that are end user exposed. It backs up the
  99. // frontend.
  100. func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) {
  101. conn, err := transport.DialGRPC(ctx, append(defaultClientOptions(), opts...)...)
  102. if err != nil {
  103. return nil, err
  104. }
  105. c := &Client{
  106. conn: conn,
  107. CallOptions: defaultCallOptions(),
  108. client: datatransferpb.NewDataTransferServiceClient(conn),
  109. }
  110. c.setGoogleClientInfo()
  111. return c, nil
  112. }
  113. // Connection returns the client's connection to the API service.
  114. func (c *Client) Connection() *grpc.ClientConn {
  115. return c.conn
  116. }
  117. // Close closes the connection to the API service. The user should invoke this when
  118. // the client is no longer required.
  119. func (c *Client) Close() error {
  120. return c.conn.Close()
  121. }
  122. // setGoogleClientInfo sets the name and version of the application in
  123. // the `x-goog-api-client` header passed on each request. Intended for
  124. // use by Google-written clients.
  125. func (c *Client) setGoogleClientInfo(keyval ...string) {
  126. kv := append([]string{"gl-go", version.Go()}, keyval...)
  127. kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version)
  128. c.xGoogMetadata = metadata.Pairs("x-goog-api-client", gax.XGoogHeader(kv...))
  129. }
  130. // ProjectPath returns the path for the project resource.
  131. func ProjectPath(project string) string {
  132. return "" +
  133. "projects/" +
  134. project +
  135. ""
  136. }
  137. // LocationPath returns the path for the location resource.
  138. func LocationPath(project, location string) string {
  139. return "" +
  140. "projects/" +
  141. project +
  142. "/locations/" +
  143. location +
  144. ""
  145. }
  146. // LocationDataSourcePath returns the path for the location data source resource.
  147. func LocationDataSourcePath(project, location, dataSource string) string {
  148. return "" +
  149. "projects/" +
  150. project +
  151. "/locations/" +
  152. location +
  153. "/dataSources/" +
  154. dataSource +
  155. ""
  156. }
  157. // LocationTransferConfigPath returns the path for the location transfer config resource.
  158. func LocationTransferConfigPath(project, location, transferConfig string) string {
  159. return "" +
  160. "projects/" +
  161. project +
  162. "/locations/" +
  163. location +
  164. "/transferConfigs/" +
  165. transferConfig +
  166. ""
  167. }
  168. // LocationRunPath returns the path for the location run resource.
  169. func LocationRunPath(project, location, transferConfig, run string) string {
  170. return "" +
  171. "projects/" +
  172. project +
  173. "/locations/" +
  174. location +
  175. "/transferConfigs/" +
  176. transferConfig +
  177. "/runs/" +
  178. run +
  179. ""
  180. }
  181. // DataSourcePath returns the path for the data source resource.
  182. func DataSourcePath(project, dataSource string) string {
  183. return "" +
  184. "projects/" +
  185. project +
  186. "/dataSources/" +
  187. dataSource +
  188. ""
  189. }
  190. // TransferConfigPath returns the path for the transfer config resource.
  191. func TransferConfigPath(project, transferConfig string) string {
  192. return "" +
  193. "projects/" +
  194. project +
  195. "/transferConfigs/" +
  196. transferConfig +
  197. ""
  198. }
  199. // RunPath returns the path for the run resource.
  200. func RunPath(project, transferConfig, run string) string {
  201. return "" +
  202. "projects/" +
  203. project +
  204. "/transferConfigs/" +
  205. transferConfig +
  206. "/runs/" +
  207. run +
  208. ""
  209. }
  210. // GetDataSource retrieves a supported data source and returns its settings,
  211. // which can be used for UI rendering.
  212. func (c *Client) GetDataSource(ctx context.Context, req *datatransferpb.GetDataSourceRequest, opts ...gax.CallOption) (*datatransferpb.DataSource, error) {
  213. ctx = insertMetadata(ctx, c.xGoogMetadata)
  214. opts = append(c.CallOptions.GetDataSource[0:len(c.CallOptions.GetDataSource):len(c.CallOptions.GetDataSource)], opts...)
  215. var resp *datatransferpb.DataSource
  216. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  217. var err error
  218. resp, err = c.client.GetDataSource(ctx, req, settings.GRPC...)
  219. return err
  220. }, opts...)
  221. if err != nil {
  222. return nil, err
  223. }
  224. return resp, nil
  225. }
  226. // ListDataSources lists supported data sources and returns their settings,
  227. // which can be used for UI rendering.
  228. func (c *Client) ListDataSources(ctx context.Context, req *datatransferpb.ListDataSourcesRequest, opts ...gax.CallOption) *DataSourceIterator {
  229. ctx = insertMetadata(ctx, c.xGoogMetadata)
  230. opts = append(c.CallOptions.ListDataSources[0:len(c.CallOptions.ListDataSources):len(c.CallOptions.ListDataSources)], opts...)
  231. it := &DataSourceIterator{}
  232. it.InternalFetch = func(pageSize int, pageToken string) ([]*datatransferpb.DataSource, string, error) {
  233. var resp *datatransferpb.ListDataSourcesResponse
  234. req.PageToken = pageToken
  235. if pageSize > math.MaxInt32 {
  236. req.PageSize = math.MaxInt32
  237. } else {
  238. req.PageSize = int32(pageSize)
  239. }
  240. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  241. var err error
  242. resp, err = c.client.ListDataSources(ctx, req, settings.GRPC...)
  243. return err
  244. }, opts...)
  245. if err != nil {
  246. return nil, "", err
  247. }
  248. return resp.DataSources, resp.NextPageToken, nil
  249. }
  250. fetch := func(pageSize int, pageToken string) (string, error) {
  251. items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
  252. if err != nil {
  253. return "", err
  254. }
  255. it.items = append(it.items, items...)
  256. return nextPageToken, nil
  257. }
  258. it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
  259. return it
  260. }
  261. // CreateTransferConfig creates a new data transfer configuration.
  262. func (c *Client) CreateTransferConfig(ctx context.Context, req *datatransferpb.CreateTransferConfigRequest, opts ...gax.CallOption) (*datatransferpb.TransferConfig, error) {
  263. ctx = insertMetadata(ctx, c.xGoogMetadata)
  264. opts = append(c.CallOptions.CreateTransferConfig[0:len(c.CallOptions.CreateTransferConfig):len(c.CallOptions.CreateTransferConfig)], opts...)
  265. var resp *datatransferpb.TransferConfig
  266. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  267. var err error
  268. resp, err = c.client.CreateTransferConfig(ctx, req, settings.GRPC...)
  269. return err
  270. }, opts...)
  271. if err != nil {
  272. return nil, err
  273. }
  274. return resp, nil
  275. }
  276. // UpdateTransferConfig updates a data transfer configuration.
  277. // All fields must be set, even if they are not updated.
  278. func (c *Client) UpdateTransferConfig(ctx context.Context, req *datatransferpb.UpdateTransferConfigRequest, opts ...gax.CallOption) (*datatransferpb.TransferConfig, error) {
  279. ctx = insertMetadata(ctx, c.xGoogMetadata)
  280. opts = append(c.CallOptions.UpdateTransferConfig[0:len(c.CallOptions.UpdateTransferConfig):len(c.CallOptions.UpdateTransferConfig)], opts...)
  281. var resp *datatransferpb.TransferConfig
  282. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  283. var err error
  284. resp, err = c.client.UpdateTransferConfig(ctx, req, settings.GRPC...)
  285. return err
  286. }, opts...)
  287. if err != nil {
  288. return nil, err
  289. }
  290. return resp, nil
  291. }
  292. // DeleteTransferConfig deletes a data transfer configuration,
  293. // including any associated transfer runs and logs.
  294. func (c *Client) DeleteTransferConfig(ctx context.Context, req *datatransferpb.DeleteTransferConfigRequest, opts ...gax.CallOption) error {
  295. ctx = insertMetadata(ctx, c.xGoogMetadata)
  296. opts = append(c.CallOptions.DeleteTransferConfig[0:len(c.CallOptions.DeleteTransferConfig):len(c.CallOptions.DeleteTransferConfig)], opts...)
  297. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  298. var err error
  299. _, err = c.client.DeleteTransferConfig(ctx, req, settings.GRPC...)
  300. return err
  301. }, opts...)
  302. return err
  303. }
  304. // GetTransferConfig returns information about a data transfer config.
  305. func (c *Client) GetTransferConfig(ctx context.Context, req *datatransferpb.GetTransferConfigRequest, opts ...gax.CallOption) (*datatransferpb.TransferConfig, error) {
  306. ctx = insertMetadata(ctx, c.xGoogMetadata)
  307. opts = append(c.CallOptions.GetTransferConfig[0:len(c.CallOptions.GetTransferConfig):len(c.CallOptions.GetTransferConfig)], opts...)
  308. var resp *datatransferpb.TransferConfig
  309. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  310. var err error
  311. resp, err = c.client.GetTransferConfig(ctx, req, settings.GRPC...)
  312. return err
  313. }, opts...)
  314. if err != nil {
  315. return nil, err
  316. }
  317. return resp, nil
  318. }
  319. // ListTransferConfigs returns information about all data transfers in the project.
  320. func (c *Client) ListTransferConfigs(ctx context.Context, req *datatransferpb.ListTransferConfigsRequest, opts ...gax.CallOption) *TransferConfigIterator {
  321. ctx = insertMetadata(ctx, c.xGoogMetadata)
  322. opts = append(c.CallOptions.ListTransferConfigs[0:len(c.CallOptions.ListTransferConfigs):len(c.CallOptions.ListTransferConfigs)], opts...)
  323. it := &TransferConfigIterator{}
  324. it.InternalFetch = func(pageSize int, pageToken string) ([]*datatransferpb.TransferConfig, string, error) {
  325. var resp *datatransferpb.ListTransferConfigsResponse
  326. req.PageToken = pageToken
  327. if pageSize > math.MaxInt32 {
  328. req.PageSize = math.MaxInt32
  329. } else {
  330. req.PageSize = int32(pageSize)
  331. }
  332. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  333. var err error
  334. resp, err = c.client.ListTransferConfigs(ctx, req, settings.GRPC...)
  335. return err
  336. }, opts...)
  337. if err != nil {
  338. return nil, "", err
  339. }
  340. return resp.TransferConfigs, resp.NextPageToken, nil
  341. }
  342. fetch := func(pageSize int, pageToken string) (string, error) {
  343. items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
  344. if err != nil {
  345. return "", err
  346. }
  347. it.items = append(it.items, items...)
  348. return nextPageToken, nil
  349. }
  350. it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
  351. return it
  352. }
  353. // ScheduleTransferRuns creates transfer runs for a time range [range_start_time, range_end_time].
  354. // For each date - or whatever granularity the data source supports - in the
  355. // range, one transfer run is created.
  356. // Note that runs are created per UTC time in the time range.
  357. func (c *Client) ScheduleTransferRuns(ctx context.Context, req *datatransferpb.ScheduleTransferRunsRequest, opts ...gax.CallOption) (*datatransferpb.ScheduleTransferRunsResponse, error) {
  358. ctx = insertMetadata(ctx, c.xGoogMetadata)
  359. opts = append(c.CallOptions.ScheduleTransferRuns[0:len(c.CallOptions.ScheduleTransferRuns):len(c.CallOptions.ScheduleTransferRuns)], opts...)
  360. var resp *datatransferpb.ScheduleTransferRunsResponse
  361. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  362. var err error
  363. resp, err = c.client.ScheduleTransferRuns(ctx, req, settings.GRPC...)
  364. return err
  365. }, opts...)
  366. if err != nil {
  367. return nil, err
  368. }
  369. return resp, nil
  370. }
  371. // GetTransferRun returns information about the particular transfer run.
  372. func (c *Client) GetTransferRun(ctx context.Context, req *datatransferpb.GetTransferRunRequest, opts ...gax.CallOption) (*datatransferpb.TransferRun, error) {
  373. ctx = insertMetadata(ctx, c.xGoogMetadata)
  374. opts = append(c.CallOptions.GetTransferRun[0:len(c.CallOptions.GetTransferRun):len(c.CallOptions.GetTransferRun)], opts...)
  375. var resp *datatransferpb.TransferRun
  376. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  377. var err error
  378. resp, err = c.client.GetTransferRun(ctx, req, settings.GRPC...)
  379. return err
  380. }, opts...)
  381. if err != nil {
  382. return nil, err
  383. }
  384. return resp, nil
  385. }
  386. // DeleteTransferRun deletes the specified transfer run.
  387. func (c *Client) DeleteTransferRun(ctx context.Context, req *datatransferpb.DeleteTransferRunRequest, opts ...gax.CallOption) error {
  388. ctx = insertMetadata(ctx, c.xGoogMetadata)
  389. opts = append(c.CallOptions.DeleteTransferRun[0:len(c.CallOptions.DeleteTransferRun):len(c.CallOptions.DeleteTransferRun)], opts...)
  390. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  391. var err error
  392. _, err = c.client.DeleteTransferRun(ctx, req, settings.GRPC...)
  393. return err
  394. }, opts...)
  395. return err
  396. }
  397. // ListTransferRuns returns information about running and completed jobs.
  398. func (c *Client) ListTransferRuns(ctx context.Context, req *datatransferpb.ListTransferRunsRequest, opts ...gax.CallOption) *TransferRunIterator {
  399. ctx = insertMetadata(ctx, c.xGoogMetadata)
  400. opts = append(c.CallOptions.ListTransferRuns[0:len(c.CallOptions.ListTransferRuns):len(c.CallOptions.ListTransferRuns)], opts...)
  401. it := &TransferRunIterator{}
  402. it.InternalFetch = func(pageSize int, pageToken string) ([]*datatransferpb.TransferRun, string, error) {
  403. var resp *datatransferpb.ListTransferRunsResponse
  404. req.PageToken = pageToken
  405. if pageSize > math.MaxInt32 {
  406. req.PageSize = math.MaxInt32
  407. } else {
  408. req.PageSize = int32(pageSize)
  409. }
  410. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  411. var err error
  412. resp, err = c.client.ListTransferRuns(ctx, req, settings.GRPC...)
  413. return err
  414. }, opts...)
  415. if err != nil {
  416. return nil, "", err
  417. }
  418. return resp.TransferRuns, resp.NextPageToken, nil
  419. }
  420. fetch := func(pageSize int, pageToken string) (string, error) {
  421. items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
  422. if err != nil {
  423. return "", err
  424. }
  425. it.items = append(it.items, items...)
  426. return nextPageToken, nil
  427. }
  428. it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
  429. return it
  430. }
  431. // ListTransferLogs returns user facing log messages for the data transfer run.
  432. func (c *Client) ListTransferLogs(ctx context.Context, req *datatransferpb.ListTransferLogsRequest, opts ...gax.CallOption) *TransferMessageIterator {
  433. ctx = insertMetadata(ctx, c.xGoogMetadata)
  434. opts = append(c.CallOptions.ListTransferLogs[0:len(c.CallOptions.ListTransferLogs):len(c.CallOptions.ListTransferLogs)], opts...)
  435. it := &TransferMessageIterator{}
  436. it.InternalFetch = func(pageSize int, pageToken string) ([]*datatransferpb.TransferMessage, string, error) {
  437. var resp *datatransferpb.ListTransferLogsResponse
  438. req.PageToken = pageToken
  439. if pageSize > math.MaxInt32 {
  440. req.PageSize = math.MaxInt32
  441. } else {
  442. req.PageSize = int32(pageSize)
  443. }
  444. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  445. var err error
  446. resp, err = c.client.ListTransferLogs(ctx, req, settings.GRPC...)
  447. return err
  448. }, opts...)
  449. if err != nil {
  450. return nil, "", err
  451. }
  452. return resp.TransferMessages, resp.NextPageToken, nil
  453. }
  454. fetch := func(pageSize int, pageToken string) (string, error) {
  455. items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
  456. if err != nil {
  457. return "", err
  458. }
  459. it.items = append(it.items, items...)
  460. return nextPageToken, nil
  461. }
  462. it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
  463. return it
  464. }
  465. // CheckValidCreds returns true if valid credentials exist for the given data source and
  466. // requesting user.
  467. // Some data sources doesn't support service account, so we need to talk to
  468. // them on behalf of the end user. This API just checks whether we have OAuth
  469. // token for the particular user, which is a pre-requisite before user can
  470. // create a transfer config.
  471. func (c *Client) CheckValidCreds(ctx context.Context, req *datatransferpb.CheckValidCredsRequest, opts ...gax.CallOption) (*datatransferpb.CheckValidCredsResponse, error) {
  472. ctx = insertMetadata(ctx, c.xGoogMetadata)
  473. opts = append(c.CallOptions.CheckValidCreds[0:len(c.CallOptions.CheckValidCreds):len(c.CallOptions.CheckValidCreds)], opts...)
  474. var resp *datatransferpb.CheckValidCredsResponse
  475. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  476. var err error
  477. resp, err = c.client.CheckValidCreds(ctx, req, settings.GRPC...)
  478. return err
  479. }, opts...)
  480. if err != nil {
  481. return nil, err
  482. }
  483. return resp, nil
  484. }
  485. // DataSourceIterator manages a stream of *datatransferpb.DataSource.
  486. type DataSourceIterator struct {
  487. items []*datatransferpb.DataSource
  488. pageInfo *iterator.PageInfo
  489. nextFunc func() error
  490. // InternalFetch is for use by the Google Cloud Libraries only.
  491. // It is not part of the stable interface of this package.
  492. //
  493. // InternalFetch returns results from a single call to the underlying RPC.
  494. // The number of results is no greater than pageSize.
  495. // If there are no more results, nextPageToken is empty and err is nil.
  496. InternalFetch func(pageSize int, pageToken string) (results []*datatransferpb.DataSource, nextPageToken string, err error)
  497. }
  498. // PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
  499. func (it *DataSourceIterator) PageInfo() *iterator.PageInfo {
  500. return it.pageInfo
  501. }
  502. // Next returns the next result. Its second return value is iterator.Done if there are no more
  503. // results. Once Next returns Done, all subsequent calls will return Done.
  504. func (it *DataSourceIterator) Next() (*datatransferpb.DataSource, error) {
  505. var item *datatransferpb.DataSource
  506. if err := it.nextFunc(); err != nil {
  507. return item, err
  508. }
  509. item = it.items[0]
  510. it.items = it.items[1:]
  511. return item, nil
  512. }
  513. func (it *DataSourceIterator) bufLen() int {
  514. return len(it.items)
  515. }
  516. func (it *DataSourceIterator) takeBuf() interface{} {
  517. b := it.items
  518. it.items = nil
  519. return b
  520. }
  521. // TransferConfigIterator manages a stream of *datatransferpb.TransferConfig.
  522. type TransferConfigIterator struct {
  523. items []*datatransferpb.TransferConfig
  524. pageInfo *iterator.PageInfo
  525. nextFunc func() error
  526. // InternalFetch is for use by the Google Cloud Libraries only.
  527. // It is not part of the stable interface of this package.
  528. //
  529. // InternalFetch returns results from a single call to the underlying RPC.
  530. // The number of results is no greater than pageSize.
  531. // If there are no more results, nextPageToken is empty and err is nil.
  532. InternalFetch func(pageSize int, pageToken string) (results []*datatransferpb.TransferConfig, nextPageToken string, err error)
  533. }
  534. // PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
  535. func (it *TransferConfigIterator) PageInfo() *iterator.PageInfo {
  536. return it.pageInfo
  537. }
  538. // Next returns the next result. Its second return value is iterator.Done if there are no more
  539. // results. Once Next returns Done, all subsequent calls will return Done.
  540. func (it *TransferConfigIterator) Next() (*datatransferpb.TransferConfig, error) {
  541. var item *datatransferpb.TransferConfig
  542. if err := it.nextFunc(); err != nil {
  543. return item, err
  544. }
  545. item = it.items[0]
  546. it.items = it.items[1:]
  547. return item, nil
  548. }
  549. func (it *TransferConfigIterator) bufLen() int {
  550. return len(it.items)
  551. }
  552. func (it *TransferConfigIterator) takeBuf() interface{} {
  553. b := it.items
  554. it.items = nil
  555. return b
  556. }
  557. // TransferMessageIterator manages a stream of *datatransferpb.TransferMessage.
  558. type TransferMessageIterator struct {
  559. items []*datatransferpb.TransferMessage
  560. pageInfo *iterator.PageInfo
  561. nextFunc func() error
  562. // InternalFetch is for use by the Google Cloud Libraries only.
  563. // It is not part of the stable interface of this package.
  564. //
  565. // InternalFetch returns results from a single call to the underlying RPC.
  566. // The number of results is no greater than pageSize.
  567. // If there are no more results, nextPageToken is empty and err is nil.
  568. InternalFetch func(pageSize int, pageToken string) (results []*datatransferpb.TransferMessage, nextPageToken string, err error)
  569. }
  570. // PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
  571. func (it *TransferMessageIterator) PageInfo() *iterator.PageInfo {
  572. return it.pageInfo
  573. }
  574. // Next returns the next result. Its second return value is iterator.Done if there are no more
  575. // results. Once Next returns Done, all subsequent calls will return Done.
  576. func (it *TransferMessageIterator) Next() (*datatransferpb.TransferMessage, error) {
  577. var item *datatransferpb.TransferMessage
  578. if err := it.nextFunc(); err != nil {
  579. return item, err
  580. }
  581. item = it.items[0]
  582. it.items = it.items[1:]
  583. return item, nil
  584. }
  585. func (it *TransferMessageIterator) bufLen() int {
  586. return len(it.items)
  587. }
  588. func (it *TransferMessageIterator) takeBuf() interface{} {
  589. b := it.items
  590. it.items = nil
  591. return b
  592. }
  593. // TransferRunIterator manages a stream of *datatransferpb.TransferRun.
  594. type TransferRunIterator struct {
  595. items []*datatransferpb.TransferRun
  596. pageInfo *iterator.PageInfo
  597. nextFunc func() error
  598. // InternalFetch is for use by the Google Cloud Libraries only.
  599. // It is not part of the stable interface of this package.
  600. //
  601. // InternalFetch returns results from a single call to the underlying RPC.
  602. // The number of results is no greater than pageSize.
  603. // If there are no more results, nextPageToken is empty and err is nil.
  604. InternalFetch func(pageSize int, pageToken string) (results []*datatransferpb.TransferRun, nextPageToken string, err error)
  605. }
  606. // PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
  607. func (it *TransferRunIterator) PageInfo() *iterator.PageInfo {
  608. return it.pageInfo
  609. }
  610. // Next returns the next result. Its second return value is iterator.Done if there are no more
  611. // results. Once Next returns Done, all subsequent calls will return Done.
  612. func (it *TransferRunIterator) Next() (*datatransferpb.TransferRun, error) {
  613. var item *datatransferpb.TransferRun
  614. if err := it.nextFunc(); err != nil {
  615. return item, err
  616. }
  617. item = it.items[0]
  618. it.items = it.items[1:]
  619. return item, nil
  620. }
  621. func (it *TransferRunIterator) bufLen() int {
  622. return len(it.items)
  623. }
  624. func (it *TransferRunIterator) takeBuf() interface{} {
  625. b := it.items
  626. it.items = nil
  627. return b
  628. }