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]');