all: auto-regenerate gapics

This is an auto-generated regeneration of the gapic clients by
cloud.google.com/go/internal/gapicgen. Once the corresponding genproto PR is
submitted, autotogen will update this CL with a newer dependency to the newer
version of genproto and assign reviewers to this CL.

If you have been assigned to review this CL, please:

- Ensure that the version of genproto in go.mod has been updated.
- Ensure that CI is passing. If it's failing, it requires your manual attention.
- +2 and submit this CL if you believe it's ready to ship.

Corresponding genproto PR: https://github.com/googleapis/go-genproto/pull/281

Change-Id: I8ef33b51faa5fed9330f4a9b4ceec8682a59a592
Reviewed-on: https://code-review.googlesource.com/c/gocloud/+/49750
Reviewed-by: Tyler Bui-Palsulich <tbp@google.com>
Reviewed-by: kokoro <noreply+kokoro@google.com>
diff --git a/asset/apiv1/doc.go b/asset/apiv1/doc.go
index b9abbf9..970dc53 100644
--- a/asset/apiv1/doc.go
+++ b/asset/apiv1/doc.go
@@ -43,7 +43,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/asset/apiv1p2beta1/doc.go b/asset/apiv1p2beta1/doc.go
index c53c564..315ea74 100644
--- a/asset/apiv1p2beta1/doc.go
+++ b/asset/apiv1p2beta1/doc.go
@@ -97,4 +97,4 @@
 	return "UNKNOWN"
 }
 
-const versionClient = "20191216"
+const versionClient = "20191219"
diff --git a/automl/apiv1beta1/doc.go b/automl/apiv1beta1/doc.go
index dc2b90c..7ca90d5 100644
--- a/automl/apiv1beta1/doc.go
+++ b/automl/apiv1beta1/doc.go
@@ -98,4 +98,4 @@
 	return "UNKNOWN"
 }
 
-const versionClient = "20191216"
+const versionClient = "20191219"
diff --git a/bigquery/datatransfer/apiv1/doc.go b/bigquery/datatransfer/apiv1/doc.go
index 8b4ac4d..31c4bb6 100644
--- a/bigquery/datatransfer/apiv1/doc.go
+++ b/bigquery/datatransfer/apiv1/doc.go
@@ -44,7 +44,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/bigquery/go.mod b/bigquery/go.mod
index 47e1526..3c8cca6 100644
--- a/bigquery/go.mod
+++ b/bigquery/go.mod
@@ -10,8 +10,8 @@
 	github.com/googleapis/gax-go/v2 v2.0.5
 	golang.org/x/exp v0.0.0-20191129062945-2f5052295587 // indirect
 	golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f // indirect
-	golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 // indirect
-	google.golang.org/api v0.14.0
-	google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1
+	golang.org/x/tools v0.0.0-20191219230827-5e752206af05 // indirect
+	google.golang.org/api v0.15.0
+	google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88
 	google.golang.org/grpc v1.21.1
 )
diff --git a/bigquery/go.sum b/bigquery/go.sum
index 6e6818c..4812941 100644
--- a/bigquery/go.sum
+++ b/bigquery/go.sum
@@ -137,8 +137,8 @@
 golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 h1:RIIXAeV6GvDBuADKumTODatUqANFZ+5BPMnzsy4hulY=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05 h1:ule/632bB9zpSo6pdRWwclhLY2LYLINl4bI+oAhSGK8=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
@@ -146,8 +146,8 @@
 google.golang.org/api v0.8.0 h1:VGGbLNyPF7dvYHhcUGYBBGCRDDK0RRJAI6KCvo0CL+E=
 google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
 google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.14.0 h1:uMf5uLi4eQMRrMKhCplNik4U4H8Z6C1br3zOtAa/aDE=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0 h1:yzlyyDW/J0w8yNFJIhiAJy4kq74S+1DOLdawELNxFMA=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -163,8 +163,8 @@
 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51 h1:Ex1mq5jaJof+kRnYi3SlYJ8KKa9Ao3NHyIT5XJ1gF6U=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1 h1:aQktFqmDE2yjveXJlVIfslDFmFnUXSqG0i6KRcJAeMc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88 h1:IpAgNp1ve57lDXOJO/8Y9UFdfiPfnNHEiVjiPz+udRU=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1 h1:j6XxA85m/6txkUCHvzlV5f+HBNl/1r5cZ2A/3IEFOO8=
diff --git a/bigquery/storage/apiv1beta1/doc.go b/bigquery/storage/apiv1beta1/doc.go
index ac12e27..9ecdbf3 100644
--- a/bigquery/storage/apiv1beta1/doc.go
+++ b/bigquery/storage/apiv1beta1/doc.go
@@ -41,7 +41,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/bigtable/go.mod b/bigtable/go.mod
index 9544d62..1915d85 100644
--- a/bigtable/go.mod
+++ b/bigtable/go.mod
@@ -15,10 +15,10 @@
 	golang.org/x/net v0.0.0-20191028085509-fe3aa8a45271 // indirect
 	golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
 	golang.org/x/sys v0.0.0-20191029155521-f43be2a4598c // indirect
-	golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 // indirect
-	google.golang.org/api v0.14.0
+	golang.org/x/tools v0.0.0-20191219230827-5e752206af05 // indirect
+	google.golang.org/api v0.15.0
 	google.golang.org/appengine v1.6.5 // indirect
-	google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1
+	google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88
 	google.golang.org/grpc v1.24.0
 	rsc.io/binaryregexp v0.2.0
 )
diff --git a/bigtable/go.sum b/bigtable/go.sum
index 53fcab2..478ab88 100644
--- a/bigtable/go.sum
+++ b/bigtable/go.sum
@@ -161,8 +161,8 @@
 golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5 h1:hKsoRgsbwY1NafxrwTs+k64bikrLBkAgPir1TNCj3Zs=
 golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 h1:RIIXAeV6GvDBuADKumTODatUqANFZ+5BPMnzsy4hulY=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05 h1:ule/632bB9zpSo6pdRWwclhLY2LYLINl4bI+oAhSGK8=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
@@ -173,8 +173,8 @@
 google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
 google.golang.org/api v0.13.0 h1:Q3Ui3V3/CVinFWFiW39Iw0kMuVrRzYX0wN6OPFp0lTA=
 google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.14.0 h1:uMf5uLi4eQMRrMKhCplNik4U4H8Z6C1br3zOtAa/aDE=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0 h1:yzlyyDW/J0w8yNFJIhiAJy4kq74S+1DOLdawELNxFMA=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -194,8 +194,8 @@
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
 google.golang.org/genproto v0.0.0-20191028173616-919d9bdd9fe6 h1:UXl+Zk3jqqcbEVV7ace5lrt4YdA4tXiz3f/KbmD29Vo=
 google.golang.org/genproto v0.0.0-20191028173616-919d9bdd9fe6/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1 h1:aQktFqmDE2yjveXJlVIfslDFmFnUXSqG0i6KRcJAeMc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88 h1:IpAgNp1ve57lDXOJO/8Y9UFdfiPfnNHEiVjiPz+udRU=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1 h1:j6XxA85m/6txkUCHvzlV5f+HBNl/1r5cZ2A/3IEFOO8=
diff --git a/cloudbuild/apiv1/v2/doc.go b/cloudbuild/apiv1/v2/doc.go
index ebca2e3..bd3a26c 100644
--- a/cloudbuild/apiv1/v2/doc.go
+++ b/cloudbuild/apiv1/v2/doc.go
@@ -41,7 +41,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191213"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/cloudtasks/apiv2/doc.go b/cloudtasks/apiv2/doc.go
index ec948e0..b0bda6e 100644
--- a/cloudtasks/apiv2/doc.go
+++ b/cloudtasks/apiv2/doc.go
@@ -41,7 +41,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/cloudtasks/apiv2beta2/doc.go b/cloudtasks/apiv2beta2/doc.go
index a621b11..97c01a0 100644
--- a/cloudtasks/apiv2beta2/doc.go
+++ b/cloudtasks/apiv2beta2/doc.go
@@ -43,7 +43,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/cloudtasks/apiv2beta3/doc.go b/cloudtasks/apiv2beta3/doc.go
index 5d200c4..4ced152 100644
--- a/cloudtasks/apiv2beta3/doc.go
+++ b/cloudtasks/apiv2beta3/doc.go
@@ -43,7 +43,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/containeranalysis/apiv1beta1/doc.go b/containeranalysis/apiv1beta1/doc.go
index 38e7dd3..2740a0e 100644
--- a/containeranalysis/apiv1beta1/doc.go
+++ b/containeranalysis/apiv1beta1/doc.go
@@ -99,4 +99,4 @@
 	return "UNKNOWN"
 }
 
-const versionClient = "20191216"
+const versionClient = "20191219"
diff --git a/dataproc/apiv1/doc.go b/dataproc/apiv1/doc.go
index 44061fd..6e3b6c8 100644
--- a/dataproc/apiv1/doc.go
+++ b/dataproc/apiv1/doc.go
@@ -43,7 +43,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/dataproc/apiv1beta2/cluster_controller_client.go b/dataproc/apiv1beta2/cluster_controller_client.go
index 962eb28..1cadd9a 100644
--- a/dataproc/apiv1beta2/cluster_controller_client.go
+++ b/dataproc/apiv1beta2/cluster_controller_client.go
@@ -18,9 +18,7 @@
 
 import (
 	"context"
-	"fmt"
 	"math"
-	"net/url"
 	"time"
 
 	"cloud.google.com/go/longrunning"
@@ -208,8 +206,7 @@
 // [Operation.metadata][google.longrunning.Operation.metadata] will be
 // ClusterOperationMetadata (at /dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#clusteroperationmetadata).
 func (c *ClusterControllerClient) CreateCluster(ctx context.Context, req *dataprocpb.CreateClusterRequest, opts ...gax.CallOption) (*CreateClusterOperation, error) {
-	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v", "project_id", url.QueryEscape(req.GetProjectId()), "region", url.QueryEscape(req.GetRegion())))
-	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	ctx = insertMetadata(ctx, c.xGoogMetadata)
 	opts = append(c.CallOptions.CreateCluster[0:len(c.CallOptions.CreateCluster):len(c.CallOptions.CreateCluster)], opts...)
 	var resp *longrunningpb.Operation
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
@@ -229,8 +226,7 @@
 // [Operation.metadata][google.longrunning.Operation.metadata] will be
 // ClusterOperationMetadata (at /dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#clusteroperationmetadata).
 func (c *ClusterControllerClient) UpdateCluster(ctx context.Context, req *dataprocpb.UpdateClusterRequest, opts ...gax.CallOption) (*UpdateClusterOperation, error) {
-	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project_id", url.QueryEscape(req.GetProjectId()), "region", url.QueryEscape(req.GetRegion()), "cluster_name", url.QueryEscape(req.GetClusterName())))
-	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	ctx = insertMetadata(ctx, c.xGoogMetadata)
 	opts = append(c.CallOptions.UpdateCluster[0:len(c.CallOptions.UpdateCluster):len(c.CallOptions.UpdateCluster)], opts...)
 	var resp *longrunningpb.Operation
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
@@ -250,8 +246,7 @@
 // [Operation.metadata][google.longrunning.Operation.metadata] will be
 // ClusterOperationMetadata (at /dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#clusteroperationmetadata).
 func (c *ClusterControllerClient) DeleteCluster(ctx context.Context, req *dataprocpb.DeleteClusterRequest, opts ...gax.CallOption) (*DeleteClusterOperation, error) {
-	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project_id", url.QueryEscape(req.GetProjectId()), "region", url.QueryEscape(req.GetRegion()), "cluster_name", url.QueryEscape(req.GetClusterName())))
-	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	ctx = insertMetadata(ctx, c.xGoogMetadata)
 	opts = append(c.CallOptions.DeleteCluster[0:len(c.CallOptions.DeleteCluster):len(c.CallOptions.DeleteCluster)], opts...)
 	var resp *longrunningpb.Operation
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
@@ -269,8 +264,7 @@
 
 // GetCluster gets the resource representation for a cluster in a project.
 func (c *ClusterControllerClient) GetCluster(ctx context.Context, req *dataprocpb.GetClusterRequest, opts ...gax.CallOption) (*dataprocpb.Cluster, error) {
-	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project_id", url.QueryEscape(req.GetProjectId()), "region", url.QueryEscape(req.GetRegion()), "cluster_name", url.QueryEscape(req.GetClusterName())))
-	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	ctx = insertMetadata(ctx, c.xGoogMetadata)
 	opts = append(c.CallOptions.GetCluster[0:len(c.CallOptions.GetCluster):len(c.CallOptions.GetCluster)], opts...)
 	var resp *dataprocpb.Cluster
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
@@ -286,8 +280,7 @@
 
 // ListClusters lists all regions/{region}/clusters in a project.
 func (c *ClusterControllerClient) ListClusters(ctx context.Context, req *dataprocpb.ListClustersRequest, opts ...gax.CallOption) *ClusterIterator {
-	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v", "project_id", url.QueryEscape(req.GetProjectId()), "region", url.QueryEscape(req.GetRegion())))
-	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	ctx = insertMetadata(ctx, c.xGoogMetadata)
 	opts = append(c.CallOptions.ListClusters[0:len(c.CallOptions.ListClusters):len(c.CallOptions.ListClusters)], opts...)
 	it := &ClusterIterator{}
 	req = proto.Clone(req).(*dataprocpb.ListClustersRequest)
@@ -333,8 +326,7 @@
 // contains
 // Empty (at google.protobuf.Empty).
 func (c *ClusterControllerClient) DiagnoseCluster(ctx context.Context, req *dataprocpb.DiagnoseClusterRequest, opts ...gax.CallOption) (*DiagnoseClusterOperation, error) {
-	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project_id", url.QueryEscape(req.GetProjectId()), "region", url.QueryEscape(req.GetRegion()), "cluster_name", url.QueryEscape(req.GetClusterName())))
-	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	ctx = insertMetadata(ctx, c.xGoogMetadata)
 	opts = append(c.CallOptions.DiagnoseCluster[0:len(c.CallOptions.DiagnoseCluster):len(c.CallOptions.DiagnoseCluster)], opts...)
 	var resp *longrunningpb.Operation
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
diff --git a/dataproc/apiv1beta2/doc.go b/dataproc/apiv1beta2/doc.go
index 0d2a46c..c03b803 100644
--- a/dataproc/apiv1beta2/doc.go
+++ b/dataproc/apiv1beta2/doc.go
@@ -43,7 +43,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/dataproc/apiv1beta2/job_controller_client.go b/dataproc/apiv1beta2/job_controller_client.go
index 11eeba7..0d7b0a0 100644
--- a/dataproc/apiv1beta2/job_controller_client.go
+++ b/dataproc/apiv1beta2/job_controller_client.go
@@ -18,9 +18,7 @@
 
 import (
 	"context"
-	"fmt"
 	"math"
-	"net/url"
 	"time"
 
 	"github.com/golang/protobuf/proto"
@@ -189,8 +187,7 @@
 
 // SubmitJob submits a job to a cluster.
 func (c *JobControllerClient) SubmitJob(ctx context.Context, req *dataprocpb.SubmitJobRequest, opts ...gax.CallOption) (*dataprocpb.Job, error) {
-	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v", "project_id", url.QueryEscape(req.GetProjectId()), "region", url.QueryEscape(req.GetRegion())))
-	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	ctx = insertMetadata(ctx, c.xGoogMetadata)
 	opts = append(c.CallOptions.SubmitJob[0:len(c.CallOptions.SubmitJob):len(c.CallOptions.SubmitJob)], opts...)
 	var resp *dataprocpb.Job
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
@@ -206,8 +203,7 @@
 
 // GetJob gets the resource representation for a job in a project.
 func (c *JobControllerClient) GetJob(ctx context.Context, req *dataprocpb.GetJobRequest, opts ...gax.CallOption) (*dataprocpb.Job, error) {
-	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project_id", url.QueryEscape(req.GetProjectId()), "region", url.QueryEscape(req.GetRegion()), "job_id", url.QueryEscape(req.GetJobId())))
-	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	ctx = insertMetadata(ctx, c.xGoogMetadata)
 	opts = append(c.CallOptions.GetJob[0:len(c.CallOptions.GetJob):len(c.CallOptions.GetJob)], opts...)
 	var resp *dataprocpb.Job
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
@@ -223,8 +219,7 @@
 
 // ListJobs lists regions/{region}/jobs in a project.
 func (c *JobControllerClient) ListJobs(ctx context.Context, req *dataprocpb.ListJobsRequest, opts ...gax.CallOption) *JobIterator {
-	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v", "project_id", url.QueryEscape(req.GetProjectId()), "region", url.QueryEscape(req.GetRegion())))
-	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	ctx = insertMetadata(ctx, c.xGoogMetadata)
 	opts = append(c.CallOptions.ListJobs[0:len(c.CallOptions.ListJobs):len(c.CallOptions.ListJobs)], opts...)
 	it := &JobIterator{}
 	req = proto.Clone(req).(*dataprocpb.ListJobsRequest)
@@ -264,8 +259,7 @@
 
 // UpdateJob updates a job in a project.
 func (c *JobControllerClient) UpdateJob(ctx context.Context, req *dataprocpb.UpdateJobRequest, opts ...gax.CallOption) (*dataprocpb.Job, error) {
-	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project_id", url.QueryEscape(req.GetProjectId()), "region", url.QueryEscape(req.GetRegion()), "job_id", url.QueryEscape(req.GetJobId())))
-	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	ctx = insertMetadata(ctx, c.xGoogMetadata)
 	opts = append(c.CallOptions.UpdateJob[0:len(c.CallOptions.UpdateJob):len(c.CallOptions.UpdateJob)], opts...)
 	var resp *dataprocpb.Job
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
@@ -285,8 +279,7 @@
 // or
 // regions/{region}/jobs.get (at /dataproc/docs/reference/rest/v1beta2/projects.regions.jobs/get).
 func (c *JobControllerClient) CancelJob(ctx context.Context, req *dataprocpb.CancelJobRequest, opts ...gax.CallOption) (*dataprocpb.Job, error) {
-	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project_id", url.QueryEscape(req.GetProjectId()), "region", url.QueryEscape(req.GetRegion()), "job_id", url.QueryEscape(req.GetJobId())))
-	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	ctx = insertMetadata(ctx, c.xGoogMetadata)
 	opts = append(c.CallOptions.CancelJob[0:len(c.CallOptions.CancelJob):len(c.CallOptions.CancelJob)], opts...)
 	var resp *dataprocpb.Job
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
@@ -303,8 +296,7 @@
 // DeleteJob deletes the job from the project. If the job is active, the delete fails,
 // and the response returns FAILED_PRECONDITION.
 func (c *JobControllerClient) DeleteJob(ctx context.Context, req *dataprocpb.DeleteJobRequest, opts ...gax.CallOption) error {
-	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project_id", url.QueryEscape(req.GetProjectId()), "region", url.QueryEscape(req.GetRegion()), "job_id", url.QueryEscape(req.GetJobId())))
-	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	ctx = insertMetadata(ctx, c.xGoogMetadata)
 	opts = append(c.CallOptions.DeleteJob[0:len(c.CallOptions.DeleteJob):len(c.CallOptions.DeleteJob)], opts...)
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
 		var err error
diff --git a/datastore/go.mod b/datastore/go.mod
index bca7706..2d5161f 100644
--- a/datastore/go.mod
+++ b/datastore/go.mod
@@ -10,8 +10,8 @@
 	github.com/googleapis/gax-go/v2 v2.0.5
 	golang.org/x/exp v0.0.0-20191129062945-2f5052295587 // indirect
 	golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f // indirect
-	golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 // indirect
-	google.golang.org/api v0.14.0
-	google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1
+	golang.org/x/tools v0.0.0-20191219230827-5e752206af05 // indirect
+	google.golang.org/api v0.15.0
+	google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88
 	google.golang.org/grpc v1.21.1
 )
diff --git a/datastore/go.sum b/datastore/go.sum
index 92def3d..f33ff32 100644
--- a/datastore/go.sum
+++ b/datastore/go.sum
@@ -137,8 +137,8 @@
 golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 h1:RIIXAeV6GvDBuADKumTODatUqANFZ+5BPMnzsy4hulY=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05 h1:ule/632bB9zpSo6pdRWwclhLY2LYLINl4bI+oAhSGK8=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
@@ -147,8 +147,8 @@
 google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
 google.golang.org/api v0.9.0 h1:jbyannxz0XFD3zdjgrSUsaJbgpH4eTrkdhRChkHPfO8=
 google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.14.0 h1:uMf5uLi4eQMRrMKhCplNik4U4H8Z6C1br3zOtAa/aDE=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0 h1:yzlyyDW/J0w8yNFJIhiAJy4kq74S+1DOLdawELNxFMA=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -164,8 +164,8 @@
 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51 h1:Ex1mq5jaJof+kRnYi3SlYJ8KKa9Ao3NHyIT5XJ1gF6U=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1 h1:aQktFqmDE2yjveXJlVIfslDFmFnUXSqG0i6KRcJAeMc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88 h1:IpAgNp1ve57lDXOJO/8Y9UFdfiPfnNHEiVjiPz+udRU=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1 h1:j6XxA85m/6txkUCHvzlV5f+HBNl/1r5cZ2A/3IEFOO8=
diff --git a/debugger/apiv2/doc.go b/debugger/apiv2/doc.go
index 035c9e1..96317c8 100644
--- a/debugger/apiv2/doc.go
+++ b/debugger/apiv2/doc.go
@@ -42,7 +42,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/dialogflow/apiv2/agents_client.go b/dialogflow/apiv2/agents_client.go
index d30559a..e08b812 100644
--- a/dialogflow/apiv2/agents_client.go
+++ b/dialogflow/apiv2/agents_client.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package dialogflow
 
@@ -40,9 +40,9 @@
 
 // AgentsCallOptions contains the retry settings for each method of AgentsClient.
 type AgentsCallOptions struct {
+	GetAgent     []gax.CallOption
 	SetAgent     []gax.CallOption
 	DeleteAgent  []gax.CallOption
-	GetAgent     []gax.CallOption
 	SearchAgents []gax.CallOption
 	TrainAgent   []gax.CallOption
 	ExportAgent  []gax.CallOption
@@ -53,6 +53,7 @@
 func defaultAgentsClientOptions() []option.ClientOption {
 	return []option.ClientOption{
 		option.WithEndpoint("dialogflow.googleapis.com:443"),
+		option.WithGRPCDialOption(grpc.WithDisableServiceConfig()),
 		option.WithScopes(DefaultAuthScopes()...),
 		option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
 			grpc.MaxCallRecvMsgSize(math.MaxInt32))),
@@ -60,29 +61,92 @@
 }
 
 func defaultAgentsCallOptions() *AgentsCallOptions {
-	retry := map[[2]string][]gax.CallOption{
-		{"default", "idempotent"}: {
+	return &AgentsCallOptions{
+		GetAgent: []gax.CallOption{
 			gax.WithRetry(func() gax.Retryer {
 				return gax.OnCodes([]codes.Code{
-					codes.DeadlineExceeded,
 					codes.Unavailable,
+					codes.DeadlineExceeded,
 				}, gax.Backoff{
 					Initial:    100 * time.Millisecond,
 					Max:        60000 * time.Millisecond,
-					Multiplier: 1.3,
+					Multiplier: 1.30,
 				})
 			}),
 		},
-	}
-	return &AgentsCallOptions{
-		SetAgent:     retry[[2]string{"default", "idempotent"}],
-		DeleteAgent:  retry[[2]string{"default", "idempotent"}],
-		GetAgent:     retry[[2]string{"default", "idempotent"}],
-		SearchAgents: retry[[2]string{"default", "idempotent"}],
-		TrainAgent:   retry[[2]string{"default", "idempotent"}],
-		ExportAgent:  retry[[2]string{"default", "idempotent"}],
-		ImportAgent:  retry[[2]string{"default", "non_idempotent"}],
-		RestoreAgent: retry[[2]string{"default", "idempotent"}],
+		SetAgent: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		DeleteAgent: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		SearchAgents: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		TrainAgent: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		ExportAgent: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		ImportAgent: []gax.CallOption{},
+		RestoreAgent: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
 	}
 }
 
@@ -184,6 +248,23 @@
 	c.xGoogMetadata = metadata.Pairs("x-goog-api-client", gax.XGoogHeader(kv...))
 }
 
+// GetAgent retrieves the specified agent.
+func (c *AgentsClient) GetAgent(ctx context.Context, req *dialogflowpb.GetAgentRequest, opts ...gax.CallOption) (*dialogflowpb.Agent, error) {
+	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
+	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	opts = append(c.CallOptions.GetAgent[0:len(c.CallOptions.GetAgent):len(c.CallOptions.GetAgent)], opts...)
+	var resp *dialogflowpb.Agent
+	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+		var err error
+		resp, err = c.agentsClient.GetAgent(ctx, req, settings.GRPC...)
+		return err
+	}, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return resp, nil
+}
+
 // SetAgent creates/updates the specified agent.
 func (c *AgentsClient) SetAgent(ctx context.Context, req *dialogflowpb.SetAgentRequest, opts ...gax.CallOption) (*dialogflowpb.Agent, error) {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "agent.parent", url.QueryEscape(req.GetAgent().GetParent())))
@@ -214,28 +295,11 @@
 	return err
 }
 
-// GetAgent retrieves the specified agent.
-func (c *AgentsClient) GetAgent(ctx context.Context, req *dialogflowpb.GetAgentRequest, opts ...gax.CallOption) (*dialogflowpb.Agent, error) {
-	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
-	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
-	opts = append(c.CallOptions.GetAgent[0:len(c.CallOptions.GetAgent):len(c.CallOptions.GetAgent)], opts...)
-	var resp *dialogflowpb.Agent
-	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
-		var err error
-		resp, err = c.agentsClient.GetAgent(ctx, req, settings.GRPC...)
-		return err
-	}, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return resp, nil
-}
-
 // SearchAgents returns the list of agents.
 //
 // Since there is at most one conversational agent per project, this method is
 // useful primarily for listing all agents across projects the caller has
-// access to. One can achieve that with a wildcard project collection id "-".
+// access to. One can achieve that with a wildcard project collection id “-”.
 // Refer to List
 // Sub-Collections (at https://cloud.google.com/apis/design/design_patterns#list_sub-collections).
 func (c *AgentsClient) SearchAgents(ctx context.Context, req *dialogflowpb.SearchAgentsRequest, opts ...gax.CallOption) *AgentIterator {
@@ -260,6 +324,8 @@
 		if err != nil {
 			return nil, "", err
 		}
+
+		it.Response = resp
 		return resp.Agents, resp.NextPageToken, nil
 	}
 	fetch := func(pageSize int, pageToken string) (string, error) {
@@ -367,48 +433,6 @@
 	}, nil
 }
 
-// AgentIterator manages a stream of *dialogflowpb.Agent.
-type AgentIterator struct {
-	items    []*dialogflowpb.Agent
-	pageInfo *iterator.PageInfo
-	nextFunc func() error
-
-	// InternalFetch is for use by the Google Cloud Libraries only.
-	// It is not part of the stable interface of this package.
-	//
-	// InternalFetch returns results from a single call to the underlying RPC.
-	// The number of results is no greater than pageSize.
-	// If there are no more results, nextPageToken is empty and err is nil.
-	InternalFetch func(pageSize int, pageToken string) (results []*dialogflowpb.Agent, nextPageToken string, err error)
-}
-
-// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
-func (it *AgentIterator) PageInfo() *iterator.PageInfo {
-	return it.pageInfo
-}
-
-// Next returns the next result. Its second return value is iterator.Done if there are no more
-// results. Once Next returns Done, all subsequent calls will return Done.
-func (it *AgentIterator) Next() (*dialogflowpb.Agent, error) {
-	var item *dialogflowpb.Agent
-	if err := it.nextFunc(); err != nil {
-		return item, err
-	}
-	item = it.items[0]
-	it.items = it.items[1:]
-	return item, nil
-}
-
-func (it *AgentIterator) bufLen() int {
-	return len(it.items)
-}
-
-func (it *AgentIterator) takeBuf() interface{} {
-	b := it.items
-	it.items = nil
-	return b
-}
-
 // ExportAgentOperation manages a long-running operation from ExportAgent.
 type ExportAgentOperation struct {
 	lro *longrunning.Operation
@@ -427,7 +451,7 @@
 // See documentation of Poll for error-handling information.
 func (op *ExportAgentOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*dialogflowpb.ExportAgentResponse, error) {
 	var resp dialogflowpb.ExportAgentResponse
-	if err := op.lro.WaitWithInterval(ctx, &resp, 5000*time.Millisecond, opts...); err != nil {
+	if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil {
 		return nil, err
 	}
 	return &resp, nil
@@ -491,11 +515,11 @@
 	}
 }
 
-// Wait blocks until the long-running operation is completed, returning any error encountered.
+// Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
 //
 // See documentation of Poll for error-handling information.
 func (op *ImportAgentOperation) Wait(ctx context.Context, opts ...gax.CallOption) error {
-	return op.lro.WaitWithInterval(ctx, nil, 5000*time.Millisecond, opts...)
+	return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...)
 }
 
 // Poll fetches the latest state of the long-running operation.
@@ -504,7 +528,9 @@
 //
 // If Poll fails, the error is returned and op is unmodified. If Poll succeeds and
 // the operation has completed with failure, the error is returned and op.Done will return true.
-// If Poll succeeds and the operation has completed successfully, op.Done will return true.
+// If Poll succeeds and the operation has completed successfully,
+// op.Done will return true, and the response of the operation is returned.
+// If Poll succeeds and the operation has not completed, the returned response and error are both nil.
 func (op *ImportAgentOperation) Poll(ctx context.Context, opts ...gax.CallOption) error {
 	return op.lro.Poll(ctx, nil, opts...)
 }
@@ -547,11 +573,11 @@
 	}
 }
 
-// Wait blocks until the long-running operation is completed, returning any error encountered.
+// Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
 //
 // See documentation of Poll for error-handling information.
 func (op *RestoreAgentOperation) Wait(ctx context.Context, opts ...gax.CallOption) error {
-	return op.lro.WaitWithInterval(ctx, nil, 5000*time.Millisecond, opts...)
+	return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...)
 }
 
 // Poll fetches the latest state of the long-running operation.
@@ -560,7 +586,9 @@
 //
 // If Poll fails, the error is returned and op is unmodified. If Poll succeeds and
 // the operation has completed with failure, the error is returned and op.Done will return true.
-// If Poll succeeds and the operation has completed successfully, op.Done will return true.
+// If Poll succeeds and the operation has completed successfully,
+// op.Done will return true, and the response of the operation is returned.
+// If Poll succeeds and the operation has not completed, the returned response and error are both nil.
 func (op *RestoreAgentOperation) Poll(ctx context.Context, opts ...gax.CallOption) error {
 	return op.lro.Poll(ctx, nil, opts...)
 }
@@ -603,11 +631,11 @@
 	}
 }
 
-// Wait blocks until the long-running operation is completed, returning any error encountered.
+// Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
 //
 // See documentation of Poll for error-handling information.
 func (op *TrainAgentOperation) Wait(ctx context.Context, opts ...gax.CallOption) error {
-	return op.lro.WaitWithInterval(ctx, nil, 5000*time.Millisecond, opts...)
+	return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...)
 }
 
 // Poll fetches the latest state of the long-running operation.
@@ -616,7 +644,9 @@
 //
 // If Poll fails, the error is returned and op is unmodified. If Poll succeeds and
 // the operation has completed with failure, the error is returned and op.Done will return true.
-// If Poll succeeds and the operation has completed successfully, op.Done will return true.
+// If Poll succeeds and the operation has completed successfully,
+// op.Done will return true, and the response of the operation is returned.
+// If Poll succeeds and the operation has not completed, the returned response and error are both nil.
 func (op *TrainAgentOperation) Poll(ctx context.Context, opts ...gax.CallOption) error {
 	return op.lro.Poll(ctx, nil, opts...)
 }
@@ -645,3 +675,50 @@
 func (op *TrainAgentOperation) Name() string {
 	return op.lro.Name()
 }
+
+// AgentIterator manages a stream of *dialogflowpb.Agent.
+type AgentIterator struct {
+	items    []*dialogflowpb.Agent
+	pageInfo *iterator.PageInfo
+	nextFunc func() error
+
+	// Response is the raw response for the current page.
+	// It must be cast to the RPC response type.
+	// Calling Next() or InternalFetch() updates this value.
+	Response interface{}
+
+	// InternalFetch is for use by the Google Cloud Libraries only.
+	// It is not part of the stable interface of this package.
+	//
+	// InternalFetch returns results from a single call to the underlying RPC.
+	// The number of results is no greater than pageSize.
+	// If there are no more results, nextPageToken is empty and err is nil.
+	InternalFetch func(pageSize int, pageToken string) (results []*dialogflowpb.Agent, nextPageToken string, err error)
+}
+
+// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
+func (it *AgentIterator) PageInfo() *iterator.PageInfo {
+	return it.pageInfo
+}
+
+// Next returns the next result. Its second return value is iterator.Done if there are no more
+// results. Once Next returns Done, all subsequent calls will return Done.
+func (it *AgentIterator) Next() (*dialogflowpb.Agent, error) {
+	var item *dialogflowpb.Agent
+	if err := it.nextFunc(); err != nil {
+		return item, err
+	}
+	item = it.items[0]
+	it.items = it.items[1:]
+	return item, nil
+}
+
+func (it *AgentIterator) bufLen() int {
+	return len(it.items)
+}
+
+func (it *AgentIterator) takeBuf() interface{} {
+	b := it.items
+	it.items = nil
+	return b
+}
diff --git a/dialogflow/apiv2/agents_client_example_test.go b/dialogflow/apiv2/agents_client_example_test.go
index c2a2bd9..96694a3 100644
--- a/dialogflow/apiv2/agents_client_example_test.go
+++ b/dialogflow/apiv2/agents_client_example_test.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package dialogflow_test
 
@@ -34,7 +34,29 @@
 	_ = c
 }
 
+func ExampleAgentsClient_GetAgent() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
+	ctx := context.Background()
+	c, err := dialogflow.NewAgentsClient(ctx)
+	if err != nil {
+		// TODO: Handle error.
+	}
+
+	req := &dialogflowpb.GetAgentRequest{
+		// TODO: Fill request struct fields.
+	}
+	resp, err := c.GetAgent(ctx, req)
+	if err != nil {
+		// TODO: Handle error.
+	}
+	// TODO: Use resp.
+	_ = resp
+}
+
 func ExampleAgentsClient_SetAgent() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewAgentsClient(ctx)
 	if err != nil {
@@ -68,25 +90,10 @@
 	}
 }
 
-func ExampleAgentsClient_GetAgent() {
-	ctx := context.Background()
-	c, err := dialogflow.NewAgentsClient(ctx)
-	if err != nil {
-		// TODO: Handle error.
-	}
-
-	req := &dialogflowpb.GetAgentRequest{
-		// TODO: Fill request struct fields.
-	}
-	resp, err := c.GetAgent(ctx, req)
-	if err != nil {
-		// TODO: Handle error.
-	}
-	// TODO: Use resp.
-	_ = resp
-}
-
 func ExampleAgentsClient_SearchAgents() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+	// import "google.golang.org/api/iterator"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewAgentsClient(ctx)
 	if err != nil {
@@ -111,6 +118,8 @@
 }
 
 func ExampleAgentsClient_TrainAgent() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewAgentsClient(ctx)
 	if err != nil {
@@ -126,10 +135,14 @@
 	}
 
 	err = op.Wait(ctx)
-	// TODO: Handle error.
+	if err != nil {
+		// TODO: Handle error.
+	}
 }
 
 func ExampleAgentsClient_ExportAgent() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewAgentsClient(ctx)
 	if err != nil {
@@ -153,6 +166,8 @@
 }
 
 func ExampleAgentsClient_ImportAgent() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewAgentsClient(ctx)
 	if err != nil {
@@ -168,10 +183,14 @@
 	}
 
 	err = op.Wait(ctx)
-	// TODO: Handle error.
+	if err != nil {
+		// TODO: Handle error.
+	}
 }
 
 func ExampleAgentsClient_RestoreAgent() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewAgentsClient(ctx)
 	if err != nil {
@@ -187,5 +206,7 @@
 	}
 
 	err = op.Wait(ctx)
-	// TODO: Handle error.
+	if err != nil {
+		// TODO: Handle error.
+	}
 }
diff --git a/dialogflow/apiv2/contexts_client.go b/dialogflow/apiv2/contexts_client.go
index dea79b0..ddd793f 100644
--- a/dialogflow/apiv2/contexts_client.go
+++ b/dialogflow/apiv2/contexts_client.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package dialogflow
 
@@ -47,6 +47,7 @@
 func defaultContextsClientOptions() []option.ClientOption {
 	return []option.ClientOption{
 		option.WithEndpoint("dialogflow.googleapis.com:443"),
+		option.WithGRPCDialOption(grpc.WithDisableServiceConfig()),
 		option.WithScopes(DefaultAuthScopes()...),
 		option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
 			grpc.MaxCallRecvMsgSize(math.MaxInt32))),
@@ -54,27 +55,57 @@
 }
 
 func defaultContextsCallOptions() *ContextsCallOptions {
-	retry := map[[2]string][]gax.CallOption{
-		{"default", "idempotent"}: {
+	return &ContextsCallOptions{
+		ListContexts: []gax.CallOption{
 			gax.WithRetry(func() gax.Retryer {
 				return gax.OnCodes([]codes.Code{
-					codes.DeadlineExceeded,
 					codes.Unavailable,
+					codes.DeadlineExceeded,
 				}, gax.Backoff{
 					Initial:    100 * time.Millisecond,
 					Max:        60000 * time.Millisecond,
-					Multiplier: 1.3,
+					Multiplier: 1.30,
 				})
 			}),
 		},
-	}
-	return &ContextsCallOptions{
-		ListContexts:      retry[[2]string{"default", "idempotent"}],
-		GetContext:        retry[[2]string{"default", "idempotent"}],
-		CreateContext:     retry[[2]string{"default", "non_idempotent"}],
-		UpdateContext:     retry[[2]string{"default", "non_idempotent"}],
-		DeleteContext:     retry[[2]string{"default", "idempotent"}],
-		DeleteAllContexts: retry[[2]string{"default", "idempotent"}],
+		GetContext: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		CreateContext: []gax.CallOption{},
+		UpdateContext: []gax.CallOption{},
+		DeleteContext: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		DeleteAllContexts: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
 	}
 }
 
@@ -127,6 +158,7 @@
 		contextsClient: dialogflowpb.NewContextsClient(conn),
 	}
 	c.setGoogleClientInfo()
+
 	return c, nil
 }
 
@@ -173,6 +205,8 @@
 		if err != nil {
 			return nil, "", err
 		}
+
+		it.Response = resp
 		return resp.Contexts, resp.NextPageToken, nil
 	}
 	fetch := func(pageSize int, pageToken string) (string, error) {
@@ -274,6 +308,11 @@
 	pageInfo *iterator.PageInfo
 	nextFunc func() error
 
+	// Response is the raw response for the current page.
+	// It must be cast to the RPC response type.
+	// Calling Next() or InternalFetch() updates this value.
+	Response interface{}
+
 	// InternalFetch is for use by the Google Cloud Libraries only.
 	// It is not part of the stable interface of this package.
 	//
diff --git a/dialogflow/apiv2/contexts_client_example_test.go b/dialogflow/apiv2/contexts_client_example_test.go
index 16fe39d..aac1428 100644
--- a/dialogflow/apiv2/contexts_client_example_test.go
+++ b/dialogflow/apiv2/contexts_client_example_test.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package dialogflow_test
 
@@ -35,6 +35,9 @@
 }
 
 func ExampleContextsClient_ListContexts() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+	// import "google.golang.org/api/iterator"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewContextsClient(ctx)
 	if err != nil {
@@ -59,6 +62,8 @@
 }
 
 func ExampleContextsClient_GetContext() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewContextsClient(ctx)
 	if err != nil {
@@ -77,6 +82,8 @@
 }
 
 func ExampleContextsClient_CreateContext() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewContextsClient(ctx)
 	if err != nil {
@@ -95,6 +102,8 @@
 }
 
 func ExampleContextsClient_UpdateContext() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewContextsClient(ctx)
 	if err != nil {
diff --git a/dialogflow/apiv2/doc.go b/dialogflow/apiv2/doc.go
index 1615335..56dc88f 100644
--- a/dialogflow/apiv2/doc.go
+++ b/dialogflow/apiv2/doc.go
@@ -12,11 +12,10 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 // Package dialogflow is an auto-generated package for the
 // Dialogflow API.
-
 //
 // Builds conversational interfaces (for example, chatbots, and voice-powered
 // apps and devices).
@@ -31,6 +30,7 @@
 //
 // For information about setting deadlines, reusing contexts, and more
 // please visit godoc.org/cloud.google.com/go.
+
 package dialogflow // import "cloud.google.com/go/dialogflow/apiv2"
 
 import (
@@ -42,6 +42,8 @@
 	"google.golang.org/grpc/metadata"
 )
 
+const versionClient = "20191219"
+
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
 	out = out.Copy()
@@ -76,7 +78,7 @@
 	}
 
 	notSemverRune := func(r rune) bool {
-		return strings.IndexRune("0123456789.", r) < 0
+		return !strings.ContainsRune("0123456789.", r)
 	}
 
 	if strings.HasPrefix(s, "go1") {
@@ -97,5 +99,3 @@
 	}
 	return "UNKNOWN"
 }
-
-const versionClient = "20191216"
diff --git a/dialogflow/apiv2/entity_types_client.go b/dialogflow/apiv2/entity_types_client.go
index 32db397..131f5e1 100644
--- a/dialogflow/apiv2/entity_types_client.go
+++ b/dialogflow/apiv2/entity_types_client.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package dialogflow
 
@@ -55,6 +55,7 @@
 func defaultEntityTypesClientOptions() []option.ClientOption {
 	return []option.ClientOption{
 		option.WithEndpoint("dialogflow.googleapis.com:443"),
+		option.WithGRPCDialOption(grpc.WithDisableServiceConfig()),
 		option.WithScopes(DefaultAuthScopes()...),
 		option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
 			grpc.MaxCallRecvMsgSize(math.MaxInt32))),
@@ -62,31 +63,72 @@
 }
 
 func defaultEntityTypesCallOptions() *EntityTypesCallOptions {
-	retry := map[[2]string][]gax.CallOption{
-		{"default", "idempotent"}: {
+	return &EntityTypesCallOptions{
+		ListEntityTypes: []gax.CallOption{
 			gax.WithRetry(func() gax.Retryer {
 				return gax.OnCodes([]codes.Code{
-					codes.DeadlineExceeded,
 					codes.Unavailable,
+					codes.DeadlineExceeded,
 				}, gax.Backoff{
 					Initial:    100 * time.Millisecond,
 					Max:        60000 * time.Millisecond,
-					Multiplier: 1.3,
+					Multiplier: 1.30,
 				})
 			}),
 		},
-	}
-	return &EntityTypesCallOptions{
-		ListEntityTypes:        retry[[2]string{"default", "idempotent"}],
-		GetEntityType:          retry[[2]string{"default", "idempotent"}],
-		CreateEntityType:       retry[[2]string{"default", "non_idempotent"}],
-		UpdateEntityType:       retry[[2]string{"default", "non_idempotent"}],
-		DeleteEntityType:       retry[[2]string{"default", "idempotent"}],
-		BatchUpdateEntityTypes: retry[[2]string{"default", "non_idempotent"}],
-		BatchDeleteEntityTypes: retry[[2]string{"default", "idempotent"}],
-		BatchCreateEntities:    retry[[2]string{"default", "non_idempotent"}],
-		BatchUpdateEntities:    retry[[2]string{"default", "non_idempotent"}],
-		BatchDeleteEntities:    retry[[2]string{"default", "idempotent"}],
+		GetEntityType: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		CreateEntityType: []gax.CallOption{},
+		UpdateEntityType: []gax.CallOption{},
+		DeleteEntityType: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		BatchUpdateEntityTypes: []gax.CallOption{},
+		BatchDeleteEntityTypes: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		BatchCreateEntities: []gax.CallOption{},
+		BatchUpdateEntities: []gax.CallOption{},
+		BatchDeleteEntities: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
 	}
 }
 
@@ -120,28 +162,28 @@
 // actionable data for your application.
 //
 // When you define an entity, you can also include synonyms that all map to
-// that entity. For example, "soft drink", "soda", "pop", and so on.
+// that entity. For example, “soft drink”, “soda”, “pop”, and so on.
 //
 // There are three types of entities:
 //
-// *   **System** - entities that are defined by the Dialogflow API for common
-//     data types such as date, time, currency, and so on. A system entity is
-//     represented by the `EntityType` type.
+//   System - entities that are defined by the Dialogflow API for common
+//   data types such as date, time, currency, and so on. A system entity is
+//   represented by the EntityType type.
 //
-// *   **Developer** - entities that are defined by you that represent
-//     actionable data that is meaningful to your application. For example,
-//     you could define a `pizza.sauce` entity for red or white pizza sauce,
-//     a `pizza.cheese` entity for the different types of cheese on a pizza,
-//     a `pizza.topping` entity for different toppings, and so on. A developer
-//     entity is represented by the `EntityType` type.
+//   Developer - entities that are defined by you that represent
+//   actionable data that is meaningful to your application. For example,
+//   you could define a pizza.sauce entity for red or white pizza sauce,
+//   a pizza.cheese entity for the different types of cheese on a pizza,
+//   a pizza.topping entity for different toppings, and so on. A developer
+//   entity is represented by the EntityType type.
 //
-// *   **User** - entities that are built for an individual user such as
-//     favorites, preferences, playlists, and so on. A user entity is
-//     represented by the [SessionEntityType][google.cloud.dialogflow.v2.SessionEntityType] type.
+//   User - entities that are built for an individual user such as
+//   favorites, preferences, playlists, and so on. A user entity is
+//   represented by the [SessionEntityType][google.cloud.dialogflow.v2.SessionEntityType] type.
 //
 // For more information about entity types, see the
-// [Dialogflow
-// documentation](https://cloud.google.com/dialogflow/docs/entities-overview).
+// Dialogflow
+// documentation (at https://cloud.google.com/dialogflow/docs/entities-overview).
 func NewEntityTypesClient(ctx context.Context, opts ...option.ClientOption) (*EntityTypesClient, error) {
 	conn, err := transport.DialGRPC(ctx, append(defaultEntityTypesClientOptions(), opts...)...)
 	if err != nil {
@@ -211,6 +253,8 @@
 		if err != nil {
 			return nil, "", err
 		}
+
+		it.Response = resp
 		return resp.EntityTypes, resp.NextPageToken, nil
 	}
 	fetch := func(pageSize int, pageToken string) (string, error) {
@@ -355,7 +399,7 @@
 }
 
 // BatchUpdateEntities updates or creates multiple entities in the specified entity type. This
-// method does not affect entities in the entity type that aren't explicitly
+// method does not affect entities in the entity type that aren’t explicitly
 // specified in the request.
 //
 // Operation <response: [google.protobuf.Empty][google.protobuf.Empty]>
@@ -398,48 +442,6 @@
 	}, nil
 }
 
-// EntityTypeIterator manages a stream of *dialogflowpb.EntityType.
-type EntityTypeIterator struct {
-	items    []*dialogflowpb.EntityType
-	pageInfo *iterator.PageInfo
-	nextFunc func() error
-
-	// InternalFetch is for use by the Google Cloud Libraries only.
-	// It is not part of the stable interface of this package.
-	//
-	// InternalFetch returns results from a single call to the underlying RPC.
-	// The number of results is no greater than pageSize.
-	// If there are no more results, nextPageToken is empty and err is nil.
-	InternalFetch func(pageSize int, pageToken string) (results []*dialogflowpb.EntityType, nextPageToken string, err error)
-}
-
-// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
-func (it *EntityTypeIterator) PageInfo() *iterator.PageInfo {
-	return it.pageInfo
-}
-
-// Next returns the next result. Its second return value is iterator.Done if there are no more
-// results. Once Next returns Done, all subsequent calls will return Done.
-func (it *EntityTypeIterator) Next() (*dialogflowpb.EntityType, error) {
-	var item *dialogflowpb.EntityType
-	if err := it.nextFunc(); err != nil {
-		return item, err
-	}
-	item = it.items[0]
-	it.items = it.items[1:]
-	return item, nil
-}
-
-func (it *EntityTypeIterator) bufLen() int {
-	return len(it.items)
-}
-
-func (it *EntityTypeIterator) takeBuf() interface{} {
-	b := it.items
-	it.items = nil
-	return b
-}
-
 // BatchCreateEntitiesOperation manages a long-running operation from BatchCreateEntities.
 type BatchCreateEntitiesOperation struct {
 	lro *longrunning.Operation
@@ -453,11 +455,11 @@
 	}
 }
 
-// Wait blocks until the long-running operation is completed, returning any error encountered.
+// Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
 //
 // See documentation of Poll for error-handling information.
 func (op *BatchCreateEntitiesOperation) Wait(ctx context.Context, opts ...gax.CallOption) error {
-	return op.lro.WaitWithInterval(ctx, nil, 5000*time.Millisecond, opts...)
+	return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...)
 }
 
 // Poll fetches the latest state of the long-running operation.
@@ -466,7 +468,9 @@
 //
 // If Poll fails, the error is returned and op is unmodified. If Poll succeeds and
 // the operation has completed with failure, the error is returned and op.Done will return true.
-// If Poll succeeds and the operation has completed successfully, op.Done will return true.
+// If Poll succeeds and the operation has completed successfully,
+// op.Done will return true, and the response of the operation is returned.
+// If Poll succeeds and the operation has not completed, the returned response and error are both nil.
 func (op *BatchCreateEntitiesOperation) Poll(ctx context.Context, opts ...gax.CallOption) error {
 	return op.lro.Poll(ctx, nil, opts...)
 }
@@ -509,11 +513,11 @@
 	}
 }
 
-// Wait blocks until the long-running operation is completed, returning any error encountered.
+// Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
 //
 // See documentation of Poll for error-handling information.
 func (op *BatchDeleteEntitiesOperation) Wait(ctx context.Context, opts ...gax.CallOption) error {
-	return op.lro.WaitWithInterval(ctx, nil, 5000*time.Millisecond, opts...)
+	return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...)
 }
 
 // Poll fetches the latest state of the long-running operation.
@@ -522,7 +526,9 @@
 //
 // If Poll fails, the error is returned and op is unmodified. If Poll succeeds and
 // the operation has completed with failure, the error is returned and op.Done will return true.
-// If Poll succeeds and the operation has completed successfully, op.Done will return true.
+// If Poll succeeds and the operation has completed successfully,
+// op.Done will return true, and the response of the operation is returned.
+// If Poll succeeds and the operation has not completed, the returned response and error are both nil.
 func (op *BatchDeleteEntitiesOperation) Poll(ctx context.Context, opts ...gax.CallOption) error {
 	return op.lro.Poll(ctx, nil, opts...)
 }
@@ -565,11 +571,11 @@
 	}
 }
 
-// Wait blocks until the long-running operation is completed, returning any error encountered.
+// Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
 //
 // See documentation of Poll for error-handling information.
 func (op *BatchDeleteEntityTypesOperation) Wait(ctx context.Context, opts ...gax.CallOption) error {
-	return op.lro.WaitWithInterval(ctx, nil, 5000*time.Millisecond, opts...)
+	return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...)
 }
 
 // Poll fetches the latest state of the long-running operation.
@@ -578,7 +584,9 @@
 //
 // If Poll fails, the error is returned and op is unmodified. If Poll succeeds and
 // the operation has completed with failure, the error is returned and op.Done will return true.
-// If Poll succeeds and the operation has completed successfully, op.Done will return true.
+// If Poll succeeds and the operation has completed successfully,
+// op.Done will return true, and the response of the operation is returned.
+// If Poll succeeds and the operation has not completed, the returned response and error are both nil.
 func (op *BatchDeleteEntityTypesOperation) Poll(ctx context.Context, opts ...gax.CallOption) error {
 	return op.lro.Poll(ctx, nil, opts...)
 }
@@ -621,11 +629,11 @@
 	}
 }
 
-// Wait blocks until the long-running operation is completed, returning any error encountered.
+// Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
 //
 // See documentation of Poll for error-handling information.
 func (op *BatchUpdateEntitiesOperation) Wait(ctx context.Context, opts ...gax.CallOption) error {
-	return op.lro.WaitWithInterval(ctx, nil, 5000*time.Millisecond, opts...)
+	return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...)
 }
 
 // Poll fetches the latest state of the long-running operation.
@@ -634,7 +642,9 @@
 //
 // If Poll fails, the error is returned and op is unmodified. If Poll succeeds and
 // the operation has completed with failure, the error is returned and op.Done will return true.
-// If Poll succeeds and the operation has completed successfully, op.Done will return true.
+// If Poll succeeds and the operation has completed successfully,
+// op.Done will return true, and the response of the operation is returned.
+// If Poll succeeds and the operation has not completed, the returned response and error are both nil.
 func (op *BatchUpdateEntitiesOperation) Poll(ctx context.Context, opts ...gax.CallOption) error {
 	return op.lro.Poll(ctx, nil, opts...)
 }
@@ -682,7 +692,7 @@
 // See documentation of Poll for error-handling information.
 func (op *BatchUpdateEntityTypesOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*dialogflowpb.BatchUpdateEntityTypesResponse, error) {
 	var resp dialogflowpb.BatchUpdateEntityTypesResponse
-	if err := op.lro.WaitWithInterval(ctx, &resp, 5000*time.Millisecond, opts...); err != nil {
+	if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil {
 		return nil, err
 	}
 	return &resp, nil
@@ -732,3 +742,50 @@
 func (op *BatchUpdateEntityTypesOperation) Name() string {
 	return op.lro.Name()
 }
+
+// EntityTypeIterator manages a stream of *dialogflowpb.EntityType.
+type EntityTypeIterator struct {
+	items    []*dialogflowpb.EntityType
+	pageInfo *iterator.PageInfo
+	nextFunc func() error
+
+	// Response is the raw response for the current page.
+	// It must be cast to the RPC response type.
+	// Calling Next() or InternalFetch() updates this value.
+	Response interface{}
+
+	// InternalFetch is for use by the Google Cloud Libraries only.
+	// It is not part of the stable interface of this package.
+	//
+	// InternalFetch returns results from a single call to the underlying RPC.
+	// The number of results is no greater than pageSize.
+	// If there are no more results, nextPageToken is empty and err is nil.
+	InternalFetch func(pageSize int, pageToken string) (results []*dialogflowpb.EntityType, nextPageToken string, err error)
+}
+
+// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
+func (it *EntityTypeIterator) PageInfo() *iterator.PageInfo {
+	return it.pageInfo
+}
+
+// Next returns the next result. Its second return value is iterator.Done if there are no more
+// results. Once Next returns Done, all subsequent calls will return Done.
+func (it *EntityTypeIterator) Next() (*dialogflowpb.EntityType, error) {
+	var item *dialogflowpb.EntityType
+	if err := it.nextFunc(); err != nil {
+		return item, err
+	}
+	item = it.items[0]
+	it.items = it.items[1:]
+	return item, nil
+}
+
+func (it *EntityTypeIterator) bufLen() int {
+	return len(it.items)
+}
+
+func (it *EntityTypeIterator) takeBuf() interface{} {
+	b := it.items
+	it.items = nil
+	return b
+}
diff --git a/dialogflow/apiv2/entity_types_client_example_test.go b/dialogflow/apiv2/entity_types_client_example_test.go
index 569e490..e909a43 100644
--- a/dialogflow/apiv2/entity_types_client_example_test.go
+++ b/dialogflow/apiv2/entity_types_client_example_test.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package dialogflow_test
 
@@ -35,6 +35,9 @@
 }
 
 func ExampleEntityTypesClient_ListEntityTypes() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+	// import "google.golang.org/api/iterator"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewEntityTypesClient(ctx)
 	if err != nil {
@@ -59,6 +62,8 @@
 }
 
 func ExampleEntityTypesClient_GetEntityType() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewEntityTypesClient(ctx)
 	if err != nil {
@@ -77,6 +82,8 @@
 }
 
 func ExampleEntityTypesClient_CreateEntityType() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewEntityTypesClient(ctx)
 	if err != nil {
@@ -95,6 +102,8 @@
 }
 
 func ExampleEntityTypesClient_UpdateEntityType() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewEntityTypesClient(ctx)
 	if err != nil {
@@ -129,6 +138,8 @@
 }
 
 func ExampleEntityTypesClient_BatchUpdateEntityTypes() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewEntityTypesClient(ctx)
 	if err != nil {
@@ -152,6 +163,8 @@
 }
 
 func ExampleEntityTypesClient_BatchDeleteEntityTypes() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewEntityTypesClient(ctx)
 	if err != nil {
@@ -167,10 +180,14 @@
 	}
 
 	err = op.Wait(ctx)
-	// TODO: Handle error.
+	if err != nil {
+		// TODO: Handle error.
+	}
 }
 
 func ExampleEntityTypesClient_BatchCreateEntities() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewEntityTypesClient(ctx)
 	if err != nil {
@@ -186,10 +203,14 @@
 	}
 
 	err = op.Wait(ctx)
-	// TODO: Handle error.
+	if err != nil {
+		// TODO: Handle error.
+	}
 }
 
 func ExampleEntityTypesClient_BatchUpdateEntities() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewEntityTypesClient(ctx)
 	if err != nil {
@@ -205,10 +226,14 @@
 	}
 
 	err = op.Wait(ctx)
-	// TODO: Handle error.
+	if err != nil {
+		// TODO: Handle error.
+	}
 }
 
 func ExampleEntityTypesClient_BatchDeleteEntities() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewEntityTypesClient(ctx)
 	if err != nil {
@@ -224,5 +249,7 @@
 	}
 
 	err = op.Wait(ctx)
-	// TODO: Handle error.
+	if err != nil {
+		// TODO: Handle error.
+	}
 }
diff --git a/dialogflow/apiv2/intents_client.go b/dialogflow/apiv2/intents_client.go
index 618e36e..4581ee1 100644
--- a/dialogflow/apiv2/intents_client.go
+++ b/dialogflow/apiv2/intents_client.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package dialogflow
 
@@ -52,6 +52,7 @@
 func defaultIntentsClientOptions() []option.ClientOption {
 	return []option.ClientOption{
 		option.WithEndpoint("dialogflow.googleapis.com:443"),
+		option.WithGRPCDialOption(grpc.WithDisableServiceConfig()),
 		option.WithScopes(DefaultAuthScopes()...),
 		option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
 			grpc.MaxCallRecvMsgSize(math.MaxInt32))),
@@ -59,28 +60,58 @@
 }
 
 func defaultIntentsCallOptions() *IntentsCallOptions {
-	retry := map[[2]string][]gax.CallOption{
-		{"default", "idempotent"}: {
+	return &IntentsCallOptions{
+		ListIntents: []gax.CallOption{
 			gax.WithRetry(func() gax.Retryer {
 				return gax.OnCodes([]codes.Code{
-					codes.DeadlineExceeded,
 					codes.Unavailable,
+					codes.DeadlineExceeded,
 				}, gax.Backoff{
 					Initial:    100 * time.Millisecond,
 					Max:        60000 * time.Millisecond,
-					Multiplier: 1.3,
+					Multiplier: 1.30,
 				})
 			}),
 		},
-	}
-	return &IntentsCallOptions{
-		ListIntents:        retry[[2]string{"default", "idempotent"}],
-		GetIntent:          retry[[2]string{"default", "idempotent"}],
-		CreateIntent:       retry[[2]string{"default", "non_idempotent"}],
-		UpdateIntent:       retry[[2]string{"default", "non_idempotent"}],
-		DeleteIntent:       retry[[2]string{"default", "idempotent"}],
-		BatchUpdateIntents: retry[[2]string{"default", "non_idempotent"}],
-		BatchDeleteIntents: retry[[2]string{"default", "idempotent"}],
+		GetIntent: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		CreateIntent: []gax.CallOption{},
+		UpdateIntent: []gax.CallOption{},
+		DeleteIntent: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		BatchUpdateIntents: []gax.CallOption{},
+		BatchDeleteIntents: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
 	}
 }
 
@@ -114,32 +145,32 @@
 // [StreamingDetectIntent][google.cloud.dialogflow.v2.Sessions.StreamingDetectIntent]) method, the
 // Dialogflow API analyzes the input and searches
 // for a matching intent. If no match is found, the Dialogflow API returns a
-// fallback intent (`is_fallback` = true).
+// fallback intent (is_fallback = true).
 //
 // You can provide additional information for the Dialogflow API to use to
 // match user input to an intent by adding the following to your intent.
 //
-// *   **Contexts** - provide additional context for intent analysis. For
-//     example, if an intent is related to an object in your application that
-//     plays music, you can provide a context to determine when to match the
-//     intent if the user input is "turn it off". You can include a context
-//     that matches the intent when there is previous user input of
-//     "play music", and not when there is previous user input of
-//     "turn on the light".
+//   Contexts - provide additional context for intent analysis. For
+//   example, if an intent is related to an object in your application that
+//   plays music, you can provide a context to determine when to match the
+//   intent if the user input is “turn it off”. You can include a context
+//   that matches the intent when there is previous user input of
+//   “play music”, and not when there is previous user input of
+//   “turn on the light”.
 //
-// *   **Events** - allow for matching an intent by using an event name
-//     instead of user input. Your application can provide an event name and
-//     related parameters to the Dialogflow API to match an intent. For
-//     example, when your application starts, you can send a welcome event
-//     with a user name parameter to the Dialogflow API to match an intent with
-//     a personalized welcome message for the user.
+//   Events - allow for matching an intent by using an event name
+//   instead of user input. Your application can provide an event name and
+//   related parameters to the Dialogflow API to match an intent. For
+//   example, when your application starts, you can send a welcome event
+//   with a user name parameter to the Dialogflow API to match an intent with
+//   a personalized welcome message for the user.
 //
-// *   **Training phrases** - provide examples of user input to train the
-//     Dialogflow API agent to better match intents.
+//   Training phrases - provide examples of user input to train the
+//   Dialogflow API agent to better match intents.
 //
 // For more information about intents, see the
-// [Dialogflow
-// documentation](https://cloud.google.com/dialogflow/docs/intents-overview).
+// Dialogflow
+// documentation (at https://cloud.google.com/dialogflow/docs/intents-overview).
 func NewIntentsClient(ctx context.Context, opts ...option.ClientOption) (*IntentsClient, error) {
 	conn, err := transport.DialGRPC(ctx, append(defaultIntentsClientOptions(), opts...)...)
 	if err != nil {
@@ -209,6 +240,8 @@
 		if err != nil {
 			return nil, "", err
 		}
+
+		it.Response = resp
 		return resp.Intents, resp.NextPageToken, nil
 	}
 	fetch := func(pageSize int, pageToken string) (string, error) {
@@ -331,48 +364,6 @@
 	}, nil
 }
 
-// IntentIterator manages a stream of *dialogflowpb.Intent.
-type IntentIterator struct {
-	items    []*dialogflowpb.Intent
-	pageInfo *iterator.PageInfo
-	nextFunc func() error
-
-	// InternalFetch is for use by the Google Cloud Libraries only.
-	// It is not part of the stable interface of this package.
-	//
-	// InternalFetch returns results from a single call to the underlying RPC.
-	// The number of results is no greater than pageSize.
-	// If there are no more results, nextPageToken is empty and err is nil.
-	InternalFetch func(pageSize int, pageToken string) (results []*dialogflowpb.Intent, nextPageToken string, err error)
-}
-
-// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
-func (it *IntentIterator) PageInfo() *iterator.PageInfo {
-	return it.pageInfo
-}
-
-// Next returns the next result. Its second return value is iterator.Done if there are no more
-// results. Once Next returns Done, all subsequent calls will return Done.
-func (it *IntentIterator) Next() (*dialogflowpb.Intent, error) {
-	var item *dialogflowpb.Intent
-	if err := it.nextFunc(); err != nil {
-		return item, err
-	}
-	item = it.items[0]
-	it.items = it.items[1:]
-	return item, nil
-}
-
-func (it *IntentIterator) bufLen() int {
-	return len(it.items)
-}
-
-func (it *IntentIterator) takeBuf() interface{} {
-	b := it.items
-	it.items = nil
-	return b
-}
-
 // BatchDeleteIntentsOperation manages a long-running operation from BatchDeleteIntents.
 type BatchDeleteIntentsOperation struct {
 	lro *longrunning.Operation
@@ -386,11 +377,11 @@
 	}
 }
 
-// Wait blocks until the long-running operation is completed, returning any error encountered.
+// Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
 //
 // See documentation of Poll for error-handling information.
 func (op *BatchDeleteIntentsOperation) Wait(ctx context.Context, opts ...gax.CallOption) error {
-	return op.lro.WaitWithInterval(ctx, nil, 5000*time.Millisecond, opts...)
+	return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...)
 }
 
 // Poll fetches the latest state of the long-running operation.
@@ -399,7 +390,9 @@
 //
 // If Poll fails, the error is returned and op is unmodified. If Poll succeeds and
 // the operation has completed with failure, the error is returned and op.Done will return true.
-// If Poll succeeds and the operation has completed successfully, op.Done will return true.
+// If Poll succeeds and the operation has completed successfully,
+// op.Done will return true, and the response of the operation is returned.
+// If Poll succeeds and the operation has not completed, the returned response and error are both nil.
 func (op *BatchDeleteIntentsOperation) Poll(ctx context.Context, opts ...gax.CallOption) error {
 	return op.lro.Poll(ctx, nil, opts...)
 }
@@ -447,7 +440,7 @@
 // See documentation of Poll for error-handling information.
 func (op *BatchUpdateIntentsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*dialogflowpb.BatchUpdateIntentsResponse, error) {
 	var resp dialogflowpb.BatchUpdateIntentsResponse
-	if err := op.lro.WaitWithInterval(ctx, &resp, 5000*time.Millisecond, opts...); err != nil {
+	if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil {
 		return nil, err
 	}
 	return &resp, nil
@@ -497,3 +490,50 @@
 func (op *BatchUpdateIntentsOperation) Name() string {
 	return op.lro.Name()
 }
+
+// IntentIterator manages a stream of *dialogflowpb.Intent.
+type IntentIterator struct {
+	items    []*dialogflowpb.Intent
+	pageInfo *iterator.PageInfo
+	nextFunc func() error
+
+	// Response is the raw response for the current page.
+	// It must be cast to the RPC response type.
+	// Calling Next() or InternalFetch() updates this value.
+	Response interface{}
+
+	// InternalFetch is for use by the Google Cloud Libraries only.
+	// It is not part of the stable interface of this package.
+	//
+	// InternalFetch returns results from a single call to the underlying RPC.
+	// The number of results is no greater than pageSize.
+	// If there are no more results, nextPageToken is empty and err is nil.
+	InternalFetch func(pageSize int, pageToken string) (results []*dialogflowpb.Intent, nextPageToken string, err error)
+}
+
+// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
+func (it *IntentIterator) PageInfo() *iterator.PageInfo {
+	return it.pageInfo
+}
+
+// Next returns the next result. Its second return value is iterator.Done if there are no more
+// results. Once Next returns Done, all subsequent calls will return Done.
+func (it *IntentIterator) Next() (*dialogflowpb.Intent, error) {
+	var item *dialogflowpb.Intent
+	if err := it.nextFunc(); err != nil {
+		return item, err
+	}
+	item = it.items[0]
+	it.items = it.items[1:]
+	return item, nil
+}
+
+func (it *IntentIterator) bufLen() int {
+	return len(it.items)
+}
+
+func (it *IntentIterator) takeBuf() interface{} {
+	b := it.items
+	it.items = nil
+	return b
+}
diff --git a/dialogflow/apiv2/intents_client_example_test.go b/dialogflow/apiv2/intents_client_example_test.go
index bb03cec..f49eb2d 100644
--- a/dialogflow/apiv2/intents_client_example_test.go
+++ b/dialogflow/apiv2/intents_client_example_test.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package dialogflow_test
 
@@ -35,6 +35,9 @@
 }
 
 func ExampleIntentsClient_ListIntents() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+	// import "google.golang.org/api/iterator"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewIntentsClient(ctx)
 	if err != nil {
@@ -59,6 +62,8 @@
 }
 
 func ExampleIntentsClient_GetIntent() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewIntentsClient(ctx)
 	if err != nil {
@@ -77,6 +82,8 @@
 }
 
 func ExampleIntentsClient_CreateIntent() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewIntentsClient(ctx)
 	if err != nil {
@@ -95,6 +102,8 @@
 }
 
 func ExampleIntentsClient_UpdateIntent() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewIntentsClient(ctx)
 	if err != nil {
@@ -129,6 +138,8 @@
 }
 
 func ExampleIntentsClient_BatchUpdateIntents() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewIntentsClient(ctx)
 	if err != nil {
@@ -152,6 +163,8 @@
 }
 
 func ExampleIntentsClient_BatchDeleteIntents() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewIntentsClient(ctx)
 	if err != nil {
@@ -167,5 +180,7 @@
 	}
 
 	err = op.Wait(ctx)
-	// TODO: Handle error.
+	if err != nil {
+		// TODO: Handle error.
+	}
 }
diff --git a/dialogflow/apiv2/session_entity_types_client.go b/dialogflow/apiv2/session_entity_types_client.go
index c91c32d..cdcb1d9 100644
--- a/dialogflow/apiv2/session_entity_types_client.go
+++ b/dialogflow/apiv2/session_entity_types_client.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package dialogflow
 
@@ -46,6 +46,7 @@
 func defaultSessionEntityTypesClientOptions() []option.ClientOption {
 	return []option.ClientOption{
 		option.WithEndpoint("dialogflow.googleapis.com:443"),
+		option.WithGRPCDialOption(grpc.WithDisableServiceConfig()),
 		option.WithScopes(DefaultAuthScopes()...),
 		option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
 			grpc.MaxCallRecvMsgSize(math.MaxInt32))),
@@ -53,26 +54,45 @@
 }
 
 func defaultSessionEntityTypesCallOptions() *SessionEntityTypesCallOptions {
-	retry := map[[2]string][]gax.CallOption{
-		{"default", "idempotent"}: {
+	return &SessionEntityTypesCallOptions{
+		ListSessionEntityTypes: []gax.CallOption{
 			gax.WithRetry(func() gax.Retryer {
 				return gax.OnCodes([]codes.Code{
-					codes.DeadlineExceeded,
 					codes.Unavailable,
+					codes.DeadlineExceeded,
 				}, gax.Backoff{
 					Initial:    100 * time.Millisecond,
 					Max:        60000 * time.Millisecond,
-					Multiplier: 1.3,
+					Multiplier: 1.30,
 				})
 			}),
 		},
-	}
-	return &SessionEntityTypesCallOptions{
-		ListSessionEntityTypes:  retry[[2]string{"default", "idempotent"}],
-		GetSessionEntityType:    retry[[2]string{"default", "idempotent"}],
-		CreateSessionEntityType: retry[[2]string{"default", "non_idempotent"}],
-		UpdateSessionEntityType: retry[[2]string{"default", "non_idempotent"}],
-		DeleteSessionEntityType: retry[[2]string{"default", "idempotent"}],
+		GetSessionEntityType: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		CreateSessionEntityType: []gax.CallOption{},
+		UpdateSessionEntityType: []gax.CallOption{},
+		DeleteSessionEntityType: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.Unavailable,
+					codes.DeadlineExceeded,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
 	}
 }
 
@@ -100,7 +120,7 @@
 // such as a geographic location or landmark, and so on. Entities represent
 // actionable data for your application.
 //
-// Session entity types are referred to as **User** entity types and are
+// Session entity types are referred to as User entity types and are
 // entities that are built for an individual user such as
 // favorites, preferences, playlists, and so on. You can redefine a session
 // entity type at the session level.
@@ -110,8 +130,8 @@
 // with Google Assistant integration.
 //
 // For more information about entity types, see the
-// [Dialogflow
-// documentation](https://cloud.google.com/dialogflow/docs/entities-overview).
+// Dialogflow
+// documentation (at https://cloud.google.com/dialogflow/docs/entities-overview).
 func NewSessionEntityTypesClient(ctx context.Context, opts ...option.ClientOption) (*SessionEntityTypesClient, error) {
 	conn, err := transport.DialGRPC(ctx, append(defaultSessionEntityTypesClientOptions(), opts...)...)
 	if err != nil {
@@ -124,6 +144,7 @@
 		sessionEntityTypesClient: dialogflowpb.NewSessionEntityTypesClient(conn),
 	}
 	c.setGoogleClientInfo()
+
 	return c, nil
 }
 
@@ -149,7 +170,7 @@
 
 // ListSessionEntityTypes returns the list of all session entity types in the specified session.
 //
-// This method doesn't work with Google Assistant integration.
+// This method doesn’t work with Google Assistant integration.
 // Contact Dialogflow support if you need to use session entities
 // with Google Assistant integration.
 func (c *SessionEntityTypesClient) ListSessionEntityTypes(ctx context.Context, req *dialogflowpb.ListSessionEntityTypesRequest, opts ...gax.CallOption) *SessionEntityTypeIterator {
@@ -174,6 +195,8 @@
 		if err != nil {
 			return nil, "", err
 		}
+
+		it.Response = resp
 		return resp.SessionEntityTypes, resp.NextPageToken, nil
 	}
 	fetch := func(pageSize int, pageToken string) (string, error) {
@@ -192,7 +215,7 @@
 
 // GetSessionEntityType retrieves the specified session entity type.
 //
-// This method doesn't work with Google Assistant integration.
+// This method doesn’t work with Google Assistant integration.
 // Contact Dialogflow support if you need to use session entities
 // with Google Assistant integration.
 func (c *SessionEntityTypesClient) GetSessionEntityType(ctx context.Context, req *dialogflowpb.GetSessionEntityTypeRequest, opts ...gax.CallOption) (*dialogflowpb.SessionEntityType, error) {
@@ -216,7 +239,7 @@
 // If the specified session entity type already exists, overrides the session
 // entity type.
 //
-// This method doesn't work with Google Assistant integration.
+// This method doesn’t work with Google Assistant integration.
 // Contact Dialogflow support if you need to use session entities
 // with Google Assistant integration.
 func (c *SessionEntityTypesClient) CreateSessionEntityType(ctx context.Context, req *dialogflowpb.CreateSessionEntityTypeRequest, opts ...gax.CallOption) (*dialogflowpb.SessionEntityType, error) {
@@ -237,7 +260,7 @@
 
 // UpdateSessionEntityType updates the specified session entity type.
 //
-// This method doesn't work with Google Assistant integration.
+// This method doesn’t work with Google Assistant integration.
 // Contact Dialogflow support if you need to use session entities
 // with Google Assistant integration.
 func (c *SessionEntityTypesClient) UpdateSessionEntityType(ctx context.Context, req *dialogflowpb.UpdateSessionEntityTypeRequest, opts ...gax.CallOption) (*dialogflowpb.SessionEntityType, error) {
@@ -258,7 +281,7 @@
 
 // DeleteSessionEntityType deletes the specified session entity type.
 //
-// This method doesn't work with Google Assistant integration.
+// This method doesn’t work with Google Assistant integration.
 // Contact Dialogflow support if you need to use session entities
 // with Google Assistant integration.
 func (c *SessionEntityTypesClient) DeleteSessionEntityType(ctx context.Context, req *dialogflowpb.DeleteSessionEntityTypeRequest, opts ...gax.CallOption) error {
@@ -279,6 +302,11 @@
 	pageInfo *iterator.PageInfo
 	nextFunc func() error
 
+	// Response is the raw response for the current page.
+	// It must be cast to the RPC response type.
+	// Calling Next() or InternalFetch() updates this value.
+	Response interface{}
+
 	// InternalFetch is for use by the Google Cloud Libraries only.
 	// It is not part of the stable interface of this package.
 	//
diff --git a/dialogflow/apiv2/session_entity_types_client_example_test.go b/dialogflow/apiv2/session_entity_types_client_example_test.go
index 3d1b22f..af182bf 100644
--- a/dialogflow/apiv2/session_entity_types_client_example_test.go
+++ b/dialogflow/apiv2/session_entity_types_client_example_test.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package dialogflow_test
 
@@ -35,6 +35,9 @@
 }
 
 func ExampleSessionEntityTypesClient_ListSessionEntityTypes() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+	// import "google.golang.org/api/iterator"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewSessionEntityTypesClient(ctx)
 	if err != nil {
@@ -59,6 +62,8 @@
 }
 
 func ExampleSessionEntityTypesClient_GetSessionEntityType() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewSessionEntityTypesClient(ctx)
 	if err != nil {
@@ -77,6 +82,8 @@
 }
 
 func ExampleSessionEntityTypesClient_CreateSessionEntityType() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewSessionEntityTypesClient(ctx)
 	if err != nil {
@@ -95,6 +102,8 @@
 }
 
 func ExampleSessionEntityTypesClient_UpdateSessionEntityType() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewSessionEntityTypesClient(ctx)
 	if err != nil {
diff --git a/dialogflow/apiv2/sessions_client.go b/dialogflow/apiv2/sessions_client.go
index dd3d807..e548fdb 100644
--- a/dialogflow/apiv2/sessions_client.go
+++ b/dialogflow/apiv2/sessions_client.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package dialogflow
 
@@ -39,6 +39,7 @@
 func defaultSessionsClientOptions() []option.ClientOption {
 	return []option.ClientOption{
 		option.WithEndpoint("dialogflow.googleapis.com:443"),
+		option.WithGRPCDialOption(grpc.WithDisableServiceConfig()),
 		option.WithScopes(DefaultAuthScopes()...),
 		option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
 			grpc.MaxCallRecvMsgSize(math.MaxInt32))),
@@ -46,10 +47,9 @@
 }
 
 func defaultSessionsCallOptions() *SessionsCallOptions {
-	retry := map[[2]string][]gax.CallOption{}
 	return &SessionsCallOptions{
-		DetectIntent:          retry[[2]string{"default", "non_idempotent"}],
-		StreamingDetectIntent: retry[[2]string{"default", "non_idempotent"}],
+		DetectIntent:          []gax.CallOption{},
+		StreamingDetectIntent: []gax.CallOption{},
 	}
 }
 
@@ -88,6 +88,7 @@
 		sessionsClient: dialogflowpb.NewSessionsClient(conn),
 	}
 	c.setGoogleClientInfo()
+
 	return c, nil
 }
 
diff --git a/dialogflow/apiv2/sessions_client_example_test.go b/dialogflow/apiv2/sessions_client_example_test.go
index ca7a591..cf98bcc 100644
--- a/dialogflow/apiv2/sessions_client_example_test.go
+++ b/dialogflow/apiv2/sessions_client_example_test.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package dialogflow_test
 
@@ -35,6 +35,8 @@
 }
 
 func ExampleSessionsClient_DetectIntent() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewSessionsClient(ctx)
 	if err != nil {
@@ -53,6 +55,8 @@
 }
 
 func ExampleSessionsClient_StreamingDetectIntent() {
+	// import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
+
 	ctx := context.Background()
 	c, err := dialogflow.NewSessionsClient(ctx)
 	if err != nil {
diff --git a/dlp/apiv2/doc.go b/dlp/apiv2/doc.go
index a835e12..64ceba1 100644
--- a/dlp/apiv2/doc.go
+++ b/dlp/apiv2/doc.go
@@ -43,7 +43,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/errorreporting/apiv1beta1/doc.go b/errorreporting/apiv1beta1/doc.go
index 430c579..b0d54bf 100644
--- a/errorreporting/apiv1beta1/doc.go
+++ b/errorreporting/apiv1beta1/doc.go
@@ -45,7 +45,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/expr/apiv1alpha1/doc.go b/expr/apiv1alpha1/doc.go
index 040c707..f02ff6c 100644
--- a/expr/apiv1alpha1/doc.go
+++ b/expr/apiv1alpha1/doc.go
@@ -95,4 +95,4 @@
 	return "UNKNOWN"
 }
 
-const versionClient = "20191216"
+const versionClient = "20191219"
diff --git a/firestore/apiv1/admin/doc.go b/firestore/apiv1/admin/doc.go
index d548a14..06f632d 100644
--- a/firestore/apiv1/admin/doc.go
+++ b/firestore/apiv1/admin/doc.go
@@ -44,7 +44,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/firestore/apiv1/doc.go b/firestore/apiv1/doc.go
index 0611bde..c4f2638 100644
--- a/firestore/apiv1/doc.go
+++ b/firestore/apiv1/doc.go
@@ -15,9 +15,12 @@
 // Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 // Package firestore is an auto-generated package for the
-// Google Cloud Firestore API.
-
+// Cloud Firestore API.
 //
+// Accesses the NoSQL document database built for automatic scaling, high
+// performance, and ease of application development.
+//
+//   NOTE: This package is in beta. It is not stable, and may be subject to changes.
 //
 // Use of Context
 //
@@ -29,9 +32,6 @@
 //
 // For information about setting deadlines, reusing contexts, and more
 // please visit godoc.org/cloud.google.com/go.
-//
-// For information about setting deadlines, reusing contexts, and more
-// please visit godoc.org/cloud.google.com/go.
 
 package firestore // import "cloud.google.com/go/firestore/apiv1"
 
@@ -44,7 +44,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/firestore/apiv1/firestore_client.go b/firestore/apiv1/firestore_client.go
index cdb27f5..8a682c3 100644
--- a/firestore/apiv1/firestore_client.go
+++ b/firestore/apiv1/firestore_client.go
@@ -69,7 +69,16 @@
 					codes.Unavailable,
 					codes.Internal,
 					codes.DeadlineExceeded,
-					codes.Internal,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		ListDocuments: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
 					codes.Unavailable,
 					codes.Internal,
 					codes.DeadlineExceeded,
@@ -88,7 +97,16 @@
 					codes.Unavailable,
 					codes.Internal,
 					codes.DeadlineExceeded,
-					codes.Internal,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		BatchGetDocuments: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
 					codes.Unavailable,
 					codes.Internal,
 					codes.DeadlineExceeded,
diff --git a/firestore/apiv1beta1/doc.go b/firestore/apiv1beta1/doc.go
index afb7c93..9b696d7 100644
--- a/firestore/apiv1beta1/doc.go
+++ b/firestore/apiv1beta1/doc.go
@@ -44,7 +44,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191213"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/firestore/go.mod b/firestore/go.mod
index 4eb1f2e..1091137 100644
--- a/firestore/go.mod
+++ b/firestore/go.mod
@@ -10,8 +10,8 @@
 	github.com/googleapis/gax-go/v2 v2.0.5
 	golang.org/x/exp v0.0.0-20191129062945-2f5052295587 // indirect
 	golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f // indirect
-	golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 // indirect
-	google.golang.org/api v0.14.0
-	google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1
+	golang.org/x/tools v0.0.0-20191219230827-5e752206af05 // indirect
+	google.golang.org/api v0.15.0
+	google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88
 	google.golang.org/grpc v1.21.1
 )
diff --git a/firestore/go.sum b/firestore/go.sum
index 6438eec..804f06e 100644
--- a/firestore/go.sum
+++ b/firestore/go.sum
@@ -137,8 +137,8 @@
 golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 h1:RIIXAeV6GvDBuADKumTODatUqANFZ+5BPMnzsy4hulY=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05 h1:ule/632bB9zpSo6pdRWwclhLY2LYLINl4bI+oAhSGK8=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
@@ -146,8 +146,8 @@
 google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
 google.golang.org/api v0.9.0 h1:jbyannxz0XFD3zdjgrSUsaJbgpH4eTrkdhRChkHPfO8=
 google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.14.0 h1:uMf5uLi4eQMRrMKhCplNik4U4H8Z6C1br3zOtAa/aDE=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0 h1:yzlyyDW/J0w8yNFJIhiAJy4kq74S+1DOLdawELNxFMA=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -163,8 +163,8 @@
 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51 h1:Ex1mq5jaJof+kRnYi3SlYJ8KKa9Ao3NHyIT5XJ1gF6U=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1 h1:aQktFqmDE2yjveXJlVIfslDFmFnUXSqG0i6KRcJAeMc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88 h1:IpAgNp1ve57lDXOJO/8Y9UFdfiPfnNHEiVjiPz+udRU=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1 h1:j6XxA85m/6txkUCHvzlV5f+HBNl/1r5cZ2A/3IEFOO8=
diff --git a/go.mod b/go.mod
index 2ddfd3e..c43ec19 100644
--- a/go.mod
+++ b/go.mod
@@ -22,9 +22,9 @@
 	golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e // indirect
 	golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e // indirect
 	golang.org/x/text v0.3.2
-	golang.org/x/tools v0.0.0-20191216173652-a0e659d51361
-	google.golang.org/api v0.14.0
-	google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1
+	golang.org/x/tools v0.0.0-20191219230827-5e752206af05
+	google.golang.org/api v0.15.0
+	google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88
 	google.golang.org/grpc v1.21.1
 	honnef.co/go/tools v0.0.1-2019.2.3
 )
diff --git a/go.sum b/go.sum
index aec122a..46b5f27 100644
--- a/go.sum
+++ b/go.sum
@@ -168,8 +168,8 @@
 golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 h1:RIIXAeV6GvDBuADKumTODatUqANFZ+5BPMnzsy4hulY=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05 h1:ule/632bB9zpSo6pdRWwclhLY2LYLINl4bI+oAhSGK8=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
@@ -178,8 +178,8 @@
 google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
 google.golang.org/api v0.9.0 h1:jbyannxz0XFD3zdjgrSUsaJbgpH4eTrkdhRChkHPfO8=
 google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.14.0 h1:uMf5uLi4eQMRrMKhCplNik4U4H8Z6C1br3zOtAa/aDE=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0 h1:yzlyyDW/J0w8yNFJIhiAJy4kq74S+1DOLdawELNxFMA=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -200,8 +200,8 @@
 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51 h1:Ex1mq5jaJof+kRnYi3SlYJ8KKa9Ao3NHyIT5XJ1gF6U=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1 h1:aQktFqmDE2yjveXJlVIfslDFmFnUXSqG0i6KRcJAeMc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88 h1:IpAgNp1ve57lDXOJO/8Y9UFdfiPfnNHEiVjiPz+udRU=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/grpc v1.19.0 h1:cfg4PD8YEdSFnm7qLV4++93WcmhH2nIUhMjhdCvl3j8=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1 h1:Hz2g2wirWK7H0qIIhGIqRGTuMwTE8HEKFnDZZ7lm9NU=
diff --git a/iam/credentials/apiv1/doc.go b/iam/credentials/apiv1/doc.go
index 767d2b3..ecb2e76 100644
--- a/iam/credentials/apiv1/doc.go
+++ b/iam/credentials/apiv1/doc.go
@@ -97,4 +97,4 @@
 	return "UNKNOWN"
 }
 
-const versionClient = "20191216"
+const versionClient = "20191219"
diff --git a/internal/gapicgen/go.mod b/internal/gapicgen/go.mod
index dd0309a..0877fe0 100644
--- a/internal/gapicgen/go.mod
+++ b/internal/gapicgen/go.mod
@@ -13,7 +13,7 @@
 	golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e
 	golang.org/x/sys v0.0.0-20191210023423-ac6580df4449 // indirect
 	google.golang.org/appengine v1.5.0 // indirect
-	google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1 // indirect
+	google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88 // indirect
 	google.golang.org/grpc v1.20.1 // indirect
 	gopkg.in/src-d/go-git.v4 v4.13.1
 )
diff --git a/internal/gapicgen/go.sum b/internal/gapicgen/go.sum
index 63908e1..974de82 100644
--- a/internal/gapicgen/go.sum
+++ b/internal/gapicgen/go.sum
@@ -48,13 +48,11 @@
 github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
 github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
 github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
-github.com/googleapis/gapic-generator-go v0.9.7 h1:45SHyAQ3XrVrbeG0T2VA2thQcvIVtsvBtAA30rxMLGI=
-github.com/googleapis/gapic-generator-go v0.9.7/go.mod h1:GhQjtY1N0eUkkiHOds/E79rdnhwyJTQV+heoQiUzPsU=
+github.com/googleapis/gapic-generator-go v0.9.8 h1:mGgjQtzxvegXGKDHbOJPSRiGSTrSC+bKMzgK9/XfHxI=
 github.com/googleapis/gapic-generator-go v0.9.8/go.mod h1:H7yE+GSrQqC9aiijvIvd16Ru0BgJ1LuREW60CroBSAc=
 github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
 github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
 github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
-github.com/jhump/protoreflect v1.5.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74=
 github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74=
 github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd h1:Coekwdh0v2wtGp9Gmz1Ze3eVRAWJMLokvN3QjdzCHLY=
 github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
@@ -144,11 +142,9 @@
 google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-google.golang.org/genproto v0.0.0-20191206224255-0243a4be9c8f h1:naitw5DILWPQvG0oG04mR9jF8fmKpRdW3E3zzKA4D0Y=
-google.golang.org/genproto v0.0.0-20191206224255-0243a4be9c8f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1 h1:aQktFqmDE2yjveXJlVIfslDFmFnUXSqG0i6KRcJAeMc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/genproto v0.0.0-20191216205247-b31c10ee225f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88 h1:IpAgNp1ve57lDXOJO/8Y9UFdfiPfnNHEiVjiPz+udRU=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
 google.golang.org/grpc v1.19.0 h1:cfg4PD8YEdSFnm7qLV4++93WcmhH2nIUhMjhdCvl3j8=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
diff --git a/iot/apiv1/doc.go b/iot/apiv1/doc.go
index 6ec54a6..601f5f8 100644
--- a/iot/apiv1/doc.go
+++ b/iot/apiv1/doc.go
@@ -42,7 +42,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/irm/apiv1alpha2/doc.go b/irm/apiv1alpha2/doc.go
index a11c79d..09aaffe 100644
--- a/irm/apiv1alpha2/doc.go
+++ b/irm/apiv1alpha2/doc.go
@@ -41,7 +41,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/kms/apiv1/doc.go b/kms/apiv1/doc.go
index 4b1adc6..9bb5326 100644
--- a/kms/apiv1/doc.go
+++ b/kms/apiv1/doc.go
@@ -42,7 +42,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/language/apiv1/doc.go b/language/apiv1/doc.go
index 20a0274..d271b69 100644
--- a/language/apiv1/doc.go
+++ b/language/apiv1/doc.go
@@ -45,7 +45,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/language/apiv1beta2/doc.go b/language/apiv1beta2/doc.go
index 402a43f..07313b9 100644
--- a/language/apiv1beta2/doc.go
+++ b/language/apiv1beta2/doc.go
@@ -45,7 +45,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/logging/apiv2/doc.go b/logging/apiv2/doc.go
index d08e5a0..a162d19 100644
--- a/logging/apiv2/doc.go
+++ b/logging/apiv2/doc.go
@@ -106,4 +106,4 @@
 	return "UNKNOWN"
 }
 
-const versionClient = "20191216"
+const versionClient = "20191219"
diff --git a/logging/go.mod b/logging/go.mod
index a549745..3bf3747 100644
--- a/logging/go.mod
+++ b/logging/go.mod
@@ -12,8 +12,8 @@
 	golang.org/x/exp v0.0.0-20191129062945-2f5052295587 // indirect
 	golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f // indirect
 	golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
-	golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 // indirect
-	google.golang.org/api v0.14.0
-	google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1
+	golang.org/x/tools v0.0.0-20191219230827-5e752206af05 // indirect
+	google.golang.org/api v0.15.0
+	google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88
 	google.golang.org/grpc v1.21.1
 )
diff --git a/logging/go.sum b/logging/go.sum
index 4c65789..49f5f59 100644
--- a/logging/go.sum
+++ b/logging/go.sum
@@ -138,8 +138,8 @@
 golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 h1:RIIXAeV6GvDBuADKumTODatUqANFZ+5BPMnzsy4hulY=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05 h1:ule/632bB9zpSo6pdRWwclhLY2LYLINl4bI+oAhSGK8=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
@@ -148,8 +148,8 @@
 google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
 google.golang.org/api v0.9.0 h1:jbyannxz0XFD3zdjgrSUsaJbgpH4eTrkdhRChkHPfO8=
 google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.14.0 h1:uMf5uLi4eQMRrMKhCplNik4U4H8Z6C1br3zOtAa/aDE=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0 h1:yzlyyDW/J0w8yNFJIhiAJy4kq74S+1DOLdawELNxFMA=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -164,8 +164,8 @@
 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51 h1:Ex1mq5jaJof+kRnYi3SlYJ8KKa9Ao3NHyIT5XJ1gF6U=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1 h1:aQktFqmDE2yjveXJlVIfslDFmFnUXSqG0i6KRcJAeMc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88 h1:IpAgNp1ve57lDXOJO/8Y9UFdfiPfnNHEiVjiPz+udRU=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1 h1:j6XxA85m/6txkUCHvzlV5f+HBNl/1r5cZ2A/3IEFOO8=
diff --git a/longrunning/autogen/doc.go b/longrunning/autogen/doc.go
index ea3c6a7..3c210b6 100644
--- a/longrunning/autogen/doc.go
+++ b/longrunning/autogen/doc.go
@@ -96,4 +96,4 @@
 	return "UNKNOWN"
 }
 
-const versionClient = "20191216"
+const versionClient = "20191219"
diff --git a/monitoring/apiv3/doc.go b/monitoring/apiv3/doc.go
index a9fa74d..68a28fc 100644
--- a/monitoring/apiv3/doc.go
+++ b/monitoring/apiv3/doc.go
@@ -105,4 +105,4 @@
 	return "UNKNOWN"
 }
 
-const versionClient = "20191216"
+const versionClient = "20191219"
diff --git a/osconfig/agentendpoint/apiv1beta/doc.go b/osconfig/agentendpoint/apiv1beta/doc.go
index 3fc4819..d762eae 100644
--- a/osconfig/agentendpoint/apiv1beta/doc.go
+++ b/osconfig/agentendpoint/apiv1beta/doc.go
@@ -44,7 +44,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/osconfig/apiv1beta/doc.go b/osconfig/apiv1beta/doc.go
index c560cc2..5b4075c 100644
--- a/osconfig/apiv1beta/doc.go
+++ b/osconfig/apiv1beta/doc.go
@@ -44,7 +44,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/oslogin/apiv1/doc.go b/oslogin/apiv1/doc.go
index 06266ef..dbeafd1 100644
--- a/oslogin/apiv1/doc.go
+++ b/oslogin/apiv1/doc.go
@@ -44,7 +44,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/oslogin/apiv1beta/doc.go b/oslogin/apiv1beta/doc.go
index 0c4b127..aecd028 100644
--- a/oslogin/apiv1beta/doc.go
+++ b/oslogin/apiv1beta/doc.go
@@ -44,7 +44,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/phishingprotection/apiv1beta1/doc.go b/phishingprotection/apiv1beta1/doc.go
index 8fffc73..1881026 100644
--- a/phishingprotection/apiv1beta1/doc.go
+++ b/phishingprotection/apiv1beta1/doc.go
@@ -41,7 +41,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/pubsub/apiv1/doc.go b/pubsub/apiv1/doc.go
index 4a2f826..a87d68a 100644
--- a/pubsub/apiv1/doc.go
+++ b/pubsub/apiv1/doc.go
@@ -100,4 +100,4 @@
 	return "UNKNOWN"
 }
 
-const versionClient = "20191216"
+const versionClient = "20191219"
diff --git a/pubsub/go.mod b/pubsub/go.mod
index dfe085c..f0fcee3 100644
--- a/pubsub/go.mod
+++ b/pubsub/go.mod
@@ -14,8 +14,8 @@
 	golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
 	golang.org/x/sync v0.0.0-20190423024810-112230192c58
 	golang.org/x/time v0.0.0-20190308202827-9d24e82272b4
-	golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 // indirect
-	google.golang.org/api v0.14.0
-	google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1
+	golang.org/x/tools v0.0.0-20191219230827-5e752206af05 // indirect
+	google.golang.org/api v0.15.0
+	google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88
 	google.golang.org/grpc v1.21.1
 )
diff --git a/pubsub/go.sum b/pubsub/go.sum
index 331ae77..d50ed4b 100644
--- a/pubsub/go.sum
+++ b/pubsub/go.sum
@@ -138,8 +138,8 @@
 golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 h1:RIIXAeV6GvDBuADKumTODatUqANFZ+5BPMnzsy4hulY=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05 h1:ule/632bB9zpSo6pdRWwclhLY2LYLINl4bI+oAhSGK8=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
@@ -147,8 +147,8 @@
 google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
 google.golang.org/api v0.9.0 h1:jbyannxz0XFD3zdjgrSUsaJbgpH4eTrkdhRChkHPfO8=
 google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.14.0 h1:uMf5uLi4eQMRrMKhCplNik4U4H8Z6C1br3zOtAa/aDE=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0 h1:yzlyyDW/J0w8yNFJIhiAJy4kq74S+1DOLdawELNxFMA=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -164,8 +164,8 @@
 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51 h1:Ex1mq5jaJof+kRnYi3SlYJ8KKa9Ao3NHyIT5XJ1gF6U=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1 h1:aQktFqmDE2yjveXJlVIfslDFmFnUXSqG0i6KRcJAeMc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88 h1:IpAgNp1ve57lDXOJO/8Y9UFdfiPfnNHEiVjiPz+udRU=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1 h1:j6XxA85m/6txkUCHvzlV5f+HBNl/1r5cZ2A/3IEFOO8=
diff --git a/recaptchaenterprise/apiv1beta1/doc.go b/recaptchaenterprise/apiv1beta1/doc.go
index 58176ae..bb9c791 100644
--- a/recaptchaenterprise/apiv1beta1/doc.go
+++ b/recaptchaenterprise/apiv1beta1/doc.go
@@ -41,7 +41,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/recommender/apiv1beta1/doc.go b/recommender/apiv1beta1/doc.go
index 9dc5f59..68ec5c6 100644
--- a/recommender/apiv1beta1/doc.go
+++ b/recommender/apiv1beta1/doc.go
@@ -41,7 +41,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/redis/apiv1/doc.go b/redis/apiv1/doc.go
index 6c626ca..232fe52 100644
--- a/redis/apiv1/doc.go
+++ b/redis/apiv1/doc.go
@@ -43,7 +43,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/redis/apiv1beta1/doc.go b/redis/apiv1beta1/doc.go
index 6990c0c..3fa386f 100644
--- a/redis/apiv1beta1/doc.go
+++ b/redis/apiv1beta1/doc.go
@@ -43,7 +43,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/scheduler/apiv1/doc.go b/scheduler/apiv1/doc.go
index cba2df2..c4939f4 100644
--- a/scheduler/apiv1/doc.go
+++ b/scheduler/apiv1/doc.go
@@ -41,7 +41,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/scheduler/apiv1beta1/doc.go b/scheduler/apiv1beta1/doc.go
index 336f5bc..ec74538 100644
--- a/scheduler/apiv1beta1/doc.go
+++ b/scheduler/apiv1beta1/doc.go
@@ -43,7 +43,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/secretmanager/apiv1beta1/doc.go b/secretmanager/apiv1beta1/doc.go
index 9387083..7b2cedc 100644
--- a/secretmanager/apiv1beta1/doc.go
+++ b/secretmanager/apiv1beta1/doc.go
@@ -43,7 +43,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/secretmanager/apiv1beta1/secret_manager_client.go b/secretmanager/apiv1beta1/secret_manager_client.go
index db226be..7a6d788 100644
--- a/secretmanager/apiv1beta1/secret_manager_client.go
+++ b/secretmanager/apiv1beta1/secret_manager_client.go
@@ -28,7 +28,7 @@
 	"google.golang.org/api/iterator"
 	"google.golang.org/api/option"
 	"google.golang.org/api/transport"
-	secretspb "google.golang.org/genproto/googleapis/cloud/secrets/v1beta1"
+	secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1"
 	iampb "google.golang.org/genproto/googleapis/iam/v1"
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/codes"
@@ -103,7 +103,7 @@
 	conn *grpc.ClientConn
 
 	// The gRPC API client.
-	client secretspb.SecretManagerServiceClient
+	client secretmanagerpb.SecretManagerServiceClient
 
 	// The call options for this service.
 	CallOptions *CallOptions
@@ -131,7 +131,7 @@
 		conn:        conn,
 		CallOptions: defaultCallOptions(),
 
-		client: secretspb.NewSecretManagerServiceClient(conn),
+		client: secretmanagerpb.NewSecretManagerServiceClient(conn),
 	}
 	c.setGoogleClientInfo()
 
@@ -159,14 +159,14 @@
 }
 
 // ListSecrets lists [Secrets][google.cloud.secrets.v1beta1.Secret].
-func (c *Client) ListSecrets(ctx context.Context, req *secretspb.ListSecretsRequest, opts ...gax.CallOption) *SecretIterator {
+func (c *Client) ListSecrets(ctx context.Context, req *secretmanagerpb.ListSecretsRequest, opts ...gax.CallOption) *SecretIterator {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
 	opts = append(c.CallOptions.ListSecrets[0:len(c.CallOptions.ListSecrets):len(c.CallOptions.ListSecrets)], opts...)
 	it := &SecretIterator{}
-	req = proto.Clone(req).(*secretspb.ListSecretsRequest)
-	it.InternalFetch = func(pageSize int, pageToken string) ([]*secretspb.Secret, string, error) {
-		var resp *secretspb.ListSecretsResponse
+	req = proto.Clone(req).(*secretmanagerpb.ListSecretsRequest)
+	it.InternalFetch = func(pageSize int, pageToken string) ([]*secretmanagerpb.Secret, string, error) {
+		var resp *secretmanagerpb.ListSecretsResponse
 		req.PageToken = pageToken
 		if pageSize > math.MaxInt32 {
 			req.PageSize = math.MaxInt32
@@ -200,11 +200,11 @@
 }
 
 // CreateSecret creates a new [Secret][google.cloud.secrets.v1beta1.Secret] containing no [SecretVersions][google.cloud.secrets.v1beta1.SecretVersion].
-func (c *Client) CreateSecret(ctx context.Context, req *secretspb.CreateSecretRequest, opts ...gax.CallOption) (*secretspb.Secret, error) {
+func (c *Client) CreateSecret(ctx context.Context, req *secretmanagerpb.CreateSecretRequest, opts ...gax.CallOption) (*secretmanagerpb.Secret, error) {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
 	opts = append(c.CallOptions.CreateSecret[0:len(c.CallOptions.CreateSecret):len(c.CallOptions.CreateSecret)], opts...)
-	var resp *secretspb.Secret
+	var resp *secretmanagerpb.Secret
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
 		var err error
 		resp, err = c.client.CreateSecret(ctx, req, settings.GRPC...)
@@ -218,11 +218,11 @@
 
 // AddSecretVersion creates a new [SecretVersion][google.cloud.secrets.v1beta1.SecretVersion] containing secret data and attaches
 // it to an existing [Secret][google.cloud.secrets.v1beta1.Secret].
-func (c *Client) AddSecretVersion(ctx context.Context, req *secretspb.AddSecretVersionRequest, opts ...gax.CallOption) (*secretspb.SecretVersion, error) {
+func (c *Client) AddSecretVersion(ctx context.Context, req *secretmanagerpb.AddSecretVersionRequest, opts ...gax.CallOption) (*secretmanagerpb.SecretVersion, error) {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
 	opts = append(c.CallOptions.AddSecretVersion[0:len(c.CallOptions.AddSecretVersion):len(c.CallOptions.AddSecretVersion)], opts...)
-	var resp *secretspb.SecretVersion
+	var resp *secretmanagerpb.SecretVersion
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
 		var err error
 		resp, err = c.client.AddSecretVersion(ctx, req, settings.GRPC...)
@@ -235,11 +235,11 @@
 }
 
 // GetSecret gets metadata for a given [Secret][google.cloud.secrets.v1beta1.Secret].
-func (c *Client) GetSecret(ctx context.Context, req *secretspb.GetSecretRequest, opts ...gax.CallOption) (*secretspb.Secret, error) {
+func (c *Client) GetSecret(ctx context.Context, req *secretmanagerpb.GetSecretRequest, opts ...gax.CallOption) (*secretmanagerpb.Secret, error) {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
 	opts = append(c.CallOptions.GetSecret[0:len(c.CallOptions.GetSecret):len(c.CallOptions.GetSecret)], opts...)
-	var resp *secretspb.Secret
+	var resp *secretmanagerpb.Secret
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
 		var err error
 		resp, err = c.client.GetSecret(ctx, req, settings.GRPC...)
@@ -252,11 +252,11 @@
 }
 
 // UpdateSecret updates metadata of an existing [Secret][google.cloud.secrets.v1beta1.Secret].
-func (c *Client) UpdateSecret(ctx context.Context, req *secretspb.UpdateSecretRequest, opts ...gax.CallOption) (*secretspb.Secret, error) {
+func (c *Client) UpdateSecret(ctx context.Context, req *secretmanagerpb.UpdateSecretRequest, opts ...gax.CallOption) (*secretmanagerpb.Secret, error) {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "secret.name", url.QueryEscape(req.GetSecret().GetName())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
 	opts = append(c.CallOptions.UpdateSecret[0:len(c.CallOptions.UpdateSecret):len(c.CallOptions.UpdateSecret)], opts...)
-	var resp *secretspb.Secret
+	var resp *secretmanagerpb.Secret
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
 		var err error
 		resp, err = c.client.UpdateSecret(ctx, req, settings.GRPC...)
@@ -269,7 +269,7 @@
 }
 
 // DeleteSecret deletes a [Secret][google.cloud.secrets.v1beta1.Secret].
-func (c *Client) DeleteSecret(ctx context.Context, req *secretspb.DeleteSecretRequest, opts ...gax.CallOption) error {
+func (c *Client) DeleteSecret(ctx context.Context, req *secretmanagerpb.DeleteSecretRequest, opts ...gax.CallOption) error {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
 	opts = append(c.CallOptions.DeleteSecret[0:len(c.CallOptions.DeleteSecret):len(c.CallOptions.DeleteSecret)], opts...)
@@ -283,14 +283,14 @@
 
 // ListSecretVersions lists [SecretVersions][google.cloud.secrets.v1beta1.SecretVersion]. This call does not return secret
 // data.
-func (c *Client) ListSecretVersions(ctx context.Context, req *secretspb.ListSecretVersionsRequest, opts ...gax.CallOption) *SecretVersionIterator {
+func (c *Client) ListSecretVersions(ctx context.Context, req *secretmanagerpb.ListSecretVersionsRequest, opts ...gax.CallOption) *SecretVersionIterator {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
 	opts = append(c.CallOptions.ListSecretVersions[0:len(c.CallOptions.ListSecretVersions):len(c.CallOptions.ListSecretVersions)], opts...)
 	it := &SecretVersionIterator{}
-	req = proto.Clone(req).(*secretspb.ListSecretVersionsRequest)
-	it.InternalFetch = func(pageSize int, pageToken string) ([]*secretspb.SecretVersion, string, error) {
-		var resp *secretspb.ListSecretVersionsResponse
+	req = proto.Clone(req).(*secretmanagerpb.ListSecretVersionsRequest)
+	it.InternalFetch = func(pageSize int, pageToken string) ([]*secretmanagerpb.SecretVersion, string, error) {
+		var resp *secretmanagerpb.ListSecretVersionsResponse
 		req.PageToken = pageToken
 		if pageSize > math.MaxInt32 {
 			req.PageSize = math.MaxInt32
@@ -327,11 +327,11 @@
 //
 // projects/*/secrets/*/versions/latest is an alias to the latest
 // [SecretVersion][google.cloud.secrets.v1beta1.SecretVersion].
-func (c *Client) GetSecretVersion(ctx context.Context, req *secretspb.GetSecretVersionRequest, opts ...gax.CallOption) (*secretspb.SecretVersion, error) {
+func (c *Client) GetSecretVersion(ctx context.Context, req *secretmanagerpb.GetSecretVersionRequest, opts ...gax.CallOption) (*secretmanagerpb.SecretVersion, error) {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
 	opts = append(c.CallOptions.GetSecretVersion[0:len(c.CallOptions.GetSecretVersion):len(c.CallOptions.GetSecretVersion)], opts...)
-	var resp *secretspb.SecretVersion
+	var resp *secretmanagerpb.SecretVersion
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
 		var err error
 		resp, err = c.client.GetSecretVersion(ctx, req, settings.GRPC...)
@@ -347,11 +347,11 @@
 //
 // projects/*/secrets/*/versions/latest is an alias to the latest
 // [SecretVersion][google.cloud.secrets.v1beta1.SecretVersion].
-func (c *Client) AccessSecretVersion(ctx context.Context, req *secretspb.AccessSecretVersionRequest, opts ...gax.CallOption) (*secretspb.AccessSecretVersionResponse, error) {
+func (c *Client) AccessSecretVersion(ctx context.Context, req *secretmanagerpb.AccessSecretVersionRequest, opts ...gax.CallOption) (*secretmanagerpb.AccessSecretVersionResponse, error) {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
 	opts = append(c.CallOptions.AccessSecretVersion[0:len(c.CallOptions.AccessSecretVersion):len(c.CallOptions.AccessSecretVersion)], opts...)
-	var resp *secretspb.AccessSecretVersionResponse
+	var resp *secretmanagerpb.AccessSecretVersionResponse
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
 		var err error
 		resp, err = c.client.AccessSecretVersion(ctx, req, settings.GRPC...)
@@ -367,11 +367,11 @@
 //
 // Sets the [state][google.cloud.secrets.v1beta1.SecretVersion.state] of the [SecretVersion][google.cloud.secrets.v1beta1.SecretVersion] to
 // [DISABLED][google.cloud.secrets.v1beta1.SecretVersion.State.DISABLED].
-func (c *Client) DisableSecretVersion(ctx context.Context, req *secretspb.DisableSecretVersionRequest, opts ...gax.CallOption) (*secretspb.SecretVersion, error) {
+func (c *Client) DisableSecretVersion(ctx context.Context, req *secretmanagerpb.DisableSecretVersionRequest, opts ...gax.CallOption) (*secretmanagerpb.SecretVersion, error) {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
 	opts = append(c.CallOptions.DisableSecretVersion[0:len(c.CallOptions.DisableSecretVersion):len(c.CallOptions.DisableSecretVersion)], opts...)
-	var resp *secretspb.SecretVersion
+	var resp *secretmanagerpb.SecretVersion
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
 		var err error
 		resp, err = c.client.DisableSecretVersion(ctx, req, settings.GRPC...)
@@ -387,11 +387,11 @@
 //
 // Sets the [state][google.cloud.secrets.v1beta1.SecretVersion.state] of the [SecretVersion][google.cloud.secrets.v1beta1.SecretVersion] to
 // [ENABLED][google.cloud.secrets.v1beta1.SecretVersion.State.ENABLED].
-func (c *Client) EnableSecretVersion(ctx context.Context, req *secretspb.EnableSecretVersionRequest, opts ...gax.CallOption) (*secretspb.SecretVersion, error) {
+func (c *Client) EnableSecretVersion(ctx context.Context, req *secretmanagerpb.EnableSecretVersionRequest, opts ...gax.CallOption) (*secretmanagerpb.SecretVersion, error) {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
 	opts = append(c.CallOptions.EnableSecretVersion[0:len(c.CallOptions.EnableSecretVersion):len(c.CallOptions.EnableSecretVersion)], opts...)
-	var resp *secretspb.SecretVersion
+	var resp *secretmanagerpb.SecretVersion
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
 		var err error
 		resp, err = c.client.EnableSecretVersion(ctx, req, settings.GRPC...)
@@ -408,11 +408,11 @@
 // Sets the [state][google.cloud.secrets.v1beta1.SecretVersion.state] of the [SecretVersion][google.cloud.secrets.v1beta1.SecretVersion] to
 // [DESTROYED][google.cloud.secrets.v1beta1.SecretVersion.State.DESTROYED] and irrevocably destroys the
 // secret data.
-func (c *Client) DestroySecretVersion(ctx context.Context, req *secretspb.DestroySecretVersionRequest, opts ...gax.CallOption) (*secretspb.SecretVersion, error) {
+func (c *Client) DestroySecretVersion(ctx context.Context, req *secretmanagerpb.DestroySecretVersionRequest, opts ...gax.CallOption) (*secretmanagerpb.SecretVersion, error) {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
 	opts = append(c.CallOptions.DestroySecretVersion[0:len(c.CallOptions.DestroySecretVersion):len(c.CallOptions.DestroySecretVersion)], opts...)
-	var resp *secretspb.SecretVersion
+	var resp *secretmanagerpb.SecretVersion
 	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
 		var err error
 		resp, err = c.client.DestroySecretVersion(ctx, req, settings.GRPC...)
@@ -486,9 +486,9 @@
 	return resp, nil
 }
 
-// SecretIterator manages a stream of *secretspb.Secret.
+// SecretIterator manages a stream of *secretmanagerpb.Secret.
 type SecretIterator struct {
-	items    []*secretspb.Secret
+	items    []*secretmanagerpb.Secret
 	pageInfo *iterator.PageInfo
 	nextFunc func() error
 
@@ -503,7 +503,7 @@
 	// InternalFetch returns results from a single call to the underlying RPC.
 	// The number of results is no greater than pageSize.
 	// If there are no more results, nextPageToken is empty and err is nil.
-	InternalFetch func(pageSize int, pageToken string) (results []*secretspb.Secret, nextPageToken string, err error)
+	InternalFetch func(pageSize int, pageToken string) (results []*secretmanagerpb.Secret, nextPageToken string, err error)
 }
 
 // PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
@@ -513,8 +513,8 @@
 
 // Next returns the next result. Its second return value is iterator.Done if there are no more
 // results. Once Next returns Done, all subsequent calls will return Done.
-func (it *SecretIterator) Next() (*secretspb.Secret, error) {
-	var item *secretspb.Secret
+func (it *SecretIterator) Next() (*secretmanagerpb.Secret, error) {
+	var item *secretmanagerpb.Secret
 	if err := it.nextFunc(); err != nil {
 		return item, err
 	}
@@ -533,9 +533,9 @@
 	return b
 }
 
-// SecretVersionIterator manages a stream of *secretspb.SecretVersion.
+// SecretVersionIterator manages a stream of *secretmanagerpb.SecretVersion.
 type SecretVersionIterator struct {
-	items    []*secretspb.SecretVersion
+	items    []*secretmanagerpb.SecretVersion
 	pageInfo *iterator.PageInfo
 	nextFunc func() error
 
@@ -550,7 +550,7 @@
 	// InternalFetch returns results from a single call to the underlying RPC.
 	// The number of results is no greater than pageSize.
 	// If there are no more results, nextPageToken is empty and err is nil.
-	InternalFetch func(pageSize int, pageToken string) (results []*secretspb.SecretVersion, nextPageToken string, err error)
+	InternalFetch func(pageSize int, pageToken string) (results []*secretmanagerpb.SecretVersion, nextPageToken string, err error)
 }
 
 // PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
@@ -560,8 +560,8 @@
 
 // Next returns the next result. Its second return value is iterator.Done if there are no more
 // results. Once Next returns Done, all subsequent calls will return Done.
-func (it *SecretVersionIterator) Next() (*secretspb.SecretVersion, error) {
-	var item *secretspb.SecretVersion
+func (it *SecretVersionIterator) Next() (*secretmanagerpb.SecretVersion, error) {
+	var item *secretmanagerpb.SecretVersion
 	if err := it.nextFunc(); err != nil {
 		return item, err
 	}
diff --git a/secretmanager/apiv1beta1/secret_manager_client_example_test.go b/secretmanager/apiv1beta1/secret_manager_client_example_test.go
index 670c05b..42ecf62 100644
--- a/secretmanager/apiv1beta1/secret_manager_client_example_test.go
+++ b/secretmanager/apiv1beta1/secret_manager_client_example_test.go
@@ -21,7 +21,7 @@
 
 	secretmanager "cloud.google.com/go/secretmanager/apiv1beta1"
 	"google.golang.org/api/iterator"
-	secretspb "google.golang.org/genproto/googleapis/cloud/secrets/v1beta1"
+	secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1"
 	iampb "google.golang.org/genproto/googleapis/iam/v1"
 )
 
@@ -36,7 +36,7 @@
 }
 
 func ExampleClient_ListSecrets() {
-	// import secretspb "google.golang.org/genproto/googleapis/cloud/secrets/v1beta1"
+	// import secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1"
 	// import "google.golang.org/api/iterator"
 
 	ctx := context.Background()
@@ -45,7 +45,7 @@
 		// TODO: Handle error.
 	}
 
-	req := &secretspb.ListSecretsRequest{
+	req := &secretmanagerpb.ListSecretsRequest{
 		// TODO: Fill request struct fields.
 	}
 	it := c.ListSecrets(ctx, req)
@@ -63,7 +63,7 @@
 }
 
 func ExampleClient_CreateSecret() {
-	// import secretspb "google.golang.org/genproto/googleapis/cloud/secrets/v1beta1"
+	// import secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1"
 
 	ctx := context.Background()
 	c, err := secretmanager.NewClient(ctx)
@@ -71,7 +71,7 @@
 		// TODO: Handle error.
 	}
 
-	req := &secretspb.CreateSecretRequest{
+	req := &secretmanagerpb.CreateSecretRequest{
 		// TODO: Fill request struct fields.
 	}
 	resp, err := c.CreateSecret(ctx, req)
@@ -83,7 +83,7 @@
 }
 
 func ExampleClient_AddSecretVersion() {
-	// import secretspb "google.golang.org/genproto/googleapis/cloud/secrets/v1beta1"
+	// import secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1"
 
 	ctx := context.Background()
 	c, err := secretmanager.NewClient(ctx)
@@ -91,7 +91,7 @@
 		// TODO: Handle error.
 	}
 
-	req := &secretspb.AddSecretVersionRequest{
+	req := &secretmanagerpb.AddSecretVersionRequest{
 		// TODO: Fill request struct fields.
 	}
 	resp, err := c.AddSecretVersion(ctx, req)
@@ -103,7 +103,7 @@
 }
 
 func ExampleClient_GetSecret() {
-	// import secretspb "google.golang.org/genproto/googleapis/cloud/secrets/v1beta1"
+	// import secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1"
 
 	ctx := context.Background()
 	c, err := secretmanager.NewClient(ctx)
@@ -111,7 +111,7 @@
 		// TODO: Handle error.
 	}
 
-	req := &secretspb.GetSecretRequest{
+	req := &secretmanagerpb.GetSecretRequest{
 		// TODO: Fill request struct fields.
 	}
 	resp, err := c.GetSecret(ctx, req)
@@ -123,7 +123,7 @@
 }
 
 func ExampleClient_UpdateSecret() {
-	// import secretspb "google.golang.org/genproto/googleapis/cloud/secrets/v1beta1"
+	// import secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1"
 
 	ctx := context.Background()
 	c, err := secretmanager.NewClient(ctx)
@@ -131,7 +131,7 @@
 		// TODO: Handle error.
 	}
 
-	req := &secretspb.UpdateSecretRequest{
+	req := &secretmanagerpb.UpdateSecretRequest{
 		// TODO: Fill request struct fields.
 	}
 	resp, err := c.UpdateSecret(ctx, req)
@@ -149,7 +149,7 @@
 		// TODO: Handle error.
 	}
 
-	req := &secretspb.DeleteSecretRequest{
+	req := &secretmanagerpb.DeleteSecretRequest{
 		// TODO: Fill request struct fields.
 	}
 	err = c.DeleteSecret(ctx, req)
@@ -159,7 +159,7 @@
 }
 
 func ExampleClient_ListSecretVersions() {
-	// import secretspb "google.golang.org/genproto/googleapis/cloud/secrets/v1beta1"
+	// import secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1"
 	// import "google.golang.org/api/iterator"
 
 	ctx := context.Background()
@@ -168,7 +168,7 @@
 		// TODO: Handle error.
 	}
 
-	req := &secretspb.ListSecretVersionsRequest{
+	req := &secretmanagerpb.ListSecretVersionsRequest{
 		// TODO: Fill request struct fields.
 	}
 	it := c.ListSecretVersions(ctx, req)
@@ -186,7 +186,7 @@
 }
 
 func ExampleClient_GetSecretVersion() {
-	// import secretspb "google.golang.org/genproto/googleapis/cloud/secrets/v1beta1"
+	// import secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1"
 
 	ctx := context.Background()
 	c, err := secretmanager.NewClient(ctx)
@@ -194,7 +194,7 @@
 		// TODO: Handle error.
 	}
 
-	req := &secretspb.GetSecretVersionRequest{
+	req := &secretmanagerpb.GetSecretVersionRequest{
 		// TODO: Fill request struct fields.
 	}
 	resp, err := c.GetSecretVersion(ctx, req)
@@ -206,7 +206,7 @@
 }
 
 func ExampleClient_AccessSecretVersion() {
-	// import secretspb "google.golang.org/genproto/googleapis/cloud/secrets/v1beta1"
+	// import secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1"
 
 	ctx := context.Background()
 	c, err := secretmanager.NewClient(ctx)
@@ -214,7 +214,7 @@
 		// TODO: Handle error.
 	}
 
-	req := &secretspb.AccessSecretVersionRequest{
+	req := &secretmanagerpb.AccessSecretVersionRequest{
 		// TODO: Fill request struct fields.
 	}
 	resp, err := c.AccessSecretVersion(ctx, req)
@@ -226,7 +226,7 @@
 }
 
 func ExampleClient_DisableSecretVersion() {
-	// import secretspb "google.golang.org/genproto/googleapis/cloud/secrets/v1beta1"
+	// import secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1"
 
 	ctx := context.Background()
 	c, err := secretmanager.NewClient(ctx)
@@ -234,7 +234,7 @@
 		// TODO: Handle error.
 	}
 
-	req := &secretspb.DisableSecretVersionRequest{
+	req := &secretmanagerpb.DisableSecretVersionRequest{
 		// TODO: Fill request struct fields.
 	}
 	resp, err := c.DisableSecretVersion(ctx, req)
@@ -246,7 +246,7 @@
 }
 
 func ExampleClient_EnableSecretVersion() {
-	// import secretspb "google.golang.org/genproto/googleapis/cloud/secrets/v1beta1"
+	// import secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1"
 
 	ctx := context.Background()
 	c, err := secretmanager.NewClient(ctx)
@@ -254,7 +254,7 @@
 		// TODO: Handle error.
 	}
 
-	req := &secretspb.EnableSecretVersionRequest{
+	req := &secretmanagerpb.EnableSecretVersionRequest{
 		// TODO: Fill request struct fields.
 	}
 	resp, err := c.EnableSecretVersion(ctx, req)
@@ -266,7 +266,7 @@
 }
 
 func ExampleClient_DestroySecretVersion() {
-	// import secretspb "google.golang.org/genproto/googleapis/cloud/secrets/v1beta1"
+	// import secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1"
 
 	ctx := context.Background()
 	c, err := secretmanager.NewClient(ctx)
@@ -274,7 +274,7 @@
 		// TODO: Handle error.
 	}
 
-	req := &secretspb.DestroySecretVersionRequest{
+	req := &secretmanagerpb.DestroySecretVersionRequest{
 		// TODO: Fill request struct fields.
 	}
 	resp, err := c.DestroySecretVersion(ctx, req)
diff --git a/securitycenter/apiv1/doc.go b/securitycenter/apiv1/doc.go
index bb29f32..9fd020c 100644
--- a/securitycenter/apiv1/doc.go
+++ b/securitycenter/apiv1/doc.go
@@ -44,7 +44,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/securitycenter/apiv1beta1/doc.go b/securitycenter/apiv1beta1/doc.go
index e9d1f79..8d363a4 100644
--- a/securitycenter/apiv1beta1/doc.go
+++ b/securitycenter/apiv1beta1/doc.go
@@ -12,16 +12,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 // Package securitycenter is an auto-generated package for the
 // Cloud Security Command Center API.
 //
-//   NOTE: This package is in beta. It is not stable, and may be subject to changes.
-//
 // Cloud Security Command Center API provides access to temporal views of
 // assets and findings within an organization.
 //
+//   NOTE: This package is in beta. It is not stable, and may be subject to changes.
+//
 // Use of Context
 //
 // The ctx passed to NewClient is used for authentication requests and
@@ -32,6 +32,7 @@
 //
 // For information about setting deadlines, reusing contexts, and more
 // please visit godoc.org/cloud.google.com/go.
+
 package securitycenter // import "cloud.google.com/go/securitycenter/apiv1beta1"
 
 import (
@@ -43,6 +44,8 @@
 	"google.golang.org/grpc/metadata"
 )
 
+const versionClient = "20191219"
+
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
 	out = out.Copy()
@@ -76,7 +79,7 @@
 	}
 
 	notSemverRune := func(r rune) bool {
-		return strings.IndexRune("0123456789.", r) < 0
+		return !strings.ContainsRune("0123456789.", r)
 	}
 
 	if strings.HasPrefix(s, "go1") {
@@ -97,5 +100,3 @@
 	}
 	return "UNKNOWN"
 }
-
-const versionClient = "20191216"
diff --git a/securitycenter/apiv1beta1/security_center_client.go b/securitycenter/apiv1beta1/security_center_client.go
index 1f822ff..10218f2 100644
--- a/securitycenter/apiv1beta1/security_center_client.go
+++ b/securitycenter/apiv1beta1/security_center_client.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package securitycenter
 
@@ -26,6 +26,7 @@
 	"cloud.google.com/go/longrunning"
 	lroauto "cloud.google.com/go/longrunning/autogen"
 	"github.com/golang/protobuf/proto"
+	emptypb "github.com/golang/protobuf/ptypes/empty"
 	gax "github.com/googleapis/gax-go/v2"
 	"google.golang.org/api/iterator"
 	"google.golang.org/api/option"
@@ -63,6 +64,7 @@
 func defaultClientOptions() []option.ClientOption {
 	return []option.ClientOption{
 		option.WithEndpoint("securitycenter.googleapis.com:443"),
+		option.WithGRPCDialOption(grpc.WithDisableServiceConfig()),
 		option.WithScopes(DefaultAuthScopes()...),
 		option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
 			grpc.MaxCallRecvMsgSize(math.MaxInt32))),
@@ -70,8 +72,10 @@
 }
 
 func defaultCallOptions() *CallOptions {
-	retry := map[[2]string][]gax.CallOption{
-		{"default", "idempotent"}: {
+	return &CallOptions{
+		CreateSource:  []gax.CallOption{},
+		CreateFinding: []gax.CallOption{},
+		GetIamPolicy: []gax.CallOption{
 			gax.WithRetry(func() gax.Retryer {
 				return gax.OnCodes([]codes.Code{
 					codes.DeadlineExceeded,
@@ -79,30 +83,113 @@
 				}, gax.Backoff{
 					Initial:    100 * time.Millisecond,
 					Max:        60000 * time.Millisecond,
-					Multiplier: 1.3,
+					Multiplier: 1.30,
 				})
 			}),
 		},
-	}
-	return &CallOptions{
-		CreateSource:               retry[[2]string{"default", "non_idempotent"}],
-		CreateFinding:              retry[[2]string{"default", "non_idempotent"}],
-		GetIamPolicy:               retry[[2]string{"default", "idempotent"}],
-		GetOrganizationSettings:    retry[[2]string{"default", "idempotent"}],
-		GetSource:                  retry[[2]string{"default", "idempotent"}],
-		GroupAssets:                retry[[2]string{"default", "idempotent"}],
-		GroupFindings:              retry[[2]string{"default", "idempotent"}],
-		ListAssets:                 retry[[2]string{"default", "idempotent"}],
-		ListFindings:               retry[[2]string{"default", "idempotent"}],
-		ListSources:                retry[[2]string{"default", "idempotent"}],
-		RunAssetDiscovery:          retry[[2]string{"default", "non_idempotent"}],
-		SetFindingState:            retry[[2]string{"default", "non_idempotent"}],
-		SetIamPolicy:               retry[[2]string{"default", "non_idempotent"}],
-		TestIamPermissions:         retry[[2]string{"default", "idempotent"}],
-		UpdateFinding:              retry[[2]string{"default", "non_idempotent"}],
-		UpdateOrganizationSettings: retry[[2]string{"default", "non_idempotent"}],
-		UpdateSource:               retry[[2]string{"default", "non_idempotent"}],
-		UpdateSecurityMarks:        retry[[2]string{"default", "non_idempotent"}],
+		GetOrganizationSettings: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.DeadlineExceeded,
+					codes.Unavailable,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		GetSource: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.DeadlineExceeded,
+					codes.Unavailable,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		GroupAssets: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.DeadlineExceeded,
+					codes.Unavailable,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		GroupFindings: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.DeadlineExceeded,
+					codes.Unavailable,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		ListAssets: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.DeadlineExceeded,
+					codes.Unavailable,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		ListFindings: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.DeadlineExceeded,
+					codes.Unavailable,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		ListSources: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.DeadlineExceeded,
+					codes.Unavailable,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		RunAssetDiscovery: []gax.CallOption{},
+		SetFindingState:   []gax.CallOption{},
+		SetIamPolicy:      []gax.CallOption{},
+		TestIamPermissions: []gax.CallOption{
+			gax.WithRetry(func() gax.Retryer {
+				return gax.OnCodes([]codes.Code{
+					codes.DeadlineExceeded,
+					codes.Unavailable,
+				}, gax.Backoff{
+					Initial:    100 * time.Millisecond,
+					Max:        60000 * time.Millisecond,
+					Multiplier: 1.30,
+				})
+			}),
+		},
+		UpdateFinding:              []gax.CallOption{},
+		UpdateOrganizationSettings: []gax.CallOption{},
+		UpdateSource:               []gax.CallOption{},
+		UpdateSecurityMarks:        []gax.CallOption{},
 	}
 }
 
@@ -263,7 +350,7 @@
 	return resp, nil
 }
 
-// GroupAssets filters an organization's assets and  groups them by their specified
+// GroupAssets filters an organization’s assets and  groups them by their specified
 // properties.
 func (c *Client) GroupAssets(ctx context.Context, req *securitycenterpb.GroupAssetsRequest, opts ...gax.CallOption) *GroupResultIterator {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
@@ -287,6 +374,8 @@
 		if err != nil {
 			return nil, "", err
 		}
+
+		it.Response = resp
 		return resp.GroupByResults, resp.NextPageToken, nil
 	}
 	fetch := func(pageSize int, pageToken string) (string, error) {
@@ -303,11 +392,11 @@
 	return it
 }
 
-// GroupFindings filters an organization or source's findings and  groups them by their
+// GroupFindings filters an organization or source’s findings and  groups them by their
 // specified properties.
 //
 // To group across all sources provide a - as the source id.
-// Example: /v1beta1/organizations/123/sources/-/findings
+// Example: /v1beta1/organizations/{organization_id}/sources/-/findings
 func (c *Client) GroupFindings(ctx context.Context, req *securitycenterpb.GroupFindingsRequest, opts ...gax.CallOption) *GroupResultIterator {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
@@ -330,6 +419,8 @@
 		if err != nil {
 			return nil, "", err
 		}
+
+		it.Response = resp
 		return resp.GroupByResults, resp.NextPageToken, nil
 	}
 	fetch := func(pageSize int, pageToken string) (string, error) {
@@ -346,7 +437,7 @@
 	return it
 }
 
-// ListAssets lists an organization's assets.
+// ListAssets lists an organization’s assets.
 func (c *Client) ListAssets(ctx context.Context, req *securitycenterpb.ListAssetsRequest, opts ...gax.CallOption) *ListAssetsResponse_ListAssetsResultIterator {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
@@ -369,6 +460,8 @@
 		if err != nil {
 			return nil, "", err
 		}
+
+		it.Response = resp
 		return resp.ListAssetsResults, resp.NextPageToken, nil
 	}
 	fetch := func(pageSize int, pageToken string) (string, error) {
@@ -385,10 +478,10 @@
 	return it
 }
 
-// ListFindings lists an organization or source's findings.
+// ListFindings lists an organization or source’s findings.
 //
 // To list across all sources provide a - as the source id.
-// Example: /v1beta1/organizations/123/sources/-/findings
+// Example: /v1beta1/organizations/{organization_id}/sources/-/findings
 func (c *Client) ListFindings(ctx context.Context, req *securitycenterpb.ListFindingsRequest, opts ...gax.CallOption) *FindingIterator {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
@@ -411,6 +504,8 @@
 		if err != nil {
 			return nil, "", err
 		}
+
+		it.Response = resp
 		return resp.Findings, resp.NextPageToken, nil
 	}
 	fetch := func(pageSize int, pageToken string) (string, error) {
@@ -450,6 +545,8 @@
 		if err != nil {
 			return nil, "", err
 		}
+
+		it.Response = resp
 		return resp.Sources, resp.NextPageToken, nil
 	}
 	fetch := func(pageSize int, pageToken string) (string, error) {
@@ -559,7 +656,7 @@
 	return resp, nil
 }
 
-// UpdateOrganizationSettings updates an organization's settings.
+// UpdateOrganizationSettings updates an organization’s settings.
 func (c *Client) UpdateOrganizationSettings(ctx context.Context, req *securitycenterpb.UpdateOrganizationSettingsRequest, opts ...gax.CallOption) (*securitycenterpb.OrganizationSettings, error) {
 	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "organization_settings.name", url.QueryEscape(req.GetOrganizationSettings().GetName())))
 	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
@@ -610,12 +707,75 @@
 	return resp, nil
 }
 
+// RunAssetDiscoveryOperation manages a long-running operation from RunAssetDiscovery.
+type RunAssetDiscoveryOperation struct {
+	lro *longrunning.Operation
+}
+
+// RunAssetDiscoveryOperation returns a new RunAssetDiscoveryOperation from a given name.
+// The name must be that of a previously created RunAssetDiscoveryOperation, possibly from a different process.
+func (c *Client) RunAssetDiscoveryOperation(name string) *RunAssetDiscoveryOperation {
+	return &RunAssetDiscoveryOperation{
+		lro: longrunning.InternalNewOperation(c.LROClient, &longrunningpb.Operation{Name: name}),
+	}
+}
+
+// Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
+//
+// See documentation of Poll for error-handling information.
+func (op *RunAssetDiscoveryOperation) Wait(ctx context.Context, opts ...gax.CallOption) error {
+	return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...)
+}
+
+// Poll fetches the latest state of the long-running operation.
+//
+// Poll also fetches the latest metadata, which can be retrieved by Metadata.
+//
+// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and
+// the operation has completed with failure, the error is returned and op.Done will return true.
+// If Poll succeeds and the operation has completed successfully,
+// op.Done will return true, and the response of the operation is returned.
+// If Poll succeeds and the operation has not completed, the returned response and error are both nil.
+func (op *RunAssetDiscoveryOperation) Poll(ctx context.Context, opts ...gax.CallOption) error {
+	return op.lro.Poll(ctx, nil, opts...)
+}
+
+// Metadata returns metadata associated with the long-running operation.
+// Metadata itself does not contact the server, but Poll does.
+// To get the latest metadata, call this method after a successful call to Poll.
+// If the metadata is not available, the returned metadata and error are both nil.
+func (op *RunAssetDiscoveryOperation) Metadata() (*emptypb.Empty, error) {
+	var meta emptypb.Empty
+	if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata {
+		return nil, nil
+	} else if err != nil {
+		return nil, err
+	}
+	return &meta, nil
+}
+
+// Done reports whether the long-running operation has completed.
+func (op *RunAssetDiscoveryOperation) Done() bool {
+	return op.lro.Done()
+}
+
+// Name returns the name of the long-running operation.
+// The name is assigned by the server and is unique within the service from which the operation is created.
+func (op *RunAssetDiscoveryOperation) Name() string {
+	return op.lro.Name()
+}
+
 // FindingIterator manages a stream of *securitycenterpb.Finding.
 type FindingIterator struct {
 	items    []*securitycenterpb.Finding
 	pageInfo *iterator.PageInfo
 	nextFunc func() error
 
+	// Response is the raw response for the current page.
+	// It must be cast to the RPC response type.
+	// Calling Next() or InternalFetch() updates this value.
+	Response interface{}
+
 	// InternalFetch is for use by the Google Cloud Libraries only.
 	// It is not part of the stable interface of this package.
 	//
@@ -658,6 +818,11 @@
 	pageInfo *iterator.PageInfo
 	nextFunc func() error
 
+	// Response is the raw response for the current page.
+	// It must be cast to the RPC response type.
+	// Calling Next() or InternalFetch() updates this value.
+	Response interface{}
+
 	// InternalFetch is for use by the Google Cloud Libraries only.
 	// It is not part of the stable interface of this package.
 	//
@@ -700,6 +865,11 @@
 	pageInfo *iterator.PageInfo
 	nextFunc func() error
 
+	// Response is the raw response for the current page.
+	// It must be cast to the RPC response type.
+	// Calling Next() or InternalFetch() updates this value.
+	Response interface{}
+
 	// InternalFetch is for use by the Google Cloud Libraries only.
 	// It is not part of the stable interface of this package.
 	//
@@ -742,6 +912,11 @@
 	pageInfo *iterator.PageInfo
 	nextFunc func() error
 
+	// Response is the raw response for the current page.
+	// It must be cast to the RPC response type.
+	// Calling Next() or InternalFetch() updates this value.
+	Response interface{}
+
 	// InternalFetch is for use by the Google Cloud Libraries only.
 	// It is not part of the stable interface of this package.
 	//
@@ -777,43 +952,3 @@
 	it.items = nil
 	return b
 }
-
-// RunAssetDiscoveryOperation manages a long-running operation from RunAssetDiscovery.
-type RunAssetDiscoveryOperation struct {
-	lro *longrunning.Operation
-}
-
-// RunAssetDiscoveryOperation returns a new RunAssetDiscoveryOperation from a given name.
-// The name must be that of a previously created RunAssetDiscoveryOperation, possibly from a different process.
-func (c *Client) RunAssetDiscoveryOperation(name string) *RunAssetDiscoveryOperation {
-	return &RunAssetDiscoveryOperation{
-		lro: longrunning.InternalNewOperation(c.LROClient, &longrunningpb.Operation{Name: name}),
-	}
-}
-
-// Wait blocks until the long-running operation is completed, returning any error encountered.
-//
-// See documentation of Poll for error-handling information.
-func (op *RunAssetDiscoveryOperation) Wait(ctx context.Context, opts ...gax.CallOption) error {
-	return op.lro.WaitWithInterval(ctx, nil, 5000*time.Millisecond, opts...)
-}
-
-// Poll fetches the latest state of the long-running operation.
-//
-// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and
-// the operation has completed with failure, the error is returned and op.Done will return true.
-// If Poll succeeds and the operation has completed successfully, op.Done will return true.
-func (op *RunAssetDiscoveryOperation) Poll(ctx context.Context, opts ...gax.CallOption) error {
-	return op.lro.Poll(ctx, nil, opts...)
-}
-
-// Done reports whether the long-running operation has completed.
-func (op *RunAssetDiscoveryOperation) Done() bool {
-	return op.lro.Done()
-}
-
-// Name returns the name of the long-running operation.
-// The name is assigned by the server and is unique within the service from which the operation is created.
-func (op *RunAssetDiscoveryOperation) Name() string {
-	return op.lro.Name()
-}
diff --git a/securitycenter/apiv1beta1/security_center_client_example_test.go b/securitycenter/apiv1beta1/security_center_client_example_test.go
index 761537a..35dd113 100644
--- a/securitycenter/apiv1beta1/security_center_client_example_test.go
+++ b/securitycenter/apiv1beta1/security_center_client_example_test.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Code generated by gapic-generator. DO NOT EDIT.
+// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
 
 package securitycenter_test
 
@@ -36,6 +36,8 @@
 }
 
 func ExampleClient_CreateSource() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -54,6 +56,8 @@
 }
 
 func ExampleClient_CreateFinding() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -72,6 +76,8 @@
 }
 
 func ExampleClient_GetIamPolicy() {
+	// import iampb "google.golang.org/genproto/googleapis/iam/v1"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -90,6 +96,8 @@
 }
 
 func ExampleClient_GetOrganizationSettings() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -108,6 +116,8 @@
 }
 
 func ExampleClient_GetSource() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -126,6 +136,9 @@
 }
 
 func ExampleClient_GroupAssets() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+	// import "google.golang.org/api/iterator"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -150,6 +163,9 @@
 }
 
 func ExampleClient_GroupFindings() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+	// import "google.golang.org/api/iterator"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -174,6 +190,9 @@
 }
 
 func ExampleClient_ListAssets() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+	// import "google.golang.org/api/iterator"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -198,6 +217,9 @@
 }
 
 func ExampleClient_ListFindings() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+	// import "google.golang.org/api/iterator"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -222,6 +244,9 @@
 }
 
 func ExampleClient_ListSources() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+	// import "google.golang.org/api/iterator"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -246,6 +271,8 @@
 }
 
 func ExampleClient_RunAssetDiscovery() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -261,10 +288,14 @@
 	}
 
 	err = op.Wait(ctx)
-	// TODO: Handle error.
+	if err != nil {
+		// TODO: Handle error.
+	}
 }
 
 func ExampleClient_SetFindingState() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -283,6 +314,8 @@
 }
 
 func ExampleClient_SetIamPolicy() {
+	// import iampb "google.golang.org/genproto/googleapis/iam/v1"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -301,6 +334,8 @@
 }
 
 func ExampleClient_TestIamPermissions() {
+	// import iampb "google.golang.org/genproto/googleapis/iam/v1"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -319,6 +354,8 @@
 }
 
 func ExampleClient_UpdateFinding() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -337,6 +374,8 @@
 }
 
 func ExampleClient_UpdateOrganizationSettings() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -355,6 +394,8 @@
 }
 
 func ExampleClient_UpdateSource() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
@@ -373,6 +414,8 @@
 }
 
 func ExampleClient_UpdateSecurityMarks() {
+	// import securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
+
 	ctx := context.Background()
 	c, err := securitycenter.NewClient(ctx)
 	if err != nil {
diff --git a/spanner/admin/database/apiv1/doc.go b/spanner/admin/database/apiv1/doc.go
index 551716e..d46f29f 100644
--- a/spanner/admin/database/apiv1/doc.go
+++ b/spanner/admin/database/apiv1/doc.go
@@ -41,7 +41,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/spanner/admin/instance/apiv1/doc.go b/spanner/admin/instance/apiv1/doc.go
index 69aeb52..131b1f3 100644
--- a/spanner/admin/instance/apiv1/doc.go
+++ b/spanner/admin/instance/apiv1/doc.go
@@ -41,7 +41,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/spanner/apiv1/doc.go b/spanner/apiv1/doc.go
index c5ff035..097f472 100644
--- a/spanner/apiv1/doc.go
+++ b/spanner/apiv1/doc.go
@@ -42,7 +42,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/spanner/go.mod b/spanner/go.mod
index bf4fcc4..9776f3e 100644
--- a/spanner/go.mod
+++ b/spanner/go.mod
@@ -11,8 +11,8 @@
 	go.opencensus.io v0.22.0
 	golang.org/x/exp v0.0.0-20191129062945-2f5052295587 // indirect
 	golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f // indirect
-	golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 // indirect
-	google.golang.org/api v0.14.0
-	google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1
+	golang.org/x/tools v0.0.0-20191219230827-5e752206af05 // indirect
+	google.golang.org/api v0.15.0
+	google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88
 	google.golang.org/grpc v1.21.1
 )
diff --git a/spanner/go.sum b/spanner/go.sum
index 2a29363..e5d0b54 100644
--- a/spanner/go.sum
+++ b/spanner/go.sum
@@ -134,8 +134,8 @@
 golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 h1:RIIXAeV6GvDBuADKumTODatUqANFZ+5BPMnzsy4hulY=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05 h1:ule/632bB9zpSo6pdRWwclhLY2LYLINl4bI+oAhSGK8=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
@@ -143,8 +143,8 @@
 google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
 google.golang.org/api v0.9.0 h1:jbyannxz0XFD3zdjgrSUsaJbgpH4eTrkdhRChkHPfO8=
 google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.14.0 h1:uMf5uLi4eQMRrMKhCplNik4U4H8Z6C1br3zOtAa/aDE=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0 h1:yzlyyDW/J0w8yNFJIhiAJy4kq74S+1DOLdawELNxFMA=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -159,8 +159,8 @@
 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51 h1:Ex1mq5jaJof+kRnYi3SlYJ8KKa9Ao3NHyIT5XJ1gF6U=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1 h1:aQktFqmDE2yjveXJlVIfslDFmFnUXSqG0i6KRcJAeMc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88 h1:IpAgNp1ve57lDXOJO/8Y9UFdfiPfnNHEiVjiPz+udRU=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1 h1:j6XxA85m/6txkUCHvzlV5f+HBNl/1r5cZ2A/3IEFOO8=
diff --git a/speech/apiv1/doc.go b/speech/apiv1/doc.go
index 74f1ecd..cc20793 100644
--- a/speech/apiv1/doc.go
+++ b/speech/apiv1/doc.go
@@ -41,7 +41,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/speech/apiv1p1beta1/doc.go b/speech/apiv1p1beta1/doc.go
index c5ae9a4..83544e3 100644
--- a/speech/apiv1p1beta1/doc.go
+++ b/speech/apiv1p1beta1/doc.go
@@ -43,7 +43,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/storage/go.mod b/storage/go.mod
index 1ef2d31..5b6b0bb 100644
--- a/storage/go.mod
+++ b/storage/go.mod
@@ -10,8 +10,8 @@
 	golang.org/x/exp v0.0.0-20191129062945-2f5052295587 // indirect
 	golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f // indirect
 	golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
-	golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 // indirect
-	google.golang.org/api v0.14.0
-	google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1
+	golang.org/x/tools v0.0.0-20191219230827-5e752206af05 // indirect
+	google.golang.org/api v0.15.0
+	google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88
 	google.golang.org/grpc v1.21.1
 )
diff --git a/storage/go.sum b/storage/go.sum
index aa41067..14d26c7 100644
--- a/storage/go.sum
+++ b/storage/go.sum
@@ -132,8 +132,8 @@
 golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 h1:RIIXAeV6GvDBuADKumTODatUqANFZ+5BPMnzsy4hulY=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05 h1:ule/632bB9zpSo6pdRWwclhLY2LYLINl4bI+oAhSGK8=
+golang.org/x/tools v0.0.0-20191219230827-5e752206af05/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
@@ -141,8 +141,8 @@
 google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
 google.golang.org/api v0.9.0 h1:jbyannxz0XFD3zdjgrSUsaJbgpH4eTrkdhRChkHPfO8=
 google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.14.0 h1:uMf5uLi4eQMRrMKhCplNik4U4H8Z6C1br3zOtAa/aDE=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0 h1:yzlyyDW/J0w8yNFJIhiAJy4kq74S+1DOLdawELNxFMA=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -157,8 +157,8 @@
 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51 h1:Ex1mq5jaJof+kRnYi3SlYJ8KKa9Ao3NHyIT5XJ1gF6U=
 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1 h1:aQktFqmDE2yjveXJlVIfslDFmFnUXSqG0i6KRcJAeMc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88 h1:IpAgNp1ve57lDXOJO/8Y9UFdfiPfnNHEiVjiPz+udRU=
+google.golang.org/genproto v0.0.0-20191220162840-803ea799ed88/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1 h1:j6XxA85m/6txkUCHvzlV5f+HBNl/1r5cZ2A/3IEFOO8=
diff --git a/talent/apiv4beta1/doc.go b/talent/apiv4beta1/doc.go
index 9e925dc..cf5af0f 100644
--- a/talent/apiv4beta1/doc.go
+++ b/talent/apiv4beta1/doc.go
@@ -99,4 +99,4 @@
 	return "UNKNOWN"
 }
 
-const versionClient = "20191216"
+const versionClient = "20191219"
diff --git a/texttospeech/apiv1/doc.go b/texttospeech/apiv1/doc.go
index ecafce5..ebc291f 100644
--- a/texttospeech/apiv1/doc.go
+++ b/texttospeech/apiv1/doc.go
@@ -44,7 +44,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/trace/apiv1/doc.go b/trace/apiv1/doc.go
index 32b563f..9e5cf40 100644
--- a/trace/apiv1/doc.go
+++ b/trace/apiv1/doc.go
@@ -47,7 +47,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/trace/apiv2/doc.go b/trace/apiv2/doc.go
index c7b69ce..1bb6367 100644
--- a/trace/apiv2/doc.go
+++ b/trace/apiv2/doc.go
@@ -47,7 +47,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/translate/apiv3/doc.go b/translate/apiv3/doc.go
index 1bc5cb9..84124c8 100644
--- a/translate/apiv3/doc.go
+++ b/translate/apiv3/doc.go
@@ -41,7 +41,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/videointelligence/apiv1/doc.go b/videointelligence/apiv1/doc.go
index 6c922fb..e0a76b1 100644
--- a/videointelligence/apiv1/doc.go
+++ b/videointelligence/apiv1/doc.go
@@ -45,7 +45,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/videointelligence/apiv1beta2/doc.go b/videointelligence/apiv1beta2/doc.go
index eafdad5..8b5325a 100644
--- a/videointelligence/apiv1beta2/doc.go
+++ b/videointelligence/apiv1beta2/doc.go
@@ -99,4 +99,4 @@
 	return "UNKNOWN"
 }
 
-const versionClient = "20191216"
+const versionClient = "20191219"
diff --git a/vision/apiv1/doc.go b/vision/apiv1/doc.go
index a58f525..07e4ba8 100644
--- a/vision/apiv1/doc.go
+++ b/vision/apiv1/doc.go
@@ -43,7 +43,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/vision/apiv1p1beta1/doc.go b/vision/apiv1p1beta1/doc.go
index b78fa9f..6558c6c 100644
--- a/vision/apiv1p1beta1/doc.go
+++ b/vision/apiv1p1beta1/doc.go
@@ -101,4 +101,4 @@
 	return "UNKNOWN"
 }
 
-const versionClient = "20191216"
+const versionClient = "20191219"
diff --git a/webrisk/apiv1beta1/doc.go b/webrisk/apiv1beta1/doc.go
index 2ae63ac..384e799 100644
--- a/webrisk/apiv1beta1/doc.go
+++ b/webrisk/apiv1beta1/doc.go
@@ -41,7 +41,7 @@
 	"google.golang.org/grpc/metadata"
 )
 
-const versionClient = "20191216"
+const versionClient = "20191219"
 
 func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
 	out, _ := metadata.FromOutgoingContext(ctx)