diff --git a/SecretManager/metadata/V1/Resources.php b/SecretManager/metadata/V1/Resources.php
index f77eb3e4451..357721f4da3 100644
Binary files a/SecretManager/metadata/V1/Resources.php and b/SecretManager/metadata/V1/Resources.php differ
diff --git a/SecretManager/src/V1/SecretPayload.php b/SecretManager/src/V1/SecretPayload.php
index 97c693f42e2..54e2d71de85 100644
--- a/SecretManager/src/V1/SecretPayload.php
+++ b/SecretManager/src/V1/SecretPayload.php
@@ -22,6 +22,20 @@ class SecretPayload extends \Google\Protobuf\Internal\Message
* Generated from protobuf field bytes data = 1;
*/
private $data = '';
+ /**
+ * Optional. If specified, [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will verify the integrity of the
+ * received [data][google.cloud.secretmanager.v1.SecretPayload.data] on [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] calls using
+ * the crc32c checksum and store it to include in future
+ * [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion] responses. If a checksum is
+ * not provided in the [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] request, the
+ * [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will generate and store one for you.
+ * The CRC32C value is encoded as a Int64 for compatibility, and can be
+ * safely downconverted to uint32 in languages that support this type.
+ * https://cloud.google.com/apis/design/design_patterns#integer_types
+ *
+ * Generated from protobuf field optional int64 data_crc32c = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $data_crc32c = null;
/**
* Constructor.
@@ -31,6 +45,16 @@ class SecretPayload extends \Google\Protobuf\Internal\Message
*
* @type string $data
* The secret data. Must be no larger than 64KiB.
+ * @type int|string $data_crc32c
+ * Optional. If specified, [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will verify the integrity of the
+ * received [data][google.cloud.secretmanager.v1.SecretPayload.data] on [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] calls using
+ * the crc32c checksum and store it to include in future
+ * [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion] responses. If a checksum is
+ * not provided in the [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] request, the
+ * [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will generate and store one for you.
+ * The CRC32C value is encoded as a Int64 for compatibility, and can be
+ * safely downconverted to uint32 in languages that support this type.
+ * https://cloud.google.com/apis/design/design_patterns#integer_types
* }
*/
public function __construct($data = NULL) {
@@ -64,5 +88,57 @@ public function setData($var)
return $this;
}
+ /**
+ * Optional. If specified, [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will verify the integrity of the
+ * received [data][google.cloud.secretmanager.v1.SecretPayload.data] on [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] calls using
+ * the crc32c checksum and store it to include in future
+ * [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion] responses. If a checksum is
+ * not provided in the [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] request, the
+ * [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will generate and store one for you.
+ * The CRC32C value is encoded as a Int64 for compatibility, and can be
+ * safely downconverted to uint32 in languages that support this type.
+ * https://cloud.google.com/apis/design/design_patterns#integer_types
+ *
+ * Generated from protobuf field optional int64 data_crc32c = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int|string
+ */
+ public function getDataCrc32C()
+ {
+ return isset($this->data_crc32c) ? $this->data_crc32c : 0;
+ }
+
+ public function hasDataCrc32C()
+ {
+ return isset($this->data_crc32c);
+ }
+
+ public function clearDataCrc32C()
+ {
+ unset($this->data_crc32c);
+ }
+
+ /**
+ * Optional. If specified, [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will verify the integrity of the
+ * received [data][google.cloud.secretmanager.v1.SecretPayload.data] on [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] calls using
+ * the crc32c checksum and store it to include in future
+ * [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion] responses. If a checksum is
+ * not provided in the [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] request, the
+ * [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will generate and store one for you.
+ * The CRC32C value is encoded as a Int64 for compatibility, and can be
+ * safely downconverted to uint32 in languages that support this type.
+ * https://cloud.google.com/apis/design/design_patterns#integer_types
+ *
+ * Generated from protobuf field optional int64 data_crc32c = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int|string $var
+ * @return $this
+ */
+ public function setDataCrc32C($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->data_crc32c = $var;
+
+ return $this;
+ }
+
}
diff --git a/SecretManager/src/V1/SecretVersion.php b/SecretManager/src/V1/SecretVersion.php
index 49abe0769fb..8737c806eac 100644
--- a/SecretManager/src/V1/SecretVersion.php
+++ b/SecretManager/src/V1/SecretVersion.php
@@ -56,6 +56,14 @@ class SecretVersion extends \Google\Protobuf\Internal\Message
* Generated from protobuf field string etag = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
*/
private $etag = '';
+ /**
+ * Output only. True if payload checksum specified in [SecretPayload][google.cloud.secretmanager.v1.SecretPayload] object has been
+ * received by [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] on
+ * [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion].
+ *
+ * Generated from protobuf field bool client_specified_payload_checksum = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ private $client_specified_payload_checksum = false;
/**
* Constructor.
@@ -80,6 +88,10 @@ class SecretVersion extends \Google\Protobuf\Internal\Message
* The replication status of the [SecretVersion][google.cloud.secretmanager.v1.SecretVersion].
* @type string $etag
* Output only. Etag of the currently stored [SecretVersion][google.cloud.secretmanager.v1.SecretVersion].
+ * @type bool $client_specified_payload_checksum
+ * Output only. True if payload checksum specified in [SecretPayload][google.cloud.secretmanager.v1.SecretPayload] object has been
+ * received by [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] on
+ * [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion].
* }
*/
public function __construct($data = NULL) {
@@ -283,5 +295,35 @@ public function setEtag($var)
return $this;
}
+ /**
+ * Output only. True if payload checksum specified in [SecretPayload][google.cloud.secretmanager.v1.SecretPayload] object has been
+ * received by [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] on
+ * [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion].
+ *
+ * Generated from protobuf field bool client_specified_payload_checksum = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return bool
+ */
+ public function getClientSpecifiedPayloadChecksum()
+ {
+ return $this->client_specified_payload_checksum;
+ }
+
+ /**
+ * Output only. True if payload checksum specified in [SecretPayload][google.cloud.secretmanager.v1.SecretPayload] object has been
+ * received by [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] on
+ * [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion].
+ *
+ * Generated from protobuf field bool client_specified_payload_checksum = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param bool $var
+ * @return $this
+ */
+ public function setClientSpecifiedPayloadChecksum($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->client_specified_payload_checksum = $var;
+
+ return $this;
+ }
+
}
diff --git a/SecretManager/tests/Unit/V1/SecretManagerServiceClientTest.php b/SecretManager/tests/Unit/V1/SecretManagerServiceClientTest.php
index d4f0dea217f..6f7e36baa59 100644
--- a/SecretManager/tests/Unit/V1/SecretManagerServiceClientTest.php
+++ b/SecretManager/tests/Unit/V1/SecretManagerServiceClientTest.php
@@ -154,9 +154,11 @@ public function addSecretVersionTest()
// Mock response
$name = 'name3373707';
$etag = 'etag3123477';
+ $clientSpecifiedPayloadChecksum = false;
$expectedResponse = new SecretVersion();
$expectedResponse->setName($name);
$expectedResponse->setEtag($etag);
+ $expectedResponse->setClientSpecifiedPayloadChecksum($clientSpecifiedPayloadChecksum);
$transport->addResponse($expectedResponse);
// Mock request
$formattedParent = $client->secretName('[PROJECT]', '[SECRET]');
@@ -363,9 +365,11 @@ public function destroySecretVersionTest()
// Mock response
$name2 = 'name2-1052831874';
$etag2 = 'etag2-1293302904';
+ $clientSpecifiedPayloadChecksum = false;
$expectedResponse = new SecretVersion();
$expectedResponse->setName($name2);
$expectedResponse->setEtag($etag2);
+ $expectedResponse->setClientSpecifiedPayloadChecksum($clientSpecifiedPayloadChecksum);
$transport->addResponse($expectedResponse);
// Mock request
$formattedName = $client->secretVersionName('[PROJECT]', '[SECRET]', '[SECRET_VERSION]');
@@ -429,9 +433,11 @@ public function disableSecretVersionTest()
// Mock response
$name2 = 'name2-1052831874';
$etag2 = 'etag2-1293302904';
+ $clientSpecifiedPayloadChecksum = false;
$expectedResponse = new SecretVersion();
$expectedResponse->setName($name2);
$expectedResponse->setEtag($etag2);
+ $expectedResponse->setClientSpecifiedPayloadChecksum($clientSpecifiedPayloadChecksum);
$transport->addResponse($expectedResponse);
// Mock request
$formattedName = $client->secretVersionName('[PROJECT]', '[SECRET]', '[SECRET_VERSION]');
@@ -495,9 +501,11 @@ public function enableSecretVersionTest()
// Mock response
$name2 = 'name2-1052831874';
$etag2 = 'etag2-1293302904';
+ $clientSpecifiedPayloadChecksum = false;
$expectedResponse = new SecretVersion();
$expectedResponse->setName($name2);
$expectedResponse->setEtag($etag2);
+ $expectedResponse->setClientSpecifiedPayloadChecksum($clientSpecifiedPayloadChecksum);
$transport->addResponse($expectedResponse);
// Mock request
$formattedName = $client->secretVersionName('[PROJECT]', '[SECRET]', '[SECRET_VERSION]');
@@ -693,9 +701,11 @@ public function getSecretVersionTest()
// Mock response
$name2 = 'name2-1052831874';
$etag = 'etag3123477';
+ $clientSpecifiedPayloadChecksum = false;
$expectedResponse = new SecretVersion();
$expectedResponse->setName($name2);
$expectedResponse->setEtag($etag);
+ $expectedResponse->setClientSpecifiedPayloadChecksum($clientSpecifiedPayloadChecksum);
$transport->addResponse($expectedResponse);
// Mock request
$formattedName = $client->secretVersionName('[PROJECT]', '[SECRET]', '[SECRET_VERSION]');