updateCmekSettings method
- CmekSettings request,
- String name, {
- String? updateMask,
- String? $fields,
Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations.
Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
request
- The metadata request object.
Request parameters:
name
- Required. The resource name for the CMEK settings to update.
"projects/[PROJECT_ID]/cmekSettings"
"organizations/[ORGANIZATION_ID]/cmekSettings"
"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings"
"folders/[FOLDER_ID]/cmekSettings" For
example:"organizations/12345/cmekSettings"Note: CMEK for the Log Router
can currently only be configured for Google Cloud organizations. Once
configured, it applies to all projects and folders in the Google Cloud
organization.
Value must have pattern ^organizations/\[^/\]+$
.
updateMask
- Optional. Field mask identifying which fields from
cmek_settings should be updated. A field will be overwritten if and only
if it is in the update mask. Output only fields cannot be updated.See
FieldMask for more information.For example: "updateMask=kmsKeyName"
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a CmekSettings.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client
completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<CmekSettings> updateCmekSettings(
CmekSettings request,
core.String name, {
core.String? updateMask,
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if (updateMask != null) 'updateMask': [updateMask],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v2/' + core.Uri.encodeFull('$name') + '/cmekSettings';
final response_ = await _requester.request(
url_,
'PATCH',
body: body_,
queryParams: queryParams_,
);
return CmekSettings.fromJson(
response_ as core.Map<core.String, core.dynamic>);
}