You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1037 lines
41 KiB

  1. // Copyright 2019 Google LLC
  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. // https://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. // Code generated by gapic-generator. DO NOT EDIT.
  15. package dlp
  16. import (
  17. "context"
  18. "math"
  19. "time"
  20. "github.com/golang/protobuf/proto"
  21. gax "github.com/googleapis/gax-go/v2"
  22. "google.golang.org/api/iterator"
  23. "google.golang.org/api/option"
  24. "google.golang.org/api/transport"
  25. dlppb "google.golang.org/genproto/googleapis/privacy/dlp/v2"
  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. InspectContent []gax.CallOption
  33. RedactImage []gax.CallOption
  34. DeidentifyContent []gax.CallOption
  35. ReidentifyContent []gax.CallOption
  36. ListInfoTypes []gax.CallOption
  37. CreateInspectTemplate []gax.CallOption
  38. UpdateInspectTemplate []gax.CallOption
  39. GetInspectTemplate []gax.CallOption
  40. ListInspectTemplates []gax.CallOption
  41. DeleteInspectTemplate []gax.CallOption
  42. CreateDeidentifyTemplate []gax.CallOption
  43. UpdateDeidentifyTemplate []gax.CallOption
  44. GetDeidentifyTemplate []gax.CallOption
  45. ListDeidentifyTemplates []gax.CallOption
  46. DeleteDeidentifyTemplate []gax.CallOption
  47. CreateDlpJob []gax.CallOption
  48. ListDlpJobs []gax.CallOption
  49. GetDlpJob []gax.CallOption
  50. DeleteDlpJob []gax.CallOption
  51. CancelDlpJob []gax.CallOption
  52. ListJobTriggers []gax.CallOption
  53. GetJobTrigger []gax.CallOption
  54. DeleteJobTrigger []gax.CallOption
  55. UpdateJobTrigger []gax.CallOption
  56. CreateJobTrigger []gax.CallOption
  57. CreateStoredInfoType []gax.CallOption
  58. UpdateStoredInfoType []gax.CallOption
  59. GetStoredInfoType []gax.CallOption
  60. ListStoredInfoTypes []gax.CallOption
  61. DeleteStoredInfoType []gax.CallOption
  62. }
  63. func defaultClientOptions() []option.ClientOption {
  64. return []option.ClientOption{
  65. option.WithEndpoint("dlp.googleapis.com:443"),
  66. option.WithScopes(DefaultAuthScopes()...),
  67. }
  68. }
  69. func defaultCallOptions() *CallOptions {
  70. retry := map[[2]string][]gax.CallOption{
  71. {"default", "idempotent"}: {
  72. gax.WithRetry(func() gax.Retryer {
  73. return gax.OnCodes([]codes.Code{
  74. codes.DeadlineExceeded,
  75. codes.Unavailable,
  76. }, gax.Backoff{
  77. Initial: 100 * time.Millisecond,
  78. Max: 60000 * time.Millisecond,
  79. Multiplier: 1.3,
  80. })
  81. }),
  82. },
  83. }
  84. return &CallOptions{
  85. InspectContent: retry[[2]string{"default", "idempotent"}],
  86. RedactImage: retry[[2]string{"default", "idempotent"}],
  87. DeidentifyContent: retry[[2]string{"default", "idempotent"}],
  88. ReidentifyContent: retry[[2]string{"default", "idempotent"}],
  89. ListInfoTypes: retry[[2]string{"default", "idempotent"}],
  90. CreateInspectTemplate: retry[[2]string{"default", "non_idempotent"}],
  91. UpdateInspectTemplate: retry[[2]string{"default", "non_idempotent"}],
  92. GetInspectTemplate: retry[[2]string{"default", "idempotent"}],
  93. ListInspectTemplates: retry[[2]string{"default", "idempotent"}],
  94. DeleteInspectTemplate: retry[[2]string{"default", "idempotent"}],
  95. CreateDeidentifyTemplate: retry[[2]string{"default", "non_idempotent"}],
  96. UpdateDeidentifyTemplate: retry[[2]string{"default", "non_idempotent"}],
  97. GetDeidentifyTemplate: retry[[2]string{"default", "idempotent"}],
  98. ListDeidentifyTemplates: retry[[2]string{"default", "idempotent"}],
  99. DeleteDeidentifyTemplate: retry[[2]string{"default", "idempotent"}],
  100. CreateDlpJob: retry[[2]string{"default", "non_idempotent"}],
  101. ListDlpJobs: retry[[2]string{"default", "idempotent"}],
  102. GetDlpJob: retry[[2]string{"default", "idempotent"}],
  103. DeleteDlpJob: retry[[2]string{"default", "idempotent"}],
  104. CancelDlpJob: retry[[2]string{"default", "non_idempotent"}],
  105. ListJobTriggers: retry[[2]string{"default", "idempotent"}],
  106. GetJobTrigger: retry[[2]string{"default", "idempotent"}],
  107. DeleteJobTrigger: retry[[2]string{"default", "idempotent"}],
  108. UpdateJobTrigger: retry[[2]string{"default", "non_idempotent"}],
  109. CreateJobTrigger: retry[[2]string{"default", "non_idempotent"}],
  110. CreateStoredInfoType: retry[[2]string{"default", "non_idempotent"}],
  111. UpdateStoredInfoType: retry[[2]string{"default", "non_idempotent"}],
  112. GetStoredInfoType: retry[[2]string{"default", "idempotent"}],
  113. ListStoredInfoTypes: retry[[2]string{"default", "idempotent"}],
  114. DeleteStoredInfoType: retry[[2]string{"default", "idempotent"}],
  115. }
  116. }
  117. // Client is a client for interacting with Cloud Data Loss Prevention (DLP) API.
  118. //
  119. // Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
  120. type Client struct {
  121. // The connection to the service.
  122. conn *grpc.ClientConn
  123. // The gRPC API client.
  124. client dlppb.DlpServiceClient
  125. // The call options for this service.
  126. CallOptions *CallOptions
  127. // The x-goog-* metadata to be sent with each request.
  128. xGoogMetadata metadata.MD
  129. }
  130. // NewClient creates a new dlp service client.
  131. //
  132. // The Cloud Data Loss Prevention (DLP) API is a service that allows clients
  133. // to detect the presence of Personally Identifiable Information (PII) and other
  134. // privacy-sensitive data in user-supplied, unstructured data streams, like text
  135. // blocks or images.
  136. // The service also includes methods for sensitive data redaction and
  137. // scheduling of data scans on Google Cloud Platform based data sets.
  138. //
  139. // To learn more about concepts and find how-to guides see
  140. // https://cloud.google.com/dlp/docs/.
  141. func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) {
  142. conn, err := transport.DialGRPC(ctx, append(defaultClientOptions(), opts...)...)
  143. if err != nil {
  144. return nil, err
  145. }
  146. c := &Client{
  147. conn: conn,
  148. CallOptions: defaultCallOptions(),
  149. client: dlppb.NewDlpServiceClient(conn),
  150. }
  151. c.setGoogleClientInfo()
  152. return c, nil
  153. }
  154. // Connection returns the client's connection to the API service.
  155. func (c *Client) Connection() *grpc.ClientConn {
  156. return c.conn
  157. }
  158. // Close closes the connection to the API service. The user should invoke this when
  159. // the client is no longer required.
  160. func (c *Client) Close() error {
  161. return c.conn.Close()
  162. }
  163. // setGoogleClientInfo sets the name and version of the application in
  164. // the `x-goog-api-client` header passed on each request. Intended for
  165. // use by Google-written clients.
  166. func (c *Client) setGoogleClientInfo(keyval ...string) {
  167. kv := append([]string{"gl-go", versionGo()}, keyval...)
  168. kv = append(kv, "gapic", versionClient, "gax", gax.Version, "grpc", grpc.Version)
  169. c.xGoogMetadata = metadata.Pairs("x-goog-api-client", gax.XGoogHeader(kv...))
  170. }
  171. // InspectContent finds potentially sensitive info in content.
  172. // This method has limits on input size, processing time, and output size.
  173. //
  174. // When no InfoTypes or CustomInfoTypes are specified in this request, the
  175. // system will automatically choose what detectors to run. By default this may
  176. // be all types, but may change over time as detectors are updated.
  177. //
  178. // For how to guides, see https://cloud.google.com/dlp/docs/inspecting-images
  179. // and https://cloud.google.com/dlp/docs/inspecting-text,
  180. func (c *Client) InspectContent(ctx context.Context, req *dlppb.InspectContentRequest, opts ...gax.CallOption) (*dlppb.InspectContentResponse, error) {
  181. ctx = insertMetadata(ctx, c.xGoogMetadata)
  182. opts = append(c.CallOptions.InspectContent[0:len(c.CallOptions.InspectContent):len(c.CallOptions.InspectContent)], opts...)
  183. var resp *dlppb.InspectContentResponse
  184. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  185. var err error
  186. resp, err = c.client.InspectContent(ctx, req, settings.GRPC...)
  187. return err
  188. }, opts...)
  189. if err != nil {
  190. return nil, err
  191. }
  192. return resp, nil
  193. }
  194. // RedactImage redacts potentially sensitive info from an image.
  195. // This method has limits on input size, processing time, and output size.
  196. // See https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to
  197. // learn more.
  198. //
  199. // When no InfoTypes or CustomInfoTypes are specified in this request, the
  200. // system will automatically choose what detectors to run. By default this may
  201. // be all types, but may change over time as detectors are updated.
  202. func (c *Client) RedactImage(ctx context.Context, req *dlppb.RedactImageRequest, opts ...gax.CallOption) (*dlppb.RedactImageResponse, error) {
  203. ctx = insertMetadata(ctx, c.xGoogMetadata)
  204. opts = append(c.CallOptions.RedactImage[0:len(c.CallOptions.RedactImage):len(c.CallOptions.RedactImage)], opts...)
  205. var resp *dlppb.RedactImageResponse
  206. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  207. var err error
  208. resp, err = c.client.RedactImage(ctx, req, settings.GRPC...)
  209. return err
  210. }, opts...)
  211. if err != nil {
  212. return nil, err
  213. }
  214. return resp, nil
  215. }
  216. // DeidentifyContent de-identifies potentially sensitive info from a ContentItem.
  217. // This method has limits on input size and output size.
  218. // See https://cloud.google.com/dlp/docs/deidentify-sensitive-data to
  219. // learn more.
  220. //
  221. // When no InfoTypes or CustomInfoTypes are specified in this request, the
  222. // system will automatically choose what detectors to run. By default this may
  223. // be all types, but may change over time as detectors are updated.
  224. func (c *Client) DeidentifyContent(ctx context.Context, req *dlppb.DeidentifyContentRequest, opts ...gax.CallOption) (*dlppb.DeidentifyContentResponse, error) {
  225. ctx = insertMetadata(ctx, c.xGoogMetadata)
  226. opts = append(c.CallOptions.DeidentifyContent[0:len(c.CallOptions.DeidentifyContent):len(c.CallOptions.DeidentifyContent)], opts...)
  227. var resp *dlppb.DeidentifyContentResponse
  228. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  229. var err error
  230. resp, err = c.client.DeidentifyContent(ctx, req, settings.GRPC...)
  231. return err
  232. }, opts...)
  233. if err != nil {
  234. return nil, err
  235. }
  236. return resp, nil
  237. }
  238. // ReidentifyContent re-identifies content that has been de-identified.
  239. // See
  240. // https://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example
  241. // to learn more.
  242. func (c *Client) ReidentifyContent(ctx context.Context, req *dlppb.ReidentifyContentRequest, opts ...gax.CallOption) (*dlppb.ReidentifyContentResponse, error) {
  243. ctx = insertMetadata(ctx, c.xGoogMetadata)
  244. opts = append(c.CallOptions.ReidentifyContent[0:len(c.CallOptions.ReidentifyContent):len(c.CallOptions.ReidentifyContent)], opts...)
  245. var resp *dlppb.ReidentifyContentResponse
  246. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  247. var err error
  248. resp, err = c.client.ReidentifyContent(ctx, req, settings.GRPC...)
  249. return err
  250. }, opts...)
  251. if err != nil {
  252. return nil, err
  253. }
  254. return resp, nil
  255. }
  256. // ListInfoTypes returns a list of the sensitive information types that the DLP API
  257. // supports. See https://cloud.google.com/dlp/docs/infotypes-reference to
  258. // learn more.
  259. func (c *Client) ListInfoTypes(ctx context.Context, req *dlppb.ListInfoTypesRequest, opts ...gax.CallOption) (*dlppb.ListInfoTypesResponse, error) {
  260. ctx = insertMetadata(ctx, c.xGoogMetadata)
  261. opts = append(c.CallOptions.ListInfoTypes[0:len(c.CallOptions.ListInfoTypes):len(c.CallOptions.ListInfoTypes)], opts...)
  262. var resp *dlppb.ListInfoTypesResponse
  263. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  264. var err error
  265. resp, err = c.client.ListInfoTypes(ctx, req, settings.GRPC...)
  266. return err
  267. }, opts...)
  268. if err != nil {
  269. return nil, err
  270. }
  271. return resp, nil
  272. }
  273. // CreateInspectTemplate creates an InspectTemplate for re-using frequently used configuration
  274. // for inspecting content, images, and storage.
  275. // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
  276. func (c *Client) CreateInspectTemplate(ctx context.Context, req *dlppb.CreateInspectTemplateRequest, opts ...gax.CallOption) (*dlppb.InspectTemplate, error) {
  277. ctx = insertMetadata(ctx, c.xGoogMetadata)
  278. opts = append(c.CallOptions.CreateInspectTemplate[0:len(c.CallOptions.CreateInspectTemplate):len(c.CallOptions.CreateInspectTemplate)], opts...)
  279. var resp *dlppb.InspectTemplate
  280. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  281. var err error
  282. resp, err = c.client.CreateInspectTemplate(ctx, req, settings.GRPC...)
  283. return err
  284. }, opts...)
  285. if err != nil {
  286. return nil, err
  287. }
  288. return resp, nil
  289. }
  290. // UpdateInspectTemplate updates the InspectTemplate.
  291. // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
  292. func (c *Client) UpdateInspectTemplate(ctx context.Context, req *dlppb.UpdateInspectTemplateRequest, opts ...gax.CallOption) (*dlppb.InspectTemplate, error) {
  293. ctx = insertMetadata(ctx, c.xGoogMetadata)
  294. opts = append(c.CallOptions.UpdateInspectTemplate[0:len(c.CallOptions.UpdateInspectTemplate):len(c.CallOptions.UpdateInspectTemplate)], opts...)
  295. var resp *dlppb.InspectTemplate
  296. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  297. var err error
  298. resp, err = c.client.UpdateInspectTemplate(ctx, req, settings.GRPC...)
  299. return err
  300. }, opts...)
  301. if err != nil {
  302. return nil, err
  303. }
  304. return resp, nil
  305. }
  306. // GetInspectTemplate gets an InspectTemplate.
  307. // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
  308. func (c *Client) GetInspectTemplate(ctx context.Context, req *dlppb.GetInspectTemplateRequest, opts ...gax.CallOption) (*dlppb.InspectTemplate, error) {
  309. ctx = insertMetadata(ctx, c.xGoogMetadata)
  310. opts = append(c.CallOptions.GetInspectTemplate[0:len(c.CallOptions.GetInspectTemplate):len(c.CallOptions.GetInspectTemplate)], opts...)
  311. var resp *dlppb.InspectTemplate
  312. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  313. var err error
  314. resp, err = c.client.GetInspectTemplate(ctx, req, settings.GRPC...)
  315. return err
  316. }, opts...)
  317. if err != nil {
  318. return nil, err
  319. }
  320. return resp, nil
  321. }
  322. // ListInspectTemplates lists InspectTemplates.
  323. // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
  324. func (c *Client) ListInspectTemplates(ctx context.Context, req *dlppb.ListInspectTemplatesRequest, opts ...gax.CallOption) *InspectTemplateIterator {
  325. ctx = insertMetadata(ctx, c.xGoogMetadata)
  326. opts = append(c.CallOptions.ListInspectTemplates[0:len(c.CallOptions.ListInspectTemplates):len(c.CallOptions.ListInspectTemplates)], opts...)
  327. it := &InspectTemplateIterator{}
  328. req = proto.Clone(req).(*dlppb.ListInspectTemplatesRequest)
  329. it.InternalFetch = func(pageSize int, pageToken string) ([]*dlppb.InspectTemplate, string, error) {
  330. var resp *dlppb.ListInspectTemplatesResponse
  331. req.PageToken = pageToken
  332. if pageSize > math.MaxInt32 {
  333. req.PageSize = math.MaxInt32
  334. } else {
  335. req.PageSize = int32(pageSize)
  336. }
  337. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  338. var err error
  339. resp, err = c.client.ListInspectTemplates(ctx, req, settings.GRPC...)
  340. return err
  341. }, opts...)
  342. if err != nil {
  343. return nil, "", err
  344. }
  345. return resp.InspectTemplates, resp.NextPageToken, nil
  346. }
  347. fetch := func(pageSize int, pageToken string) (string, error) {
  348. items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
  349. if err != nil {
  350. return "", err
  351. }
  352. it.items = append(it.items, items...)
  353. return nextPageToken, nil
  354. }
  355. it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
  356. it.pageInfo.MaxSize = int(req.PageSize)
  357. return it
  358. }
  359. // DeleteInspectTemplate deletes an InspectTemplate.
  360. // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
  361. func (c *Client) DeleteInspectTemplate(ctx context.Context, req *dlppb.DeleteInspectTemplateRequest, opts ...gax.CallOption) error {
  362. ctx = insertMetadata(ctx, c.xGoogMetadata)
  363. opts = append(c.CallOptions.DeleteInspectTemplate[0:len(c.CallOptions.DeleteInspectTemplate):len(c.CallOptions.DeleteInspectTemplate)], opts...)
  364. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  365. var err error
  366. _, err = c.client.DeleteInspectTemplate(ctx, req, settings.GRPC...)
  367. return err
  368. }, opts...)
  369. return err
  370. }
  371. // CreateDeidentifyTemplate creates a DeidentifyTemplate for re-using frequently used configuration
  372. // for de-identifying content, images, and storage.
  373. // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
  374. // more.
  375. func (c *Client) CreateDeidentifyTemplate(ctx context.Context, req *dlppb.CreateDeidentifyTemplateRequest, opts ...gax.CallOption) (*dlppb.DeidentifyTemplate, error) {
  376. ctx = insertMetadata(ctx, c.xGoogMetadata)
  377. opts = append(c.CallOptions.CreateDeidentifyTemplate[0:len(c.CallOptions.CreateDeidentifyTemplate):len(c.CallOptions.CreateDeidentifyTemplate)], opts...)
  378. var resp *dlppb.DeidentifyTemplate
  379. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  380. var err error
  381. resp, err = c.client.CreateDeidentifyTemplate(ctx, req, settings.GRPC...)
  382. return err
  383. }, opts...)
  384. if err != nil {
  385. return nil, err
  386. }
  387. return resp, nil
  388. }
  389. // UpdateDeidentifyTemplate updates the DeidentifyTemplate.
  390. // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
  391. // more.
  392. func (c *Client) UpdateDeidentifyTemplate(ctx context.Context, req *dlppb.UpdateDeidentifyTemplateRequest, opts ...gax.CallOption) (*dlppb.DeidentifyTemplate, error) {
  393. ctx = insertMetadata(ctx, c.xGoogMetadata)
  394. opts = append(c.CallOptions.UpdateDeidentifyTemplate[0:len(c.CallOptions.UpdateDeidentifyTemplate):len(c.CallOptions.UpdateDeidentifyTemplate)], opts...)
  395. var resp *dlppb.DeidentifyTemplate
  396. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  397. var err error
  398. resp, err = c.client.UpdateDeidentifyTemplate(ctx, req, settings.GRPC...)
  399. return err
  400. }, opts...)
  401. if err != nil {
  402. return nil, err
  403. }
  404. return resp, nil
  405. }
  406. // GetDeidentifyTemplate gets a DeidentifyTemplate.
  407. // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
  408. // more.
  409. func (c *Client) GetDeidentifyTemplate(ctx context.Context, req *dlppb.GetDeidentifyTemplateRequest, opts ...gax.CallOption) (*dlppb.DeidentifyTemplate, error) {
  410. ctx = insertMetadata(ctx, c.xGoogMetadata)
  411. opts = append(c.CallOptions.GetDeidentifyTemplate[0:len(c.CallOptions.GetDeidentifyTemplate):len(c.CallOptions.GetDeidentifyTemplate)], opts...)
  412. var resp *dlppb.DeidentifyTemplate
  413. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  414. var err error
  415. resp, err = c.client.GetDeidentifyTemplate(ctx, req, settings.GRPC...)
  416. return err
  417. }, opts...)
  418. if err != nil {
  419. return nil, err
  420. }
  421. return resp, nil
  422. }
  423. // ListDeidentifyTemplates lists DeidentifyTemplates.
  424. // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
  425. // more.
  426. func (c *Client) ListDeidentifyTemplates(ctx context.Context, req *dlppb.ListDeidentifyTemplatesRequest, opts ...gax.CallOption) *DeidentifyTemplateIterator {
  427. ctx = insertMetadata(ctx, c.xGoogMetadata)
  428. opts = append(c.CallOptions.ListDeidentifyTemplates[0:len(c.CallOptions.ListDeidentifyTemplates):len(c.CallOptions.ListDeidentifyTemplates)], opts...)
  429. it := &DeidentifyTemplateIterator{}
  430. req = proto.Clone(req).(*dlppb.ListDeidentifyTemplatesRequest)
  431. it.InternalFetch = func(pageSize int, pageToken string) ([]*dlppb.DeidentifyTemplate, string, error) {
  432. var resp *dlppb.ListDeidentifyTemplatesResponse
  433. req.PageToken = pageToken
  434. if pageSize > math.MaxInt32 {
  435. req.PageSize = math.MaxInt32
  436. } else {
  437. req.PageSize = int32(pageSize)
  438. }
  439. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  440. var err error
  441. resp, err = c.client.ListDeidentifyTemplates(ctx, req, settings.GRPC...)
  442. return err
  443. }, opts...)
  444. if err != nil {
  445. return nil, "", err
  446. }
  447. return resp.DeidentifyTemplates, resp.NextPageToken, nil
  448. }
  449. fetch := func(pageSize int, pageToken string) (string, error) {
  450. items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
  451. if err != nil {
  452. return "", err
  453. }
  454. it.items = append(it.items, items...)
  455. return nextPageToken, nil
  456. }
  457. it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
  458. it.pageInfo.MaxSize = int(req.PageSize)
  459. return it
  460. }
  461. // DeleteDeidentifyTemplate deletes a DeidentifyTemplate.
  462. // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
  463. // more.
  464. func (c *Client) DeleteDeidentifyTemplate(ctx context.Context, req *dlppb.DeleteDeidentifyTemplateRequest, opts ...gax.CallOption) error {
  465. ctx = insertMetadata(ctx, c.xGoogMetadata)
  466. opts = append(c.CallOptions.DeleteDeidentifyTemplate[0:len(c.CallOptions.DeleteDeidentifyTemplate):len(c.CallOptions.DeleteDeidentifyTemplate)], opts...)
  467. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  468. var err error
  469. _, err = c.client.DeleteDeidentifyTemplate(ctx, req, settings.GRPC...)
  470. return err
  471. }, opts...)
  472. return err
  473. }
  474. // CreateDlpJob creates a new job to inspect storage or calculate risk metrics.
  475. // See https://cloud.google.com/dlp/docs/inspecting-storage and
  476. // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
  477. //
  478. // When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the
  479. // system will automatically choose what detectors to run. By default this may
  480. // be all types, but may change over time as detectors are updated.
  481. func (c *Client) CreateDlpJob(ctx context.Context, req *dlppb.CreateDlpJobRequest, opts ...gax.CallOption) (*dlppb.DlpJob, error) {
  482. ctx = insertMetadata(ctx, c.xGoogMetadata)
  483. opts = append(c.CallOptions.CreateDlpJob[0:len(c.CallOptions.CreateDlpJob):len(c.CallOptions.CreateDlpJob)], opts...)
  484. var resp *dlppb.DlpJob
  485. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  486. var err error
  487. resp, err = c.client.CreateDlpJob(ctx, req, settings.GRPC...)
  488. return err
  489. }, opts...)
  490. if err != nil {
  491. return nil, err
  492. }
  493. return resp, nil
  494. }
  495. // ListDlpJobs lists DlpJobs that match the specified filter in the request.
  496. // See https://cloud.google.com/dlp/docs/inspecting-storage and
  497. // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
  498. func (c *Client) ListDlpJobs(ctx context.Context, req *dlppb.ListDlpJobsRequest, opts ...gax.CallOption) *DlpJobIterator {
  499. ctx = insertMetadata(ctx, c.xGoogMetadata)
  500. opts = append(c.CallOptions.ListDlpJobs[0:len(c.CallOptions.ListDlpJobs):len(c.CallOptions.ListDlpJobs)], opts...)
  501. it := &DlpJobIterator{}
  502. req = proto.Clone(req).(*dlppb.ListDlpJobsRequest)
  503. it.InternalFetch = func(pageSize int, pageToken string) ([]*dlppb.DlpJob, string, error) {
  504. var resp *dlppb.ListDlpJobsResponse
  505. req.PageToken = pageToken
  506. if pageSize > math.MaxInt32 {
  507. req.PageSize = math.MaxInt32
  508. } else {
  509. req.PageSize = int32(pageSize)
  510. }
  511. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  512. var err error
  513. resp, err = c.client.ListDlpJobs(ctx, req, settings.GRPC...)
  514. return err
  515. }, opts...)
  516. if err != nil {
  517. return nil, "", err
  518. }
  519. return resp.Jobs, resp.NextPageToken, nil
  520. }
  521. fetch := func(pageSize int, pageToken string) (string, error) {
  522. items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
  523. if err != nil {
  524. return "", err
  525. }
  526. it.items = append(it.items, items...)
  527. return nextPageToken, nil
  528. }
  529. it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
  530. it.pageInfo.MaxSize = int(req.PageSize)
  531. return it
  532. }
  533. // GetDlpJob gets the latest state of a long-running DlpJob.
  534. // See https://cloud.google.com/dlp/docs/inspecting-storage and
  535. // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
  536. func (c *Client) GetDlpJob(ctx context.Context, req *dlppb.GetDlpJobRequest, opts ...gax.CallOption) (*dlppb.DlpJob, error) {
  537. ctx = insertMetadata(ctx, c.xGoogMetadata)
  538. opts = append(c.CallOptions.GetDlpJob[0:len(c.CallOptions.GetDlpJob):len(c.CallOptions.GetDlpJob)], opts...)
  539. var resp *dlppb.DlpJob
  540. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  541. var err error
  542. resp, err = c.client.GetDlpJob(ctx, req, settings.GRPC...)
  543. return err
  544. }, opts...)
  545. if err != nil {
  546. return nil, err
  547. }
  548. return resp, nil
  549. }
  550. // DeleteDlpJob deletes a long-running DlpJob. This method indicates that the client is
  551. // no longer interested in the DlpJob result. The job will be cancelled if
  552. // possible.
  553. // See https://cloud.google.com/dlp/docs/inspecting-storage and
  554. // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
  555. func (c *Client) DeleteDlpJob(ctx context.Context, req *dlppb.DeleteDlpJobRequest, opts ...gax.CallOption) error {
  556. ctx = insertMetadata(ctx, c.xGoogMetadata)
  557. opts = append(c.CallOptions.DeleteDlpJob[0:len(c.CallOptions.DeleteDlpJob):len(c.CallOptions.DeleteDlpJob)], opts...)
  558. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  559. var err error
  560. _, err = c.client.DeleteDlpJob(ctx, req, settings.GRPC...)
  561. return err
  562. }, opts...)
  563. return err
  564. }
  565. // CancelDlpJob starts asynchronous cancellation on a long-running DlpJob. The server
  566. // makes a best effort to cancel the DlpJob, but success is not
  567. // guaranteed.
  568. // See https://cloud.google.com/dlp/docs/inspecting-storage and
  569. // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
  570. func (c *Client) CancelDlpJob(ctx context.Context, req *dlppb.CancelDlpJobRequest, opts ...gax.CallOption) error {
  571. ctx = insertMetadata(ctx, c.xGoogMetadata)
  572. opts = append(c.CallOptions.CancelDlpJob[0:len(c.CallOptions.CancelDlpJob):len(c.CallOptions.CancelDlpJob)], opts...)
  573. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  574. var err error
  575. _, err = c.client.CancelDlpJob(ctx, req, settings.GRPC...)
  576. return err
  577. }, opts...)
  578. return err
  579. }
  580. // ListJobTriggers lists job triggers.
  581. // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
  582. func (c *Client) ListJobTriggers(ctx context.Context, req *dlppb.ListJobTriggersRequest, opts ...gax.CallOption) *JobTriggerIterator {
  583. ctx = insertMetadata(ctx, c.xGoogMetadata)
  584. opts = append(c.CallOptions.ListJobTriggers[0:len(c.CallOptions.ListJobTriggers):len(c.CallOptions.ListJobTriggers)], opts...)
  585. it := &JobTriggerIterator{}
  586. req = proto.Clone(req).(*dlppb.ListJobTriggersRequest)
  587. it.InternalFetch = func(pageSize int, pageToken string) ([]*dlppb.JobTrigger, string, error) {
  588. var resp *dlppb.ListJobTriggersResponse
  589. req.PageToken = pageToken
  590. if pageSize > math.MaxInt32 {
  591. req.PageSize = math.MaxInt32
  592. } else {
  593. req.PageSize = int32(pageSize)
  594. }
  595. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  596. var err error
  597. resp, err = c.client.ListJobTriggers(ctx, req, settings.GRPC...)
  598. return err
  599. }, opts...)
  600. if err != nil {
  601. return nil, "", err
  602. }
  603. return resp.JobTriggers, resp.NextPageToken, nil
  604. }
  605. fetch := func(pageSize int, pageToken string) (string, error) {
  606. items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
  607. if err != nil {
  608. return "", err
  609. }
  610. it.items = append(it.items, items...)
  611. return nextPageToken, nil
  612. }
  613. it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
  614. it.pageInfo.MaxSize = int(req.PageSize)
  615. return it
  616. }
  617. // GetJobTrigger gets a job trigger.
  618. // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
  619. func (c *Client) GetJobTrigger(ctx context.Context, req *dlppb.GetJobTriggerRequest, opts ...gax.CallOption) (*dlppb.JobTrigger, error) {
  620. ctx = insertMetadata(ctx, c.xGoogMetadata)
  621. opts = append(c.CallOptions.GetJobTrigger[0:len(c.CallOptions.GetJobTrigger):len(c.CallOptions.GetJobTrigger)], opts...)
  622. var resp *dlppb.JobTrigger
  623. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  624. var err error
  625. resp, err = c.client.GetJobTrigger(ctx, req, settings.GRPC...)
  626. return err
  627. }, opts...)
  628. if err != nil {
  629. return nil, err
  630. }
  631. return resp, nil
  632. }
  633. // DeleteJobTrigger deletes a job trigger.
  634. // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
  635. func (c *Client) DeleteJobTrigger(ctx context.Context, req *dlppb.DeleteJobTriggerRequest, opts ...gax.CallOption) error {
  636. ctx = insertMetadata(ctx, c.xGoogMetadata)
  637. opts = append(c.CallOptions.DeleteJobTrigger[0:len(c.CallOptions.DeleteJobTrigger):len(c.CallOptions.DeleteJobTrigger)], opts...)
  638. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  639. var err error
  640. _, err = c.client.DeleteJobTrigger(ctx, req, settings.GRPC...)
  641. return err
  642. }, opts...)
  643. return err
  644. }
  645. // UpdateJobTrigger updates a job trigger.
  646. // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
  647. func (c *Client) UpdateJobTrigger(ctx context.Context, req *dlppb.UpdateJobTriggerRequest, opts ...gax.CallOption) (*dlppb.JobTrigger, error) {
  648. ctx = insertMetadata(ctx, c.xGoogMetadata)
  649. opts = append(c.CallOptions.UpdateJobTrigger[0:len(c.CallOptions.UpdateJobTrigger):len(c.CallOptions.UpdateJobTrigger)], opts...)
  650. var resp *dlppb.JobTrigger
  651. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  652. var err error
  653. resp, err = c.client.UpdateJobTrigger(ctx, req, settings.GRPC...)
  654. return err
  655. }, opts...)
  656. if err != nil {
  657. return nil, err
  658. }
  659. return resp, nil
  660. }
  661. // CreateJobTrigger creates a job trigger to run DLP actions such as scanning storage for
  662. // sensitive information on a set schedule.
  663. // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
  664. func (c *Client) CreateJobTrigger(ctx context.Context, req *dlppb.CreateJobTriggerRequest, opts ...gax.CallOption) (*dlppb.JobTrigger, error) {
  665. ctx = insertMetadata(ctx, c.xGoogMetadata)
  666. opts = append(c.CallOptions.CreateJobTrigger[0:len(c.CallOptions.CreateJobTrigger):len(c.CallOptions.CreateJobTrigger)], opts...)
  667. var resp *dlppb.JobTrigger
  668. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  669. var err error
  670. resp, err = c.client.CreateJobTrigger(ctx, req, settings.GRPC...)
  671. return err
  672. }, opts...)
  673. if err != nil {
  674. return nil, err
  675. }
  676. return resp, nil
  677. }
  678. // CreateStoredInfoType creates a pre-built stored infoType to be used for inspection.
  679. // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
  680. // learn more.
  681. func (c *Client) CreateStoredInfoType(ctx context.Context, req *dlppb.CreateStoredInfoTypeRequest, opts ...gax.CallOption) (*dlppb.StoredInfoType, error) {
  682. ctx = insertMetadata(ctx, c.xGoogMetadata)
  683. opts = append(c.CallOptions.CreateStoredInfoType[0:len(c.CallOptions.CreateStoredInfoType):len(c.CallOptions.CreateStoredInfoType)], opts...)
  684. var resp *dlppb.StoredInfoType
  685. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  686. var err error
  687. resp, err = c.client.CreateStoredInfoType(ctx, req, settings.GRPC...)
  688. return err
  689. }, opts...)
  690. if err != nil {
  691. return nil, err
  692. }
  693. return resp, nil
  694. }
  695. // UpdateStoredInfoType updates the stored infoType by creating a new version. The existing version
  696. // will continue to be used until the new version is ready.
  697. // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
  698. // learn more.
  699. func (c *Client) UpdateStoredInfoType(ctx context.Context, req *dlppb.UpdateStoredInfoTypeRequest, opts ...gax.CallOption) (*dlppb.StoredInfoType, error) {
  700. ctx = insertMetadata(ctx, c.xGoogMetadata)
  701. opts = append(c.CallOptions.UpdateStoredInfoType[0:len(c.CallOptions.UpdateStoredInfoType):len(c.CallOptions.UpdateStoredInfoType)], opts...)
  702. var resp *dlppb.StoredInfoType
  703. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  704. var err error
  705. resp, err = c.client.UpdateStoredInfoType(ctx, req, settings.GRPC...)
  706. return err
  707. }, opts...)
  708. if err != nil {
  709. return nil, err
  710. }
  711. return resp, nil
  712. }
  713. // GetStoredInfoType gets a stored infoType.
  714. // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
  715. // learn more.
  716. func (c *Client) GetStoredInfoType(ctx context.Context, req *dlppb.GetStoredInfoTypeRequest, opts ...gax.CallOption) (*dlppb.StoredInfoType, error) {
  717. ctx = insertMetadata(ctx, c.xGoogMetadata)
  718. opts = append(c.CallOptions.GetStoredInfoType[0:len(c.CallOptions.GetStoredInfoType):len(c.CallOptions.GetStoredInfoType)], opts...)
  719. var resp *dlppb.StoredInfoType
  720. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  721. var err error
  722. resp, err = c.client.GetStoredInfoType(ctx, req, settings.GRPC...)
  723. return err
  724. }, opts...)
  725. if err != nil {
  726. return nil, err
  727. }
  728. return resp, nil
  729. }
  730. // ListStoredInfoTypes lists stored infoTypes.
  731. // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
  732. // learn more.
  733. func (c *Client) ListStoredInfoTypes(ctx context.Context, req *dlppb.ListStoredInfoTypesRequest, opts ...gax.CallOption) *StoredInfoTypeIterator {
  734. ctx = insertMetadata(ctx, c.xGoogMetadata)
  735. opts = append(c.CallOptions.ListStoredInfoTypes[0:len(c.CallOptions.ListStoredInfoTypes):len(c.CallOptions.ListStoredInfoTypes)], opts...)
  736. it := &StoredInfoTypeIterator{}
  737. req = proto.Clone(req).(*dlppb.ListStoredInfoTypesRequest)
  738. it.InternalFetch = func(pageSize int, pageToken string) ([]*dlppb.StoredInfoType, string, error) {
  739. var resp *dlppb.ListStoredInfoTypesResponse
  740. req.PageToken = pageToken
  741. if pageSize > math.MaxInt32 {
  742. req.PageSize = math.MaxInt32
  743. } else {
  744. req.PageSize = int32(pageSize)
  745. }
  746. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  747. var err error
  748. resp, err = c.client.ListStoredInfoTypes(ctx, req, settings.GRPC...)
  749. return err
  750. }, opts...)
  751. if err != nil {
  752. return nil, "", err
  753. }
  754. return resp.StoredInfoTypes, resp.NextPageToken, nil
  755. }
  756. fetch := func(pageSize int, pageToken string) (string, error) {
  757. items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
  758. if err != nil {
  759. return "", err
  760. }
  761. it.items = append(it.items, items...)
  762. return nextPageToken, nil
  763. }
  764. it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
  765. it.pageInfo.MaxSize = int(req.PageSize)
  766. return it
  767. }
  768. // DeleteStoredInfoType deletes a stored infoType.
  769. // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
  770. // learn more.
  771. func (c *Client) DeleteStoredInfoType(ctx context.Context, req *dlppb.DeleteStoredInfoTypeRequest, opts ...gax.CallOption) error {
  772. ctx = insertMetadata(ctx, c.xGoogMetadata)
  773. opts = append(c.CallOptions.DeleteStoredInfoType[0:len(c.CallOptions.DeleteStoredInfoType):len(c.CallOptions.DeleteStoredInfoType)], opts...)
  774. err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
  775. var err error
  776. _, err = c.client.DeleteStoredInfoType(ctx, req, settings.GRPC...)
  777. return err
  778. }, opts...)
  779. return err
  780. }
  781. // DeidentifyTemplateIterator manages a stream of *dlppb.DeidentifyTemplate.
  782. type DeidentifyTemplateIterator struct {
  783. items []*dlppb.DeidentifyTemplate
  784. pageInfo *iterator.PageInfo
  785. nextFunc func() error
  786. // InternalFetch is for use by the Google Cloud Libraries only.
  787. // It is not part of the stable interface of this package.
  788. //
  789. // InternalFetch returns results from a single call to the underlying RPC.
  790. // The number of results is no greater than pageSize.
  791. // If there are no more results, nextPageToken is empty and err is nil.
  792. InternalFetch func(pageSize int, pageToken string) (results []*dlppb.DeidentifyTemplate, nextPageToken string, err error)
  793. }
  794. // PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
  795. func (it *DeidentifyTemplateIterator) PageInfo() *iterator.PageInfo {
  796. return it.pageInfo
  797. }
  798. // Next returns the next result. Its second return value is iterator.Done if there are no more
  799. // results. Once Next returns Done, all subsequent calls will return Done.
  800. func (it *DeidentifyTemplateIterator) Next() (*dlppb.DeidentifyTemplate, error) {
  801. var item *dlppb.DeidentifyTemplate
  802. if err := it.nextFunc(); err != nil {
  803. return item, err
  804. }
  805. item = it.items[0]
  806. it.items = it.items[1:]
  807. return item, nil
  808. }
  809. func (it *DeidentifyTemplateIterator) bufLen() int {
  810. return len(it.items)
  811. }
  812. func (it *DeidentifyTemplateIterator) takeBuf() interface{} {
  813. b := it.items
  814. it.items = nil
  815. return b
  816. }
  817. // DlpJobIterator manages a stream of *dlppb.DlpJob.
  818. type DlpJobIterator struct {
  819. items []*dlppb.DlpJob
  820. pageInfo *iterator.PageInfo
  821. nextFunc func() error
  822. // InternalFetch is for use by the Google Cloud Libraries only.
  823. // It is not part of the stable interface of this package.
  824. //
  825. // InternalFetch returns results from a single call to the underlying RPC.
  826. // The number of results is no greater than pageSize.
  827. // If there are no more results, nextPageToken is empty and err is nil.
  828. InternalFetch func(pageSize int, pageToken string) (results []*dlppb.DlpJob, nextPageToken string, err error)
  829. }
  830. // PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
  831. func (it *DlpJobIterator) PageInfo() *iterator.PageInfo {
  832. return it.pageInfo
  833. }
  834. // Next returns the next result. Its second return value is iterator.Done if there are no more
  835. // results. Once Next returns Done, all subsequent calls will return Done.
  836. func (it *DlpJobIterator) Next() (*dlppb.DlpJob, error) {
  837. var item *dlppb.DlpJob
  838. if err := it.nextFunc(); err != nil {
  839. return item, err
  840. }
  841. item = it.items[0]
  842. it.items = it.items[1:]
  843. return item, nil
  844. }
  845. func (it *DlpJobIterator) bufLen() int {
  846. return len(it.items)
  847. }
  848. func (it *DlpJobIterator) takeBuf() interface{} {
  849. b := it.items
  850. it.items = nil
  851. return b
  852. }
  853. // InspectTemplateIterator manages a stream of *dlppb.InspectTemplate.
  854. type InspectTemplateIterator struct {
  855. items []*dlppb.InspectTemplate
  856. pageInfo *iterator.PageInfo
  857. nextFunc func() error
  858. // InternalFetch is for use by the Google Cloud Libraries only.
  859. // It is not part of the stable interface of this package.
  860. //
  861. // InternalFetch returns results from a single call to the underlying RPC.
  862. // The number of results is no greater than pageSize.
  863. // If there are no more results, nextPageToken is empty and err is nil.
  864. InternalFetch func(pageSize int, pageToken string) (results []*dlppb.InspectTemplate, nextPageToken string, err error)
  865. }
  866. // PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
  867. func (it *InspectTemplateIterator) PageInfo() *iterator.PageInfo {
  868. return it.pageInfo
  869. }
  870. // Next returns the next result. Its second return value is iterator.Done if there are no more
  871. // results. Once Next returns Done, all subsequent calls will return Done.
  872. func (it *InspectTemplateIterator) Next() (*dlppb.InspectTemplate, error) {
  873. var item *dlppb.InspectTemplate
  874. if err := it.nextFunc(); err != nil {
  875. return item, err
  876. }
  877. item = it.items[0]
  878. it.items = it.items[1:]
  879. return item, nil
  880. }
  881. func (it *InspectTemplateIterator) bufLen() int {
  882. return len(it.items)
  883. }
  884. func (it *InspectTemplateIterator) takeBuf() interface{} {
  885. b := it.items
  886. it.items = nil
  887. return b
  888. }
  889. // JobTriggerIterator manages a stream of *dlppb.JobTrigger.
  890. type JobTriggerIterator struct {
  891. items []*dlppb.JobTrigger
  892. pageInfo *iterator.PageInfo
  893. nextFunc func() error
  894. // InternalFetch is for use by the Google Cloud Libraries only.
  895. // It is not part of the stable interface of this package.
  896. //
  897. // InternalFetch returns results from a single call to the underlying RPC.
  898. // The number of results is no greater than pageSize.
  899. // If there are no more results, nextPageToken is empty and err is nil.
  900. InternalFetch func(pageSize int, pageToken string) (results []*dlppb.JobTrigger, nextPageToken string, err error)
  901. }
  902. // PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
  903. func (it *JobTriggerIterator) PageInfo() *iterator.PageInfo {
  904. return it.pageInfo
  905. }
  906. // Next returns the next result. Its second return value is iterator.Done if there are no more
  907. // results. Once Next returns Done, all subsequent calls will return Done.
  908. func (it *JobTriggerIterator) Next() (*dlppb.JobTrigger, error) {
  909. var item *dlppb.JobTrigger
  910. if err := it.nextFunc(); err != nil {
  911. return item, err
  912. }
  913. item = it.items[0]
  914. it.items = it.items[1:]
  915. return item, nil
  916. }
  917. func (it *JobTriggerIterator) bufLen() int {
  918. return len(it.items)
  919. }
  920. func (it *JobTriggerIterator) takeBuf() interface{} {
  921. b := it.items
  922. it.items = nil
  923. return b
  924. }
  925. // StoredInfoTypeIterator manages a stream of *dlppb.StoredInfoType.
  926. type StoredInfoTypeIterator struct {
  927. items []*dlppb.StoredInfoType
  928. pageInfo *iterator.PageInfo
  929. nextFunc func() error
  930. // InternalFetch is for use by the Google Cloud Libraries only.
  931. // It is not part of the stable interface of this package.
  932. //
  933. // InternalFetch returns results from a single call to the underlying RPC.
  934. // The number of results is no greater than pageSize.
  935. // If there are no more results, nextPageToken is empty and err is nil.
  936. InternalFetch func(pageSize int, pageToken string) (results []*dlppb.StoredInfoType, nextPageToken string, err error)
  937. }
  938. // PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
  939. func (it *StoredInfoTypeIterator) PageInfo() *iterator.PageInfo {
  940. return it.pageInfo
  941. }
  942. // Next returns the next result. Its second return value is iterator.Done if there are no more
  943. // results. Once Next returns Done, all subsequent calls will return Done.
  944. func (it *StoredInfoTypeIterator) Next() (*dlppb.StoredInfoType, error) {
  945. var item *dlppb.StoredInfoType
  946. if err := it.nextFunc(); err != nil {
  947. return item, err
  948. }
  949. item = it.items[0]
  950. it.items = it.items[1:]
  951. return item, nil
  952. }
  953. func (it *StoredInfoTypeIterator) bufLen() int {
  954. return len(it.items)
  955. }
  956. func (it *StoredInfoTypeIterator) takeBuf() interface{} {
  957. b := it.items
  958. it.items = nil
  959. return b
  960. }