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' => [