diff --git a/Kms/metadata/V1/AutokeyAdmin.php b/Kms/metadata/V1/AutokeyAdmin.php index 25deea6f10b4..9c621b31bc31 100644 Binary files a/Kms/metadata/V1/AutokeyAdmin.php and b/Kms/metadata/V1/AutokeyAdmin.php differ diff --git a/Kms/metadata/V1/Resources.php b/Kms/metadata/V1/Resources.php index 61ed2670c980..7bf454a61f90 100644 Binary files a/Kms/metadata/V1/Resources.php and b/Kms/metadata/V1/Resources.php differ diff --git a/Kms/samples/V1/AutokeyAdminClient/get_autokey_config.php b/Kms/samples/V1/AutokeyAdminClient/get_autokey_config.php index 89599d61f7aa..f4d795d4638e 100644 --- a/Kms/samples/V1/AutokeyAdminClient/get_autokey_config.php +++ b/Kms/samples/V1/AutokeyAdminClient/get_autokey_config.php @@ -29,11 +29,12 @@ use Google\Cloud\Kms\V1\GetAutokeyConfigRequest; /** - * Returns the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a - * folder. + * Returns the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a folder + * or project. * * @param string $formattedName Name of the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] - * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`. Please see + * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or + * `projects/{PROJECT_NUMBER}/autokeyConfig`. Please see * {@see AutokeyAdminClient::autokeyConfigName()} for help formatting this field. */ function get_autokey_config_sample(string $formattedName): void diff --git a/Kms/samples/V1/AutokeyAdminClient/list_locations.php b/Kms/samples/V1/AutokeyAdminClient/list_locations.php index b8af0822b0d7..c3afadd3f6f0 100644 --- a/Kms/samples/V1/AutokeyAdminClient/list_locations.php +++ b/Kms/samples/V1/AutokeyAdminClient/list_locations.php @@ -31,6 +31,13 @@ /** * Lists information about the supported locations for this service. +This method can be called in two ways: + +* **List all public locations:** Use the path `GET /v1/locations`. +* **List project-visible locations:** Use the path +`GET /v1/projects/{project_id}/locations`. This may include public +locations as well as private or other locations specifically visible +to the project. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Kms/samples/V1/AutokeyAdminClient/update_autokey_config.php b/Kms/samples/V1/AutokeyAdminClient/update_autokey_config.php index 1eef8f2ebffd..98340269e969 100644 --- a/Kms/samples/V1/AutokeyAdminClient/update_autokey_config.php +++ b/Kms/samples/V1/AutokeyAdminClient/update_autokey_config.php @@ -30,8 +30,8 @@ use Google\Protobuf\FieldMask; /** - * Updates the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a - * folder. The caller must have both `cloudkms.autokeyConfigs.update` + * Updates the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a folder + * or a project. The caller must have both `cloudkms.autokeyConfigs.update` * permission on the parent folder and `cloudkms.cryptoKeys.setIamPolicy` * permission on the provided key project. A * [KeyHandle][google.cloud.kms.v1.KeyHandle] creation in the folder's diff --git a/Kms/samples/V1/AutokeyClient/list_locations.php b/Kms/samples/V1/AutokeyClient/list_locations.php index f717fabf6b9a..a23797a05c14 100644 --- a/Kms/samples/V1/AutokeyClient/list_locations.php +++ b/Kms/samples/V1/AutokeyClient/list_locations.php @@ -31,6 +31,13 @@ /** * Lists information about the supported locations for this service. +This method can be called in two ways: + +* **List all public locations:** Use the path `GET /v1/locations`. +* **List project-visible locations:** Use the path +`GET /v1/projects/{project_id}/locations`. This may include public +locations as well as private or other locations specifically visible +to the project. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Kms/samples/V1/EkmServiceClient/list_locations.php b/Kms/samples/V1/EkmServiceClient/list_locations.php index 1deb7537f45f..051ff253a374 100644 --- a/Kms/samples/V1/EkmServiceClient/list_locations.php +++ b/Kms/samples/V1/EkmServiceClient/list_locations.php @@ -31,6 +31,13 @@ /** * Lists information about the supported locations for this service. +This method can be called in two ways: + +* **List all public locations:** Use the path `GET /v1/locations`. +* **List project-visible locations:** Use the path +`GET /v1/projects/{project_id}/locations`. This may include public +locations as well as private or other locations specifically visible +to the project. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Kms/samples/V1/HsmManagementClient/list_locations.php b/Kms/samples/V1/HsmManagementClient/list_locations.php index 398da866b34d..44e25ec558c7 100644 --- a/Kms/samples/V1/HsmManagementClient/list_locations.php +++ b/Kms/samples/V1/HsmManagementClient/list_locations.php @@ -31,6 +31,13 @@ /** * Lists information about the supported locations for this service. +This method can be called in two ways: + +* **List all public locations:** Use the path `GET /v1/locations`. +* **List project-visible locations:** Use the path +`GET /v1/projects/{project_id}/locations`. This may include public +locations as well as private or other locations specifically visible +to the project. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Kms/samples/V1/KeyManagementServiceClient/list_locations.php b/Kms/samples/V1/KeyManagementServiceClient/list_locations.php index 8cec824b499b..af2e282832f0 100644 --- a/Kms/samples/V1/KeyManagementServiceClient/list_locations.php +++ b/Kms/samples/V1/KeyManagementServiceClient/list_locations.php @@ -31,6 +31,13 @@ /** * Lists information about the supported locations for this service. +This method can be called in two ways: + +* **List all public locations:** Use the path `GET /v1/locations`. +* **List project-visible locations:** Use the path +`GET /v1/projects/{project_id}/locations`. This may include public +locations as well as private or other locations specifically visible +to the project. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Kms/src/V1/AutokeyConfig.php b/Kms/src/V1/AutokeyConfig.php index 0b671f387ee1..cc493fef83be 100644 --- a/Kms/src/V1/AutokeyConfig.php +++ b/Kms/src/V1/AutokeyConfig.php @@ -17,7 +17,8 @@ class AutokeyConfig extends \Google\Protobuf\Internal\Message { /** * Identifier. Name of the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] - * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`. + * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or + * `projects/{PROJECT_NUMBER}/autokeyConfig`. * * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; */ @@ -53,6 +54,14 @@ class AutokeyConfig extends \Google\Protobuf\Internal\Message * Generated from protobuf field string etag = 6 [(.google.api.field_behavior) = OPTIONAL]; */ protected $etag = ''; + /** + * Optional. KeyProjectResolutionMode for the AutokeyConfig. + * Valid values are `DEDICATED_KEY_PROJECT`, `RESOURCE_PROJECT`, or + * `DISABLED`. + * + * Generated from protobuf field .google.cloud.kms.v1.AutokeyConfig.KeyProjectResolutionMode key_project_resolution_mode = 8 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $key_project_resolution_mode = 0; /** * Constructor. @@ -62,7 +71,8 @@ class AutokeyConfig extends \Google\Protobuf\Internal\Message * * @type string $name * Identifier. Name of the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] - * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`. + * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or + * `projects/{PROJECT_NUMBER}/autokeyConfig`. * @type string $key_project * Optional. Name of the key project, e.g. `projects/{PROJECT_ID}` or * `projects/{PROJECT_NUMBER}`, where Cloud KMS Autokey will provision a new @@ -82,6 +92,10 @@ class AutokeyConfig extends \Google\Protobuf\Internal\Message * fields. This may be sent on update requests to ensure that the client has * an up-to-date value before proceeding. The request will be rejected with an * ABORTED error on a mismatched etag. + * @type int $key_project_resolution_mode + * Optional. KeyProjectResolutionMode for the AutokeyConfig. + * Valid values are `DEDICATED_KEY_PROJECT`, `RESOURCE_PROJECT`, or + * `DISABLED`. * } */ public function __construct($data = NULL) { @@ -91,7 +105,8 @@ public function __construct($data = NULL) { /** * Identifier. Name of the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] - * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`. + * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or + * `projects/{PROJECT_NUMBER}/autokeyConfig`. * * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * @return string @@ -103,7 +118,8 @@ public function getName() /** * Identifier. Name of the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] - * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`. + * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or + * `projects/{PROJECT_NUMBER}/autokeyConfig`. * * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * @param string $var @@ -221,5 +237,35 @@ public function setEtag($var) return $this; } + /** + * Optional. KeyProjectResolutionMode for the AutokeyConfig. + * Valid values are `DEDICATED_KEY_PROJECT`, `RESOURCE_PROJECT`, or + * `DISABLED`. + * + * Generated from protobuf field .google.cloud.kms.v1.AutokeyConfig.KeyProjectResolutionMode key_project_resolution_mode = 8 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getKeyProjectResolutionMode() + { + return $this->key_project_resolution_mode; + } + + /** + * Optional. KeyProjectResolutionMode for the AutokeyConfig. + * Valid values are `DEDICATED_KEY_PROJECT`, `RESOURCE_PROJECT`, or + * `DISABLED`. + * + * Generated from protobuf field .google.cloud.kms.v1.AutokeyConfig.KeyProjectResolutionMode key_project_resolution_mode = 8 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setKeyProjectResolutionMode($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Kms\V1\AutokeyConfig\KeyProjectResolutionMode::class); + $this->key_project_resolution_mode = $var; + + return $this; + } + } diff --git a/Kms/src/V1/AutokeyConfig/KeyProjectResolutionMode.php b/Kms/src/V1/AutokeyConfig/KeyProjectResolutionMode.php new file mode 100644 index 000000000000..7d33a060d1f2 --- /dev/null +++ b/Kms/src/V1/AutokeyConfig/KeyProjectResolutionMode.php @@ -0,0 +1,84 @@ +google.cloud.kms.v1.AutokeyConfig.KeyProjectResolutionMode + */ +class KeyProjectResolutionMode +{ + /** + * Default value. KeyProjectResolutionMode when not specified will act as + * `DEDICATED_KEY_PROJECT`. + * + * Generated from protobuf enum KEY_PROJECT_RESOLUTION_MODE_UNSPECIFIED = 0; + */ + const KEY_PROJECT_RESOLUTION_MODE_UNSPECIFIED = 0; + /** + * Keys are created in a dedicated project specified by `key_project`. + * + * Generated from protobuf enum DEDICATED_KEY_PROJECT = 1; + */ + const DEDICATED_KEY_PROJECT = 1; + /** + * Keys are created in the same project as the resource requesting the key. + * The `key_project` must not be set when this mode is used. + * + * Generated from protobuf enum RESOURCE_PROJECT = 2; + */ + const RESOURCE_PROJECT = 2; + /** + * Disables the AutokeyConfig. When this mode is set, any AutokeyConfig + * from higher levels in the resource hierarchy are ignored for this + * resource and its descendants. This setting can be overridden + * by a more specific configuration at a lower level. For example, + * if Autokey is disabled on a folder, it can be re-enabled on a sub-folder + * or project within that folder by setting a different mode (e.g., + * DEDICATED_KEY_PROJECT or RESOURCE_PROJECT). + * + * Generated from protobuf enum DISABLED = 3; + */ + const DISABLED = 3; + + private static $valueToName = [ + self::KEY_PROJECT_RESOLUTION_MODE_UNSPECIFIED => 'KEY_PROJECT_RESOLUTION_MODE_UNSPECIFIED', + self::DEDICATED_KEY_PROJECT => 'DEDICATED_KEY_PROJECT', + self::RESOURCE_PROJECT => 'RESOURCE_PROJECT', + self::DISABLED => 'DISABLED', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + + diff --git a/Kms/src/V1/AutokeyConfig/State.php b/Kms/src/V1/AutokeyConfig/State.php index 505b2b2aa890..eb4d6022b4a6 100644 --- a/Kms/src/V1/AutokeyConfig/State.php +++ b/Kms/src/V1/AutokeyConfig/State.php @@ -39,12 +39,20 @@ class State * Generated from protobuf enum UNINITIALIZED = 3; */ const UNINITIALIZED = 3; + /** + * The service account lacks the necessary permissions in the key project to + * configure Autokey. + * + * Generated from protobuf enum KEY_PROJECT_PERMISSION_DENIED = 4; + */ + const KEY_PROJECT_PERMISSION_DENIED = 4; private static $valueToName = [ self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED', self::ACTIVE => 'ACTIVE', self::KEY_PROJECT_DELETED => 'KEY_PROJECT_DELETED', self::UNINITIALIZED => 'UNINITIALIZED', + self::KEY_PROJECT_PERMISSION_DENIED => 'KEY_PROJECT_PERMISSION_DENIED', ]; public static function name($value) diff --git a/Kms/src/V1/Client/AutokeyAdminClient.php b/Kms/src/V1/Client/AutokeyAdminClient.php index 146a58de6875..179e4ddc825d 100644 --- a/Kms/src/V1/Client/AutokeyAdminClient.php +++ b/Kms/src/V1/Client/AutokeyAdminClient.php @@ -52,13 +52,15 @@ /** * Service Description: Provides interfaces for managing [Cloud KMS - * Autokey](https://cloud.google.com/kms/help/autokey) folder-level - * configurations. A configuration is inherited by all descendent projects. A - * configuration at one folder overrides any other configurations in its - * ancestry. Setting a configuration on a folder is a prerequisite for Cloud KMS - * Autokey, so that users working in a descendant project can request - * provisioned [CryptoKeys][google.cloud.kms.v1.CryptoKey], ready for Customer - * Managed Encryption Key (CMEK) use, on-demand. + * Autokey](https://cloud.google.com/kms/help/autokey) folder-level or + * project-level configurations. A configuration is inherited by all descendent + * folders and projects. A configuration at a folder or project overrides any + * other configurations in its ancestry. Setting a configuration on a folder is + * a prerequisite for Cloud KMS Autokey, so that users working in a descendant + * project can request provisioned [CryptoKeys][google.cloud.kms.v1.CryptoKey], + * ready for Customer Managed Encryption Key (CMEK) use, on-demand when using + * the dedicated key project mode. This is not required when using the delegated + * key management mode for same-project keys. * * This class provides the ability to make remote calls to the backing service through method * calls that map to API methods. @@ -141,6 +143,21 @@ public static function autokeyConfigName(string $folder): string ]); } + /** + * Formats a string containing the fully-qualified path to represent a + * folder_autokeyConfig resource. + * + * @param string $folder + * + * @return string The formatted folder_autokeyConfig resource. + */ + public static function folderAutokeyConfigName(string $folder): string + { + return self::getPathTemplate('folderAutokeyConfig')->render([ + 'folder' => $folder, + ]); + } + /** * Formats a string containing the fully-qualified path to represent a project * resource. @@ -156,12 +173,29 @@ public static function projectName(string $project): string ]); } + /** + * Formats a string containing the fully-qualified path to represent a + * project_autokeyConfig resource. + * + * @param string $project + * + * @return string The formatted project_autokeyConfig resource. + */ + public static function projectAutokeyConfigName(string $project): string + { + return self::getPathTemplate('projectAutokeyConfig')->render([ + 'project' => $project, + ]); + } + /** * Parses a formatted name string and returns an associative array of the components in the name. * The following name formats are supported: * Template: Pattern * - autokeyConfig: folders/{folder}/autokeyConfig + * - folderAutokeyConfig: folders/{folder}/autokeyConfig * - project: projects/{project} + * - projectAutokeyConfig: projects/{project}/autokeyConfig * * The optional $template argument can be supplied to specify a particular pattern, * and must match one of the templates listed above. If no $template argument is @@ -267,8 +301,8 @@ public function __call($method, $args) } /** - * Returns the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a - * folder. + * Returns the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a folder + * or project. * * The async variant is {@see AutokeyAdminClient::getAutokeyConfigAsync()} . * @@ -323,8 +357,8 @@ public function showEffectiveAutokeyConfig( } /** - * Updates the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a - * folder. The caller must have both `cloudkms.autokeyConfigs.update` + * Updates the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a folder + * or a project. The caller must have both `cloudkms.autokeyConfigs.update` * permission on the parent folder and `cloudkms.cryptoKeys.setIamPolicy` * permission on the provided key project. A * [KeyHandle][google.cloud.kms.v1.KeyHandle] creation in the folder's @@ -382,6 +416,13 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. + This method can be called in two ways: + + * **List all public locations:** Use the path `GET /v1/locations`. + * **List project-visible locations:** Use the path + `GET /v1/projects/{project_id}/locations`. This may include public + locations as well as private or other locations specifically visible + to the project. * * The async variant is {@see AutokeyAdminClient::listLocationsAsync()} . * diff --git a/Kms/src/V1/Client/AutokeyClient.php b/Kms/src/V1/Client/AutokeyClient.php index 2c890dbd4e5a..b706617006b0 100644 --- a/Kms/src/V1/Client/AutokeyClient.php +++ b/Kms/src/V1/Client/AutokeyClient.php @@ -469,6 +469,13 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. + This method can be called in two ways: + + * **List all public locations:** Use the path `GET /v1/locations`. + * **List project-visible locations:** Use the path + `GET /v1/projects/{project_id}/locations`. This may include public + locations as well as private or other locations specifically visible + to the project. * * The async variant is {@see AutokeyClient::listLocationsAsync()} . * diff --git a/Kms/src/V1/Client/EkmServiceClient.php b/Kms/src/V1/Client/EkmServiceClient.php index ef775c076d74..254627f4dbc5 100644 --- a/Kms/src/V1/Client/EkmServiceClient.php +++ b/Kms/src/V1/Client/EkmServiceClient.php @@ -538,6 +538,13 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. + This method can be called in two ways: + + * **List all public locations:** Use the path `GET /v1/locations`. + * **List project-visible locations:** Use the path + `GET /v1/projects/{project_id}/locations`. This may include public + locations as well as private or other locations specifically visible + to the project. * * The async variant is {@see EkmServiceClient::listLocationsAsync()} . * diff --git a/Kms/src/V1/Client/HsmManagementClient.php b/Kms/src/V1/Client/HsmManagementClient.php index 48f4796abea6..ef0643373d50 100644 --- a/Kms/src/V1/Client/HsmManagementClient.php +++ b/Kms/src/V1/Client/HsmManagementClient.php @@ -679,6 +679,13 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. + This method can be called in two ways: + + * **List all public locations:** Use the path `GET /v1/locations`. + * **List project-visible locations:** Use the path + `GET /v1/projects/{project_id}/locations`. This may include public + locations as well as private or other locations specifically visible + to the project. * * The async variant is {@see HsmManagementClient::listLocationsAsync()} . * diff --git a/Kms/src/V1/Client/KeyManagementServiceClient.php b/Kms/src/V1/Client/KeyManagementServiceClient.php index 2e4ddb531312..661c4d2b899a 100644 --- a/Kms/src/V1/Client/KeyManagementServiceClient.php +++ b/Kms/src/V1/Client/KeyManagementServiceClient.php @@ -1543,6 +1543,13 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] /** * Lists information about the supported locations for this service. + This method can be called in two ways: + + * **List all public locations:** Use the path `GET /v1/locations`. + * **List project-visible locations:** Use the path + `GET /v1/projects/{project_id}/locations`. This may include public + locations as well as private or other locations specifically visible + to the project. * * The async variant is {@see KeyManagementServiceClient::listLocationsAsync()} . * diff --git a/Kms/src/V1/CryptoKeyVersion/CryptoKeyVersionAlgorithm.php b/Kms/src/V1/CryptoKeyVersion/CryptoKeyVersionAlgorithm.php index 9c57752a752b..385b15e9be4f 100644 --- a/Kms/src/V1/CryptoKeyVersion/CryptoKeyVersionAlgorithm.php +++ b/Kms/src/V1/CryptoKeyVersion/CryptoKeyVersionAlgorithm.php @@ -289,6 +289,13 @@ class CryptoKeyVersionAlgorithm * Generated from protobuf enum KEM_XWING = 63; */ const KEM_XWING = 63; + /** + * The post-quantum Module-Lattice-Based Digital Signature Algorithm, at + * security level 1. Randomized version. + * + * Generated from protobuf enum PQ_SIGN_ML_DSA_44 = 68; + */ + const PQ_SIGN_ML_DSA_44 = 68; /** * The post-quantum Module-Lattice-Based Digital Signature Algorithm, at * security level 3. Randomized version. @@ -296,6 +303,13 @@ class CryptoKeyVersionAlgorithm * Generated from protobuf enum PQ_SIGN_ML_DSA_65 = 56; */ const PQ_SIGN_ML_DSA_65 = 56; + /** + * The post-quantum Module-Lattice-Based Digital Signature Algorithm, at + * security level 5. Randomized version. + * + * Generated from protobuf enum PQ_SIGN_ML_DSA_87 = 69; + */ + const PQ_SIGN_ML_DSA_87 = 69; /** * The post-quantum stateless hash-based digital signature algorithm, at * security level 1. Randomized version. @@ -303,6 +317,37 @@ class CryptoKeyVersionAlgorithm * Generated from protobuf enum PQ_SIGN_SLH_DSA_SHA2_128S = 57; */ const PQ_SIGN_SLH_DSA_SHA2_128S = 57; + /** + * The post-quantum stateless hash-based digital signature algorithm, at + * security level 1. Randomized pre-hash version supporting SHA256 digests. + * + * Generated from protobuf enum PQ_SIGN_HASH_SLH_DSA_SHA2_128S_SHA256 = 60; + */ + const PQ_SIGN_HASH_SLH_DSA_SHA2_128S_SHA256 = 60; + /** + * The post-quantum Module-Lattice-Based Digital Signature Algorithm, at + * security level 1. Randomized version supporting externally-computed + * message representatives. + * + * Generated from protobuf enum PQ_SIGN_ML_DSA_44_EXTERNAL_MU = 70; + */ + const PQ_SIGN_ML_DSA_44_EXTERNAL_MU = 70; + /** + * The post-quantum Module-Lattice-Based Digital Signature Algorithm, at + * security level 3. Randomized version supporting externally-computed + * message representatives. + * + * Generated from protobuf enum PQ_SIGN_ML_DSA_65_EXTERNAL_MU = 67; + */ + const PQ_SIGN_ML_DSA_65_EXTERNAL_MU = 67; + /** + * The post-quantum Module-Lattice-Based Digital Signature Algorithm, at + * security level 5. Randomized version supporting externally-computed + * message representatives. + * + * Generated from protobuf enum PQ_SIGN_ML_DSA_87_EXTERNAL_MU = 71; + */ + const PQ_SIGN_ML_DSA_87_EXTERNAL_MU = 71; private static $valueToName = [ self::CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED => 'CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED', @@ -344,8 +389,14 @@ class CryptoKeyVersionAlgorithm self::ML_KEM_768 => 'ML_KEM_768', self::ML_KEM_1024 => 'ML_KEM_1024', self::KEM_XWING => 'KEM_XWING', + self::PQ_SIGN_ML_DSA_44 => 'PQ_SIGN_ML_DSA_44', self::PQ_SIGN_ML_DSA_65 => 'PQ_SIGN_ML_DSA_65', + self::PQ_SIGN_ML_DSA_87 => 'PQ_SIGN_ML_DSA_87', self::PQ_SIGN_SLH_DSA_SHA2_128S => 'PQ_SIGN_SLH_DSA_SHA2_128S', + self::PQ_SIGN_HASH_SLH_DSA_SHA2_128S_SHA256 => 'PQ_SIGN_HASH_SLH_DSA_SHA2_128S_SHA256', + self::PQ_SIGN_ML_DSA_44_EXTERNAL_MU => 'PQ_SIGN_ML_DSA_44_EXTERNAL_MU', + self::PQ_SIGN_ML_DSA_65_EXTERNAL_MU => 'PQ_SIGN_ML_DSA_65_EXTERNAL_MU', + self::PQ_SIGN_ML_DSA_87_EXTERNAL_MU => 'PQ_SIGN_ML_DSA_87_EXTERNAL_MU', ]; public static function name($value) diff --git a/Kms/src/V1/GetAutokeyConfigRequest.php b/Kms/src/V1/GetAutokeyConfigRequest.php index 4bd2c559b37f..7995e8fa2885 100644 --- a/Kms/src/V1/GetAutokeyConfigRequest.php +++ b/Kms/src/V1/GetAutokeyConfigRequest.php @@ -18,7 +18,8 @@ class GetAutokeyConfigRequest extends \Google\Protobuf\Internal\Message { /** * Required. Name of the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] - * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`. + * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or + * `projects/{PROJECT_NUMBER}/autokeyConfig`. * * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { */ @@ -26,7 +27,8 @@ class GetAutokeyConfigRequest extends \Google\Protobuf\Internal\Message /** * @param string $name Required. Name of the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] - * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`. Please see + * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or + * `projects/{PROJECT_NUMBER}/autokeyConfig`. Please see * {@see AutokeyAdminClient::autokeyConfigName()} for help formatting this field. * * @return \Google\Cloud\Kms\V1\GetAutokeyConfigRequest @@ -47,7 +49,8 @@ public static function build(string $name): self * * @type string $name * Required. Name of the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] - * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`. + * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or + * `projects/{PROJECT_NUMBER}/autokeyConfig`. * } */ public function __construct($data = NULL) { @@ -57,7 +60,8 @@ public function __construct($data = NULL) { /** * Required. Name of the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] - * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`. + * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or + * `projects/{PROJECT_NUMBER}/autokeyConfig`. * * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { * @return string @@ -69,7 +73,8 @@ public function getName() /** * Required. Name of the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] - * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`. + * resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or + * `projects/{PROJECT_NUMBER}/autokeyConfig`. * * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { * @param string $var diff --git a/Kms/src/V1/ImportJob.php b/Kms/src/V1/ImportJob.php index 5cd518814331..8d5dafa50967 100644 --- a/Kms/src/V1/ImportJob.php +++ b/Kms/src/V1/ImportJob.php @@ -131,8 +131,7 @@ class ImportJob extends \Google\Protobuf\Internal\Message * operations are performed. Currently, this field is only populated for keys * stored in HSM_SINGLE_TENANT. Note, this list is non-exhaustive and may * apply to additional [ProtectionLevels][google.cloud.kms.v1.ProtectionLevel] - * in the future. - * Supported resources: + * in the future. Supported resources: * * `"projects/*/locations/*/singleTenantHsmInstances/*"` * * Generated from protobuf field string crypto_key_backend = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { @@ -193,8 +192,7 @@ class ImportJob extends \Google\Protobuf\Internal\Message * operations are performed. Currently, this field is only populated for keys * stored in HSM_SINGLE_TENANT. Note, this list is non-exhaustive and may * apply to additional [ProtectionLevels][google.cloud.kms.v1.ProtectionLevel] - * in the future. - * Supported resources: + * in the future. Supported resources: * * `"projects/*/locations/*/singleTenantHsmInstances/*"` * } */ @@ -573,8 +571,7 @@ public function setAttestation($var) * operations are performed. Currently, this field is only populated for keys * stored in HSM_SINGLE_TENANT. Note, this list is non-exhaustive and may * apply to additional [ProtectionLevels][google.cloud.kms.v1.ProtectionLevel] - * in the future. - * Supported resources: + * in the future. Supported resources: * * `"projects/*/locations/*/singleTenantHsmInstances/*"` * * Generated from protobuf field string crypto_key_backend = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { @@ -591,8 +588,7 @@ public function getCryptoKeyBackend() * operations are performed. Currently, this field is only populated for keys * stored in HSM_SINGLE_TENANT. Note, this list is non-exhaustive and may * apply to additional [ProtectionLevels][google.cloud.kms.v1.ProtectionLevel] - * in the future. - * Supported resources: + * in the future. Supported resources: * * `"projects/*/locations/*/singleTenantHsmInstances/*"` * * Generated from protobuf field string crypto_key_backend = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { diff --git a/Kms/src/V1/resources/autokey_admin_descriptor_config.php b/Kms/src/V1/resources/autokey_admin_descriptor_config.php index b349e59725fc..2c6e597d4d50 100644 --- a/Kms/src/V1/resources/autokey_admin_descriptor_config.php +++ b/Kms/src/V1/resources/autokey_admin_descriptor_config.php @@ -135,7 +135,9 @@ ], 'templateMap' => [ 'autokeyConfig' => 'folders/{folder}/autokeyConfig', + 'folderAutokeyConfig' => 'folders/{folder}/autokeyConfig', 'project' => 'projects/{project}', + 'projectAutokeyConfig' => 'projects/{project}/autokeyConfig', ], ], ], diff --git a/Kms/src/V1/resources/autokey_admin_rest_client_config.php b/Kms/src/V1/resources/autokey_admin_rest_client_config.php index 2b0b2021b53c..7b909b221de4 100644 --- a/Kms/src/V1/resources/autokey_admin_rest_client_config.php +++ b/Kms/src/V1/resources/autokey_admin_rest_client_config.php @@ -26,6 +26,12 @@ 'GetAutokeyConfig' => [ 'method' => 'get', 'uriTemplate' => '/v1/{name=folders/*/autokeyConfig}', + 'additionalBindings' => [ + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/autokeyConfig}', + ], + ], 'placeholders' => [ 'name' => [ 'getters' => [ @@ -49,6 +55,16 @@ 'method' => 'patch', 'uriTemplate' => '/v1/{autokey_config.name=folders/*/autokeyConfig}', 'body' => 'autokey_config', + 'additionalBindings' => [ + [ + 'method' => 'patch', + 'uriTemplate' => '/v1/{autokey_config.name=projects/*/autokeyConfig}', + 'body' => 'autokey_config', + 'queryParams' => [ + 'update_mask', + ], + ], + ], 'placeholders' => [ 'autokey_config.name' => [ 'getters' => [