Synchronize new proto/yaml changes.

PiperOrigin-RevId: 235606150
pull/540/head
Google APIs 6 years ago committed by Copybara-Service
parent 5a90fbea68
commit 738b3fa591
  1. 18
      google/cloud/asset/v1beta1/asset_service.proto
  2. 17
      google/cloud/asset/v1beta1/assets.proto
  3. 4
      google/cloud/audit/audit_log.proto
  4. 34
      google/cloud/billing/v1/cloud_billing.proto
  5. 37
      google/cloud/functions/v1beta2/functions.proto
  6. 1
      google/cloud/functions/v1beta2/operations.proto
  7. 52
      google/cloud/iot/v1/device_manager.proto
  8. 1
      google/cloud/iot/v1/resources.proto
  9. 231
      google/cloud/kms/v1/resources.proto
  10. 370
      google/cloud/kms/v1/service.proto
  11. 10
      google/cloud/location/locations.proto
  12. 33
      google/cloud/redis/v1/cloud_redis.proto
  13. 29
      google/cloud/redis/v1beta1/cloud_redis.proto
  14. 62
      google/cloud/resourcemanager/v2/folders.proto
  15. 24
      google/cloud/runtimeconfig/v1beta1/resources.proto
  16. 98
      google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
  17. 30
      google/cloud/speech/v1/cloud_speech.proto
  18. 37
      google/cloud/speech/v1p1beta1/cloud_speech.proto
  19. 1
      google/cloud/support/common.proto
  20. 55
      google/cloud/support/v1alpha1/cloud_support.proto
  21. 4
      google/cloud/texttospeech/v1/cloud_tts.proto
  22. 4
      google/cloud/texttospeech/v1beta1/cloud_tts.proto

@ -29,13 +29,13 @@ option java_outer_classname = "AssetServiceProto";
option java_package = "com.google.cloud.asset.v1beta1";
option php_namespace = "Google\\Cloud\\Asset\\V1beta1";
// Asset service definition.
service AssetService {
// Exports assets with time and resource types to a given Cloud Storage
// location. The output format is newline-delimited JSON.
// This API implements the [google.longrunning.Operation][google.longrunning.Operation] API allowing you
// to keep track of the export.
// This API implements the
// [google.longrunning.Operation][google.longrunning.Operation] API allowing
// you to keep track of the export.
rpc ExportAssets(ExportAssetsRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*}:exportAssets"
@ -56,7 +56,8 @@ service AssetService {
// non-delete or deleted status.
// For IAM_POLICY content, this API outputs history when the asset and its
// attached IAM POLICY both exist. This can create gaps in the output history.
rpc BatchGetAssetsHistory(BatchGetAssetsHistoryRequest) returns (BatchGetAssetsHistoryResponse) {
rpc BatchGetAssetsHistory(BatchGetAssetsHistoryRequest)
returns (BatchGetAssetsHistoryResponse) {
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*}:batchGetAssetsHistory"
additional_bindings {
@ -98,8 +99,10 @@ message ExportAssetsRequest {
}
// The export asset response. This message is returned by the
// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned
// [google.longrunning.Operation.response][google.longrunning.Operation.response] field.
// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation]
// method in the returned
// [google.longrunning.Operation.response][google.longrunning.Operation.response]
// field.
message ExportAssetsResponse {
// Time the snapshot was taken.
google.protobuf.Timestamp read_time = 1;
@ -118,7 +121,8 @@ message BatchGetAssetsHistoryRequest {
// A list of the full names of the assets. For example:
// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
// See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
// See [Resource
// Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
// for more info.
//
// The request becomes a no-op if the asset name list is empty, and the max

@ -30,7 +30,6 @@ option java_outer_classname = "AssetProto";
option java_package = "com.google.cloud.asset.v1beta1";
option php_namespace = "Google\\Cloud\\Asset\\V1beta1";
// Temporal asset. In addition to the asset, the temporal asset includes the
// status of the asset and valid from and to time of it.
message TemporalAsset {
@ -57,8 +56,10 @@ message TimeWindow {
// Cloud asset. This includes all Google Cloud Platform resources,
// Cloud IAM policies, and other non-GCP assets.
message Asset {
// The full name of the asset. For example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
// See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
// The full name of the asset. For example:
// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
// See [Resource
// Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
// for more information.
string name = 1;
@ -68,8 +69,8 @@ message Asset {
// Representation of the resource.
Resource resource = 3;
// Representation of the actual Cloud IAM policy set on a cloud resource. For each
// resource, there must be at most one Cloud IAM policy set on it.
// Representation of the actual Cloud IAM policy set on a cloud resource. For
// each resource, there must be at most one Cloud IAM policy set on it.
google.iam.v1.Policy iam_policy = 4;
}
@ -98,12 +99,14 @@ message Resource {
string resource_url = 4;
// The full name of the immediate parent of this resource. See
// [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
// [Resource
// Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
// for more information.
//
// For GCP assets, it is the parent resource defined in the [Cloud IAM policy
// hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).
// For example: `"//cloudresourcemanager.googleapis.com/projects/my_project_123"`.
// For example:
// `"//cloudresourcemanager.googleapis.com/projects/my_project_123"`.
//
// For third-party assets, it is up to the users to define.
string parent = 5;

@ -26,7 +26,6 @@ option java_multiple_files = true;
option java_outer_classname = "AuditLogProto";
option java_package = "com.google.cloud.audit";
// Common audit log format for Google Cloud Platform API operations.
message AuditLog {
// The name of the API service performing the operation. For example,
@ -122,7 +121,8 @@ message RequestMetadata {
// The request was made by the Google API client for Python.
// + `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`:
// The request was made by the Google Cloud SDK CLI (gcloud).
// + `AppEngine-Google; (+http://code.google.com/appengine; appid: s~my-project`:
// + `AppEngine-Google; (+http://code.google.com/appengine; appid:
// s~my-project`:
// The request was made from the `my-project` App Engine app.
string caller_supplied_user_agent = 2;
}

@ -23,7 +23,6 @@ option java_multiple_files = true;
option java_outer_classname = "CloudBillingProto";
option java_package = "com.google.cloud.billing.v1";
// Retrieves Google Cloud Console billing accounts and associates them with
// projects.
service CloudBilling {
@ -31,28 +30,39 @@ service CloudBilling {
// must be an [owner of the billing
// account](https://support.google.com/cloud/answer/4430947).
rpc GetBillingAccount(GetBillingAccountRequest) returns (BillingAccount) {
option (google.api.http) = { get: "/v1/{name=billingAccounts/*}" };
option (google.api.http) = {
get: "/v1/{name=billingAccounts/*}"
};
}
// Lists the billing accounts that the current authenticated user
// [owns](https://support.google.com/cloud/answer/4430947).
rpc ListBillingAccounts(ListBillingAccountsRequest) returns (ListBillingAccountsResponse) {
option (google.api.http) = { get: "/v1/billingAccounts" };
rpc ListBillingAccounts(ListBillingAccountsRequest)
returns (ListBillingAccountsResponse) {
option (google.api.http) = {
get: "/v1/billingAccounts"
};
}
// Lists the projects associated with a billing account. The current
// authenticated user must be an [owner of the billing
// account](https://support.google.com/cloud/answer/4430947).
rpc ListProjectBillingInfo(ListProjectBillingInfoRequest) returns (ListProjectBillingInfoResponse) {
option (google.api.http) = { get: "/v1/{name=billingAccounts/*}/projects" };
rpc ListProjectBillingInfo(ListProjectBillingInfoRequest)
returns (ListProjectBillingInfoResponse) {
option (google.api.http) = {
get: "/v1/{name=billingAccounts/*}/projects"
};
}
// Gets the billing information for a project. The current authenticated user
// must have [permission to view the
// project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
// ).
rpc GetProjectBillingInfo(GetProjectBillingInfoRequest) returns (ProjectBillingInfo) {
option (google.api.http) = { get: "/v1/{name=projects/*}/billingInfo" };
rpc GetProjectBillingInfo(GetProjectBillingInfoRequest)
returns (ProjectBillingInfo) {
option (google.api.http) = {
get: "/v1/{name=projects/*}/billingInfo"
};
}
// Sets or updates the billing account associated with a project. You specify
@ -86,8 +96,12 @@ service CloudBilling {
// resources used by the project will be shut down. Thus, unless you wish to
// disable billing, you should always call this method with the name of an
// *open* billing account.
rpc UpdateProjectBillingInfo(UpdateProjectBillingInfoRequest) returns (ProjectBillingInfo) {
option (google.api.http) = { put: "/v1/{name=projects/*}/billingInfo" body: "project_billing_info" };
rpc UpdateProjectBillingInfo(UpdateProjectBillingInfoRequest)
returns (ProjectBillingInfo) {
option (google.api.http) = {
put: "/v1/{name=projects/*}/billingInfo"
body: "project_billing_info"
};
}
}

@ -29,42 +29,59 @@ option java_outer_classname = "FunctionsProto";
option java_package = "com.google.cloud.functions.v1beta2";
option objc_class_prefix = "GCF";
// A service that application uses to manipulate triggers and functions.
service CloudFunctionsService {
// Returns a list of functions that belong to the requested project.
rpc ListFunctions(ListFunctionsRequest) returns (ListFunctionsResponse) {
option (google.api.http) = { get: "/v1beta2/{location=projects/*/locations/*}/functions" };
option (google.api.http) = {
get: "/v1beta2/{location=projects/*/locations/*}/functions"
};
}
// Returns a function with the given name from the requested project.
rpc GetFunction(GetFunctionRequest) returns (CloudFunction) {
option (google.api.http) = { get: "/v1beta2/{name=projects/*/locations/*/functions/*}" };
option (google.api.http) = {
get: "/v1beta2/{name=projects/*/locations/*/functions/*}"
};
}
// Creates a new function. If a function with the given name already exists in
// the specified project, the long running operation will return
// `ALREADY_EXISTS` error.
rpc CreateFunction(CreateFunctionRequest) returns (google.longrunning.Operation) {
option (google.api.http) = { post: "/v1beta2/{location=projects/*/locations/*}/functions" body: "function" };
rpc CreateFunction(CreateFunctionRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta2/{location=projects/*/locations/*}/functions"
body: "function"
};
}
// Updates existing function.
rpc UpdateFunction(UpdateFunctionRequest) returns (google.longrunning.Operation) {
option (google.api.http) = { put: "/v1beta2/{name=projects/*/locations/*/functions/*}" body: "function" };
rpc UpdateFunction(UpdateFunctionRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
put: "/v1beta2/{name=projects/*/locations/*/functions/*}"
body: "function"
};
}
// Deletes a function with the given name from the specified project. If the
// given function is used by some trigger, the trigger will be updated to
// remove this function.
rpc DeleteFunction(DeleteFunctionRequest) returns (google.longrunning.Operation) {
option (google.api.http) = { delete: "/v1beta2/{name=projects/*/locations/*/functions/*}" };
rpc DeleteFunction(DeleteFunctionRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
delete: "/v1beta2/{name=projects/*/locations/*/functions/*}"
};
}
// Invokes synchronously deployed function. To be used for testing, very
// limited traffic allowed.
rpc CallFunction(CallFunctionRequest) returns (CallFunctionResponse) {
option (google.api.http) = { post: "/v1beta2/{name=projects/*/locations/*/functions/*}:call" body: "*" };
option (google.api.http) = {
post: "/v1beta2/{name=projects/*/locations/*/functions/*}:call"
body: "*"
};
}
}

@ -24,7 +24,6 @@ option java_multiple_files = true;
option java_outer_classname = "FunctionsOperationsProto";
option java_package = "com.google.cloud.functions.v1beta2";
// Metadata describing an [Operation][google.longrunning.Operation]
message OperationMetadataV1Beta2 {
// Target of the operation - for example

@ -33,11 +33,11 @@ option java_multiple_files = true;
option java_outer_classname = "DeviceManagerProto";
option java_package = "com.google.cloud.iot.v1";
// Internet of Things (IoT) service. Securely connect and manage IoT devices.
service DeviceManager {
// Creates a device registry that contains devices.
rpc CreateDeviceRegistry(CreateDeviceRegistryRequest) returns (DeviceRegistry) {
rpc CreateDeviceRegistry(CreateDeviceRegistryRequest)
returns (DeviceRegistry) {
option (google.api.http) = {
post: "/v1/{parent=projects/*/locations/*}/registries"
body: "device_registry"
@ -52,7 +52,8 @@ service DeviceManager {
}
// Updates a device registry configuration.
rpc UpdateDeviceRegistry(UpdateDeviceRegistryRequest) returns (DeviceRegistry) {
rpc UpdateDeviceRegistry(UpdateDeviceRegistryRequest)
returns (DeviceRegistry) {
option (google.api.http) = {
patch: "/v1/{device_registry.name=projects/*/locations/*/registries/*}"
body: "device_registry"
@ -60,14 +61,16 @@ service DeviceManager {
}
// Deletes a device registry configuration.
rpc DeleteDeviceRegistry(DeleteDeviceRegistryRequest) returns (google.protobuf.Empty) {
rpc DeleteDeviceRegistry(DeleteDeviceRegistryRequest)
returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v1/{name=projects/*/locations/*/registries/*}"
};
}
// Lists device registries.
rpc ListDeviceRegistries(ListDeviceRegistriesRequest) returns (ListDeviceRegistriesResponse) {
rpc ListDeviceRegistries(ListDeviceRegistriesRequest)
returns (ListDeviceRegistriesResponse) {
option (google.api.http) = {
get: "/v1/{parent=projects/*/locations/*}/registries"
};
@ -123,7 +126,8 @@ service DeviceManager {
// Modifies the configuration for the device, which is eventually sent from
// the Cloud IoT Core servers. Returns the modified configuration version and
// its metadata.
rpc ModifyCloudToDeviceConfig(ModifyCloudToDeviceConfigRequest) returns (DeviceConfig) {
rpc ModifyCloudToDeviceConfig(ModifyCloudToDeviceConfigRequest)
returns (DeviceConfig) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/registries/*/devices/*}:modifyCloudToDeviceConfig"
body: "*"
@ -136,7 +140,8 @@ service DeviceManager {
// Lists the last few versions of the device configuration in descending
// order (i.e.: newest first).
rpc ListDeviceConfigVersions(ListDeviceConfigVersionsRequest) returns (ListDeviceConfigVersionsResponse) {
rpc ListDeviceConfigVersions(ListDeviceConfigVersionsRequest)
returns (ListDeviceConfigVersionsResponse) {
option (google.api.http) = {
get: "/v1/{name=projects/*/locations/*/registries/*/devices/*}/configVersions"
additional_bindings {
@ -147,7 +152,8 @@ service DeviceManager {
// Lists the last few versions of the device state in descending order (i.e.:
// newest first).
rpc ListDeviceStates(ListDeviceStatesRequest) returns (ListDeviceStatesResponse) {
rpc ListDeviceStates(ListDeviceStatesRequest)
returns (ListDeviceStatesResponse) {
option (google.api.http) = {
get: "/v1/{name=projects/*/locations/*/registries/*/devices/*}/states"
additional_bindings {
@ -158,7 +164,8 @@ service DeviceManager {
// Sets the access control policy on the specified resource. Replaces any
// existing policy.
rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest)
returns (google.iam.v1.Policy) {
option (google.api.http) = {
post: "/v1/{resource=projects/*/locations/*/registries/*}:setIamPolicy"
body: "*"
@ -172,7 +179,8 @@ service DeviceManager {
// Gets the access control policy for a resource.
// Returns an empty policy if the resource exists and does not have a policy
// set.
rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest)
returns (google.iam.v1.Policy) {
option (google.api.http) = {
post: "/v1/{resource=projects/*/locations/*/registries/*}:getIamPolicy"
body: "*"
@ -186,7 +194,8 @@ service DeviceManager {
// Returns permissions that a caller has on the specified resource.
// If the resource does not exist, this will return an empty set of
// permissions, not a NOT_FOUND error.
rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest)
returns (google.iam.v1.TestIamPermissionsResponse) {
option (google.api.http) = {
post: "/v1/{resource=projects/*/locations/*/registries/*}:testIamPermissions"
body: "*"
@ -210,7 +219,8 @@ service DeviceManager {
// method will return FAILED_PRECONDITION. Otherwise, this method will
// return OK. If the subscription is QoS 1, at least once delivery will be
// guaranteed; for QoS 0, no acknowledgment will be expected from the device.
rpc SendCommandToDevice(SendCommandToDeviceRequest) returns (SendCommandToDeviceResponse) {
rpc SendCommandToDevice(SendCommandToDeviceRequest)
returns (SendCommandToDeviceResponse) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/registries/*/devices/*}:sendCommandToDevice"
body: "*"
@ -222,7 +232,8 @@ service DeviceManager {
}
// Associates the device with the gateway.
rpc BindDeviceToGateway(BindDeviceToGatewayRequest) returns (BindDeviceToGatewayResponse) {
rpc BindDeviceToGateway(BindDeviceToGatewayRequest)
returns (BindDeviceToGatewayResponse) {
option (google.api.http) = {
post: "/v1/{parent=projects/*/locations/*/registries/*}:bindDeviceToGateway"
body: "*"
@ -234,7 +245,8 @@ service DeviceManager {
}
// Deletes the association between the device and the gateway.
rpc UnbindDeviceFromGateway(UnbindDeviceFromGatewayRequest) returns (UnbindDeviceFromGatewayResponse) {
rpc UnbindDeviceFromGateway(UnbindDeviceFromGatewayRequest)
returns (UnbindDeviceFromGatewayResponse) {
option (google.api.http) = {
post: "/v1/{parent=projects/*/locations/*/registries/*}:unbindDeviceFromGateway"
body: "*"
@ -509,9 +521,7 @@ message SendCommandToDeviceRequest {
}
// Response for `SendCommandToDevice`.
message SendCommandToDeviceResponse {
}
message SendCommandToDeviceResponse {}
// Request for `BindDeviceToGateway`.
message BindDeviceToGatewayRequest {
@ -530,9 +540,7 @@ message BindDeviceToGatewayRequest {
}
// Response for `BindDeviceToGateway`.
message BindDeviceToGatewayResponse {
}
message BindDeviceToGatewayResponse {}
// Request for `UnbindDeviceFromGateway`.
message UnbindDeviceFromGatewayRequest {
@ -551,6 +559,4 @@ message UnbindDeviceFromGatewayRequest {
}
// Response for `UnbindDeviceFromGateway`.
message UnbindDeviceFromGatewayResponse {
}
message UnbindDeviceFromGatewayResponse {}

@ -27,7 +27,6 @@ option java_multiple_files = true;
option java_outer_classname = "ResourcesProto";
option java_package = "com.google.cloud.iot.v1";
// The device resource.
message Device {
// The user-defined device identifier. The device ID must be unique

@ -29,100 +29,122 @@ option java_outer_classname = "KmsResourcesProto";
option java_package = "com.google.cloud.kms.v1";
option php_namespace = "Google\\Cloud\\Kms\\V1";
// A [KeyRing][google.cloud.kms.v1.KeyRing] is a toplevel logical grouping of [CryptoKeys][google.cloud.kms.v1.CryptoKey].
// A [KeyRing][google.cloud.kms.v1.KeyRing] is a toplevel logical grouping of
// [CryptoKeys][google.cloud.kms.v1.CryptoKey].
message KeyRing {
// Output only. The resource name for the [KeyRing][google.cloud.kms.v1.KeyRing] in the format
// Output only. The resource name for the
// [KeyRing][google.cloud.kms.v1.KeyRing] in the format
// `projects/*/locations/*/keyRings/*`.
string name = 1;
// Output only. The time at which this [KeyRing][google.cloud.kms.v1.KeyRing] was created.
// Output only. The time at which this [KeyRing][google.cloud.kms.v1.KeyRing]
// was created.
google.protobuf.Timestamp create_time = 2;
}
// A [CryptoKey][google.cloud.kms.v1.CryptoKey] represents a logical key that can be used for cryptographic
// operations.
// A [CryptoKey][google.cloud.kms.v1.CryptoKey] represents a logical key that
// can be used for cryptographic operations.
//
// A [CryptoKey][google.cloud.kms.v1.CryptoKey] is made up of one or more [versions][google.cloud.kms.v1.CryptoKeyVersion], which
// represent the actual key material used in cryptographic operations.
// A [CryptoKey][google.cloud.kms.v1.CryptoKey] is made up of one or more
// [versions][google.cloud.kms.v1.CryptoKeyVersion], which represent the actual
// key material used in cryptographic operations.
message CryptoKey {
// [CryptoKeyPurpose][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose] describes the cryptographic capabilities of a
// [CryptoKey][google.cloud.kms.v1.CryptoKey]. A given key can only be used for the operations allowed by
// its purpose.
// [CryptoKeyPurpose][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose]
// describes the cryptographic capabilities of a
// [CryptoKey][google.cloud.kms.v1.CryptoKey]. A given key can only be used
// for the operations allowed by its purpose.
enum CryptoKeyPurpose {
// Not specified.
CRYPTO_KEY_PURPOSE_UNSPECIFIED = 0;
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used with
// [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] and
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
// with [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] and
// [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
ENCRYPT_DECRYPT = 1;
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used with
// [AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign] and
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
// with
// [AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign]
// and
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
ASYMMETRIC_SIGN = 5;
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used with
// [AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt] and
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
// with
// [AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt]
// and
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
ASYMMETRIC_DECRYPT = 6;
}
// Output only. The resource name for this [CryptoKey][google.cloud.kms.v1.CryptoKey] in the format
// Output only. The resource name for this
// [CryptoKey][google.cloud.kms.v1.CryptoKey] in the format
// `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
string name = 1;
// Output only. A copy of the "primary" [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that will be used
// by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] when this [CryptoKey][google.cloud.kms.v1.CryptoKey] is given
// in [EncryptRequest.name][google.cloud.kms.v1.EncryptRequest.name].
// Output only. A copy of the "primary"
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that will be used
// by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] when this
// [CryptoKey][google.cloud.kms.v1.CryptoKey] is given in
// [EncryptRequest.name][google.cloud.kms.v1.EncryptRequest.name].
//
// The [CryptoKey][google.cloud.kms.v1.CryptoKey]'s primary version can be updated via
// The [CryptoKey][google.cloud.kms.v1.CryptoKey]'s primary version can be
// updated via
// [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion].
//
// All keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] have a
// primary. For other keys, this field will be omitted.
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
// have a primary. For other keys, this field will be omitted.
CryptoKeyVersion primary = 2;
// The immutable purpose of this [CryptoKey][google.cloud.kms.v1.CryptoKey].
CryptoKeyPurpose purpose = 3;
// Output only. The time at which this [CryptoKey][google.cloud.kms.v1.CryptoKey] was created.
// Output only. The time at which this
// [CryptoKey][google.cloud.kms.v1.CryptoKey] was created.
google.protobuf.Timestamp create_time = 5;
// At [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time], the Key Management Service will automatically:
// At [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time],
// the Key Management Service will automatically:
//
// 1. Create a new version of this [CryptoKey][google.cloud.kms.v1.CryptoKey].
// 2. Mark the new version as primary.
//
// Key rotations performed manually via
// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] and
// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
// and
// [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion]
// do not affect [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time].
// do not affect
// [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time].
//
// Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] support
// automatic rotation. For other keys, this field must be omitted.
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
// support automatic rotation. For other keys, this field must be omitted.
google.protobuf.Timestamp next_rotation_time = 7;
// Controls the rate of automatic rotation.
oneof rotation_schedule {
// [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time] will be advanced by this period when the service
// automatically rotates a key. Must be at least one day.
// [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]
// will be advanced by this period when the service automatically rotates a
// key. Must be at least one day.
//
// If [rotation_period][google.cloud.kms.v1.CryptoKey.rotation_period] is set, [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time] must also be set.
// If [rotation_period][google.cloud.kms.v1.CryptoKey.rotation_period] is
// set,
// [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]
// must also be set.
//
// Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] support
// automatic rotation. For other keys, this field must be omitted.
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
// support automatic rotation. For other keys, this field must be omitted.
google.protobuf.Duration rotation_period = 8;
}
// A template describing settings for new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances.
// The properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances created by either
// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or
// auto-rotation are controlled by this template.
// A template describing settings for new
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances. The
// properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// instances created by either
// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
// or auto-rotation are controlled by this template.
CryptoKeyVersionTemplate version_template = 11;
// Labels with user-defined metadata. For more information, see
@ -130,20 +152,28 @@ message CryptoKey {
map<string, string> labels = 10;
}
// A [CryptoKeyVersionTemplate][google.cloud.kms.v1.CryptoKeyVersionTemplate] specifies the properties to use when creating
// a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], either manually with
// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or
// automatically as a result of auto-rotation.
// A [CryptoKeyVersionTemplate][google.cloud.kms.v1.CryptoKeyVersionTemplate]
// specifies the properties to use when creating a new
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], either manually
// with
// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
// or automatically as a result of auto-rotation.
message CryptoKeyVersionTemplate {
// [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when creating a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on
// this template. Immutable. Defaults to [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].
// [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when creating
// a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
// template. Immutable. Defaults to
// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].
ProtectionLevel protection_level = 1;
// Required. [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] to use
// when creating a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this template.
// Required.
// [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
// to use when creating a
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
// template.
//
// For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both
// this field is omitted and [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is
// this field is omitted and
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
CryptoKeyVersion.CryptoKeyVersionAlgorithm algorithm = 3;
}
@ -171,26 +201,30 @@ message KeyOperationAttestation {
bytes content = 5;
}
// A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents an individual cryptographic key, and the
// associated key material.
// A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents an
// individual cryptographic key, and the associated key material.
//
// An [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] version can be
// used for cryptographic operations.
// An
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]
// version can be used for cryptographic operations.
//
// For security reasons, the raw cryptographic key material represented by a
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] can never be viewed or exported. It can only be used to
// encrypt, decrypt, or sign data when an authorized user or application invokes
// Cloud KMS.
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] can never be viewed
// or exported. It can only be used to encrypt, decrypt, or sign data when an
// authorized user or application invokes Cloud KMS.
message CryptoKeyVersion {
// The algorithm of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], indicating what
// The algorithm of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], indicating what
// parameters must be used for each cryptographic operation.
//
// The
// [GOOGLE_SYMMETRIC_ENCRYPTION][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.GOOGLE_SYMMETRIC_ENCRYPTION]
// algorithm is usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// algorithm is usable with
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
//
// Algorithms beginning with "RSA_SIGN_" are usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// Algorithms beginning with "RSA_SIGN_" are usable with
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN].
//
// The fields in the name after "RSA_SIGN_" correspond to the following
@ -208,7 +242,8 @@ message CryptoKeyVersion {
// The fields in the name after "RSA_DECRYPT_" correspond to the following
// parameters: padding algorithm, modulus bit length, and digest algorithm.
//
// Algorithms beginning with "EC_SIGN_" are usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// Algorithms beginning with "EC_SIGN_" are usable with
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN].
//
// The fields in the name after "EC_SIGN_" correspond to the following
@ -254,21 +289,26 @@ message CryptoKeyVersion {
EC_SIGN_P384_SHA384 = 13;
}
// The state of a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], indicating if it can be used.
// The state of a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion],
// indicating if it can be used.
enum CryptoKeyVersionState {
// Not specified.
CRYPTO_KEY_VERSION_STATE_UNSPECIFIED = 0;
// This version is still being generated. It may not be used, enabled,
// disabled, or destroyed yet. Cloud KMS will automatically mark this
// version [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] as soon as the version is ready.
// version
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]
// as soon as the version is ready.
PENDING_GENERATION = 5;
// This version may be used for cryptographic operations.
ENABLED = 1;
// This version may not be used, but the key material is still available,
// and the version can be placed back into the [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] state.
// and the version can be placed back into the
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]
// state.
DISABLED = 2;
// This version is destroyed, and the key material is no longer stored.
@ -278,64 +318,83 @@ message CryptoKeyVersion {
// This version is scheduled for destruction, and will be destroyed soon.
// Call
// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]
// to put it back into the [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] state.
// to put it back into the
// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED]
// state.
DESTROY_SCHEDULED = 4;
}
// A view for [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]s. Controls the level of detail returned
// for [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] in
// [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions] and
// A view for [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]s.
// Controls the level of detail returned for
// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] in
// [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions]
// and
// [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
enum CryptoKeyVersionView {
// Default view for each [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Does not include
// the [attestation][google.cloud.kms.v1.CryptoKeyVersion.attestation] field.
// Default view for each
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Does not
// include the
// [attestation][google.cloud.kms.v1.CryptoKeyVersion.attestation] field.
CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED = 0;
// Provides all fields in each [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], including the
// Provides all fields in each
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], including the
// [attestation][google.cloud.kms.v1.CryptoKeyVersion.attestation].
FULL = 1;
}
// Output only. The resource name for this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the format
// Output only. The resource name for this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the format
// `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
string name = 1;
// The current state of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
// The current state of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
CryptoKeyVersionState state = 3;
// Output only. The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] describing how crypto operations are
// performed with this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
// Output only. The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel]
// describing how crypto operations are performed with this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
ProtectionLevel protection_level = 7;
// Output only. The [CryptoKeyVersionAlgorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] that this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] supports.
// Output only. The
// [CryptoKeyVersionAlgorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
// that this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// supports.
CryptoKeyVersionAlgorithm algorithm = 10;
// Output only. Statement that was generated and signed by the HSM at key
// creation time. Use this statement to verify attributes of the key as stored
// on the HSM, independently of Google. Only provided for key versions with
// [protection_level][google.cloud.kms.v1.CryptoKeyVersion.protection_level] [HSM][google.cloud.kms.v1.ProtectionLevel.HSM].
// [protection_level][google.cloud.kms.v1.CryptoKeyVersion.protection_level]
// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM].
KeyOperationAttestation attestation = 8;
// Output only. The time at which this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] was created.
// Output only. The time at which this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] was created.
google.protobuf.Timestamp create_time = 4;
// Output only. The time this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material was
// Output only. The time this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material was
// generated.
google.protobuf.Timestamp generate_time = 11;
// Output only. The time this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material is scheduled
// for destruction. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is
// Output only. The time this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material is
// scheduled for destruction. Only present if
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] is
// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED].
google.protobuf.Timestamp destroy_time = 5;
// Output only. The time this CryptoKeyVersion's key material was
// destroyed. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is
// destroyed. Only present if
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] is
// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED].
google.protobuf.Timestamp destroy_event_time = 6;
}
// The public key for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Obtained via
// The public key for a given
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Obtained via
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
message PublicKey {
// The public key, encoded in PEM format. For more information, see the
@ -345,12 +404,14 @@ message PublicKey {
// (https://tools.ietf.org/html/rfc7468#section-13).
string pem = 1;
// The [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] associated
// with this key.
// The
// [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
// associated with this key.
CryptoKeyVersion.CryptoKeyVersionAlgorithm algorithm = 2;
}
// [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] specifies how cryptographic operations are performed.
// [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] specifies how
// cryptographic operations are performed.
enum ProtectionLevel {
// Not specified.
PROTECTION_LEVEL_UNSPECIFIED = 0;

@ -31,7 +31,6 @@ option java_outer_classname = "KmsProto";
option java_package = "com.google.cloud.kms.v1";
option php_namespace = "Google\\Cloud\\Kms\\V1";
// Google Cloud Key Management Service
//
// Manages cryptographic keys and operations using those keys. Implements a REST
@ -59,7 +58,8 @@ service KeyManagementService {
}
// Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
rpc ListCryptoKeyVersions(ListCryptoKeyVersionsRequest) returns (ListCryptoKeyVersionsResponse) {
rpc ListCryptoKeyVersions(ListCryptoKeyVersionsRequest)
returns (ListCryptoKeyVersionsResponse) {
option (google.api.http) = {
get: "/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions"
};
@ -72,24 +72,29 @@ service KeyManagementService {
};
}
// Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its
// [primary][google.cloud.kms.v1.CryptoKey.primary] [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
// Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as
// well as its [primary][google.cloud.kms.v1.CryptoKey.primary]
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
rpc GetCryptoKey(GetCryptoKeyRequest) returns (CryptoKey) {
option (google.api.http) = {
get: "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}"
};
}
// Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
rpc GetCryptoKeyVersion(GetCryptoKeyVersionRequest) returns (CryptoKeyVersion) {
// Returns metadata for a given
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
rpc GetCryptoKeyVersion(GetCryptoKeyVersionRequest)
returns (CryptoKeyVersion) {
option (google.api.http) = {
get: "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}"
};
}
// Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The
// Returns the public key for the given
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN]
// or
// [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
rpc GetPublicKey(GetPublicKeyRequest) returns (PublicKey) {
option (google.api.http) = {
@ -97,7 +102,8 @@ service KeyManagementService {
};
}
// Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location.
// Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and
// Location.
rpc CreateKeyRing(CreateKeyRingRequest) returns (KeyRing) {
option (google.api.http) = {
post: "/v1/{parent=projects/*/locations/*}/keyRings"
@ -105,7 +111,8 @@ service KeyManagementService {
};
}
// Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a [KeyRing][google.cloud.kms.v1.KeyRing].
// Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a
// [KeyRing][google.cloud.kms.v1.KeyRing].
//
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and
// [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]
@ -117,12 +124,14 @@ service KeyManagementService {
};
}
// Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a [CryptoKey][google.cloud.kms.v1.CryptoKey].
// Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a
// [CryptoKey][google.cloud.kms.v1.CryptoKey].
//
// The server will assign the next sequential id. If unset,
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED].
rpc CreateCryptoKeyVersion(CreateCryptoKeyVersionRequest) returns (CryptoKeyVersion) {
rpc CreateCryptoKeyVersion(CreateCryptoKeyVersionRequest)
returns (CryptoKeyVersion) {
option (google.api.http) = {
post: "/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions"
body: "crypto_key_version"
@ -137,22 +146,29 @@ service KeyManagementService {
};
}
// Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s metadata.
// Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s
// metadata.
//
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and
// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this
// method. See [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to
// move between other states.
rpc UpdateCryptoKeyVersion(UpdateCryptoKeyVersionRequest) returns (CryptoKeyVersion) {
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]
// and
// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED]
// using this method. See
// [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion]
// and
// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]
// to move between other states.
rpc UpdateCryptoKeyVersion(UpdateCryptoKeyVersionRequest)
returns (CryptoKeyVersion) {
option (google.api.http) = {
patch: "/v1/{crypto_key_version.name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}"
body: "crypto_key_version"
};
}
// Encrypts data, so that it can only be recovered by a call to [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
// The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
// Encrypts data, so that it can only be recovered by a call to
// [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. The
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
rpc Encrypt(EncryptRequest) returns (EncryptResponse) {
option (google.api.http) = {
@ -161,8 +177,10 @@ service KeyManagementService {
};
}
// Decrypts data that was protected by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// must be [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
// Decrypts data that was protected by
// [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
rpc Decrypt(DecryptRequest) returns (DecryptResponse) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:decrypt"
@ -170,9 +188,11 @@ service KeyManagementService {
};
}
// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// ASYMMETRIC_SIGN, producing a signature that can be verified with the public
// key retrieved from [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
// key retrieved from
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
rpc AsymmetricSign(AsymmetricSignRequest) returns (AsymmetricSignResponse) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricSign"
@ -181,38 +201,51 @@ service KeyManagementService {
}
// Decrypts data that was encrypted with a public key retrieved from
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
rpc AsymmetricDecrypt(AsymmetricDecryptRequest) returns (AsymmetricDecryptResponse) {
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]
// corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// ASYMMETRIC_DECRYPT.
rpc AsymmetricDecrypt(AsymmetricDecryptRequest)
returns (AsymmetricDecryptResponse) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricDecrypt"
body: "*"
};
}
// Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
// Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that
// will be used in
// [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
//
// Returns an error if called on an asymmetric key.
rpc UpdateCryptoKeyPrimaryVersion(UpdateCryptoKeyPrimaryVersionRequest) returns (CryptoKey) {
rpc UpdateCryptoKeyPrimaryVersion(UpdateCryptoKeyPrimaryVersionRequest)
returns (CryptoKey) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:updatePrimaryVersion"
body: "*"
};
}
// Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
// Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for
// destruction.
//
// Upon calling this method, [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
// Upon calling this method,
// [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will
// be set to
// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to a time 24
// hours in the future, at which point the [state][google.cloud.kms.v1.CryptoKeyVersion.state]
// will be changed to
// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key
// material will be irrevocably destroyed.
// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will
// be set to a time 24 hours in the future, at which point the
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be changed to
// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED],
// and the key material will be irrevocably destroyed.
//
// Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached,
// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may be called to reverse the process.
rpc DestroyCryptoKeyVersion(DestroyCryptoKeyVersionRequest) returns (CryptoKeyVersion) {
// Before the
// [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is
// reached,
// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]
// may be called to reverse the process.
rpc DestroyCryptoKeyVersion(DestroyCryptoKeyVersionRequest)
returns (CryptoKeyVersion) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:destroy"
body: "*"
@ -223,10 +256,13 @@ service KeyManagementService {
// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
// state.
//
// Upon restoration of the CryptoKeyVersion, [state][google.cloud.kms.v1.CryptoKeyVersion.state]
// will be set to [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED],
// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared.
rpc RestoreCryptoKeyVersion(RestoreCryptoKeyVersionRequest) returns (CryptoKeyVersion) {
// Upon restoration of the CryptoKeyVersion,
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED],
// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will
// be cleared.
rpc RestoreCryptoKeyVersion(RestoreCryptoKeyVersionRequest)
returns (CryptoKeyVersion) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:restore"
body: "*"
@ -234,16 +270,20 @@ service KeyManagementService {
}
}
// Request message for [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
// Request message for
// [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
message ListKeyRingsRequest {
// Required. The resource name of the location associated with the
// [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
// [KeyRings][google.cloud.kms.v1.KeyRing], in the format
// `projects/*/locations/*`.
string parent = 1;
// Optional limit on the number of [KeyRings][google.cloud.kms.v1.KeyRing] to include in the
// response. Further [KeyRings][google.cloud.kms.v1.KeyRing] can subsequently be obtained by
// including the [ListKeyRingsResponse.next_page_token][google.cloud.kms.v1.ListKeyRingsResponse.next_page_token] in a subsequent
// request. If unspecified, the server will pick an appropriate default.
// Optional limit on the number of [KeyRings][google.cloud.kms.v1.KeyRing] to
// include in the response. Further [KeyRings][google.cloud.kms.v1.KeyRing]
// can subsequently be obtained by including the
// [ListKeyRingsResponse.next_page_token][google.cloud.kms.v1.ListKeyRingsResponse.next_page_token]
// in a subsequent request. If unspecified, the server will pick an
// appropriate default.
int32 page_size = 2;
// Optional pagination token, returned earlier via
@ -251,16 +291,20 @@ message ListKeyRingsRequest {
string page_token = 3;
}
// Request message for [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
// Request message for
// [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
message ListCryptoKeysRequest {
// Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to list, in the format
// `projects/*/locations/*/keyRings/*`.
// Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing]
// to list, in the format `projects/*/locations/*/keyRings/*`.
string parent = 1;
// Optional limit on the number of [CryptoKeys][google.cloud.kms.v1.CryptoKey] to include in the
// response. Further [CryptoKeys][google.cloud.kms.v1.CryptoKey] can subsequently be obtained by
// including the [ListCryptoKeysResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeysResponse.next_page_token] in a subsequent
// request. If unspecified, the server will pick an appropriate default.
// Optional limit on the number of [CryptoKeys][google.cloud.kms.v1.CryptoKey]
// to include in the response. Further
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] can subsequently be obtained by
// including the
// [ListCryptoKeysResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeysResponse.next_page_token]
// in a subsequent request. If unspecified, the server will pick an
// appropriate default.
int32 page_size = 2;
// Optional pagination token, returned earlier via
@ -271,17 +315,21 @@ message ListCryptoKeysRequest {
CryptoKeyVersion.CryptoKeyVersionView version_view = 4;
}
// Request message for [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
// Request message for
// [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
message ListCryptoKeyVersionsRequest {
// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to list, in the format
// Required. The resource name of the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] to list, in the format
// `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
string parent = 1;
// Optional limit on the number of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] to
// include in the response. Further [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] can
// subsequently be obtained by including the
// [ListCryptoKeyVersionsResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeyVersionsResponse.next_page_token] in a subsequent request.
// If unspecified, the server will pick an appropriate default.
// Optional limit on the number of
// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] to include in the
// response. Further [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]
// can subsequently be obtained by including the
// [ListCryptoKeyVersionsResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeyVersionsResponse.next_page_token]
// in a subsequent request. If unspecified, the server will pick an
// appropriate default.
int32 page_size = 2;
// Optional pagination token, returned earlier via
@ -292,76 +340,93 @@ message ListCryptoKeyVersionsRequest {
CryptoKeyVersion.CryptoKeyVersionView view = 4;
}
// Response message for [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
// Response message for
// [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
message ListKeyRingsResponse {
// The list of [KeyRings][google.cloud.kms.v1.KeyRing].
repeated KeyRing key_rings = 1;
// A token to retrieve next page of results. Pass this value in
// [ListKeyRingsRequest.page_token][google.cloud.kms.v1.ListKeyRingsRequest.page_token] to retrieve the next page of results.
// [ListKeyRingsRequest.page_token][google.cloud.kms.v1.ListKeyRingsRequest.page_token]
// to retrieve the next page of results.
string next_page_token = 2;
// The total number of [KeyRings][google.cloud.kms.v1.KeyRing] that matched the query.
// The total number of [KeyRings][google.cloud.kms.v1.KeyRing] that matched
// the query.
int32 total_size = 3;
}
// Response message for [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
// Response message for
// [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
message ListCryptoKeysResponse {
// The list of [CryptoKeys][google.cloud.kms.v1.CryptoKey].
repeated CryptoKey crypto_keys = 1;
// A token to retrieve next page of results. Pass this value in
// [ListCryptoKeysRequest.page_token][google.cloud.kms.v1.ListCryptoKeysRequest.page_token] to retrieve the next page of results.
// [ListCryptoKeysRequest.page_token][google.cloud.kms.v1.ListCryptoKeysRequest.page_token]
// to retrieve the next page of results.
string next_page_token = 2;
// The total number of [CryptoKeys][google.cloud.kms.v1.CryptoKey] that matched the query.
// The total number of [CryptoKeys][google.cloud.kms.v1.CryptoKey] that
// matched the query.
int32 total_size = 3;
}
// Response message for [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
// Response message for
// [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
message ListCryptoKeyVersionsResponse {
// The list of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
repeated CryptoKeyVersion crypto_key_versions = 1;
// A token to retrieve next page of results. Pass this value in
// [ListCryptoKeyVersionsRequest.page_token][google.cloud.kms.v1.ListCryptoKeyVersionsRequest.page_token] to retrieve the next page of
// results.
// [ListCryptoKeyVersionsRequest.page_token][google.cloud.kms.v1.ListCryptoKeyVersionsRequest.page_token]
// to retrieve the next page of results.
string next_page_token = 2;
// The total number of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] that matched the
// The total number of
// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] that matched the
// query.
int32 total_size = 3;
}
// Request message for [KeyManagementService.GetKeyRing][google.cloud.kms.v1.KeyManagementService.GetKeyRing].
// Request message for
// [KeyManagementService.GetKeyRing][google.cloud.kms.v1.KeyManagementService.GetKeyRing].
message GetKeyRingRequest {
// The [name][google.cloud.kms.v1.KeyRing.name] of the [KeyRing][google.cloud.kms.v1.KeyRing] to get.
// The [name][google.cloud.kms.v1.KeyRing.name] of the
// [KeyRing][google.cloud.kms.v1.KeyRing] to get.
string name = 1;
}
// Request message for [KeyManagementService.GetCryptoKey][google.cloud.kms.v1.KeyManagementService.GetCryptoKey].
// Request message for
// [KeyManagementService.GetCryptoKey][google.cloud.kms.v1.KeyManagementService.GetCryptoKey].
message GetCryptoKeyRequest {
// The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to get.
// The [name][google.cloud.kms.v1.CryptoKey.name] of the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] to get.
string name = 1;
}
// Request message for [KeyManagementService.GetCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion].
// Request message for
// [KeyManagementService.GetCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion].
message GetCryptoKeyVersionRequest {
// The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to get.
// The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to get.
string name = 1;
}
// Request message for [KeyManagementService.GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
// Request message for
// [KeyManagementService.GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
message GetPublicKeyRequest {
// The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key to
// get.
// The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key to get.
string name = 1;
}
// Request message for [KeyManagementService.CreateKeyRing][google.cloud.kms.v1.KeyManagementService.CreateKeyRing].
// Request message for
// [KeyManagementService.CreateKeyRing][google.cloud.kms.v1.KeyManagementService.CreateKeyRing].
message CreateKeyRingRequest {
// Required. The resource name of the location associated with the
// [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
// [KeyRings][google.cloud.kms.v1.KeyRing], in the format
// `projects/*/locations/*`.
string parent = 1;
// Required. It must be unique within a location and match the regular
@ -372,10 +437,11 @@ message CreateKeyRingRequest {
KeyRing key_ring = 3;
}
// Request message for [KeyManagementService.CreateCryptoKey][google.cloud.kms.v1.KeyManagementService.CreateCryptoKey].
// Request message for
// [KeyManagementService.CreateCryptoKey][google.cloud.kms.v1.KeyManagementService.CreateCryptoKey].
message CreateCryptoKeyRequest {
// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the KeyRing associated with the
// [CryptoKeys][google.cloud.kms.v1.CryptoKey].
// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the KeyRing
// associated with the [CryptoKeys][google.cloud.kms.v1.CryptoKey].
string parent = 1;
// Required. It must be unique within a KeyRing and match the regular
@ -386,17 +452,21 @@ message CreateCryptoKeyRequest {
CryptoKey crypto_key = 3;
}
// Request message for [KeyManagementService.CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion].
// Request message for
// [KeyManagementService.CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion].
message CreateCryptoKeyVersionRequest {
// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] associated with
// the [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] associated with the
// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
string parent = 1;
// A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with initial field values.
// A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with initial
// field values.
CryptoKeyVersion crypto_key_version = 2;
}
// Request message for [KeyManagementService.UpdateCryptoKey][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey].
// Request message for
// [KeyManagementService.UpdateCryptoKey][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey].
message UpdateCryptoKeyRequest {
// [CryptoKey][google.cloud.kms.v1.CryptoKey] with updated values.
CryptoKey crypto_key = 1;
@ -405,50 +475,60 @@ message UpdateCryptoKeyRequest {
google.protobuf.FieldMask update_mask = 2;
}
// Request message for [KeyManagementService.UpdateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion].
// Request message for
// [KeyManagementService.UpdateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion].
message UpdateCryptoKeyVersionRequest {
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with updated values.
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with updated
// values.
CryptoKeyVersion crypto_key_version = 1;
// Required list of fields to be updated in this request.
google.protobuf.FieldMask update_mask = 2;
}
// Request message for [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
// Request message for
// [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
message EncryptRequest {
// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] or [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// to use for encryption.
// Required. The resource name of the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] or
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
// encryption.
//
// If a [CryptoKey][google.cloud.kms.v1.CryptoKey] is specified, the server will use its
// [primary version][google.cloud.kms.v1.CryptoKey.primary].
// If a [CryptoKey][google.cloud.kms.v1.CryptoKey] is specified, the server
// will use its [primary version][google.cloud.kms.v1.CryptoKey.primary].
string name = 1;
// Required. The data to encrypt. Must be no larger than 64KiB.
//
// The maximum size depends on the key version's
// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For
// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the plaintext must be no larger
// than 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of the
// plaintext and additional_authenticated_data fields must be no larger than
// 8KiB.
// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level].
// For [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the
// plaintext must be no larger than 64KiB. For
// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of
// the plaintext and additional_authenticated_data fields must be no larger
// than 8KiB.
bytes plaintext = 2;
// Optional data that, if specified, must also be provided during decryption
// through [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data].
// through
// [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data].
//
// The maximum size depends on the key version's
// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For
// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the AAD must be no larger than
// 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of the
// plaintext and additional_authenticated_data fields must be no larger than
// 8KiB.
// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level].
// For [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the AAD
// must be no larger than 64KiB. For
// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of
// the plaintext and additional_authenticated_data fields must be no larger
// than 8KiB.
bytes additional_authenticated_data = 3;
}
// Request message for [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
// Request message for
// [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
message DecryptRequest {
// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to use for decryption.
// The server will choose the appropriate version.
// Required. The resource name of the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] to use for decryption. The
// server will choose the appropriate version.
string name = 1;
// Required. The encrypted data originally returned in
@ -460,9 +540,12 @@ message DecryptRequest {
bytes additional_authenticated_data = 3;
}
// Request message for [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
// Request message for
// [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
message AsymmetricSignRequest {
// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for signing.
// Required. The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
// signing.
string name = 1;
// Required. The digest of the data to sign. The digest must be produced with
@ -471,62 +554,79 @@ message AsymmetricSignRequest {
Digest digest = 3;
}
// Request message for [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
// Request message for
// [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
message AsymmetricDecryptRequest {
// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
// Required. The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
// decryption.
string name = 1;
// Required. The data encrypted with the named [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s public
// key using OAEP.
// Required. The data encrypted with the named
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s public key using
// OAEP.
bytes ciphertext = 3;
}
// Response message for [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
// Response message for
// [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
message DecryptResponse {
// The decrypted data originally supplied in [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext].
// The decrypted data originally supplied in
// [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext].
bytes plaintext = 1;
}
// Response message for [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
// Response message for
// [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
message EncryptResponse {
// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in encryption.
// The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in
// encryption.
string name = 1;
// The encrypted data.
bytes ciphertext = 2;
}
// Response message for [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
// Response message for
// [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
message AsymmetricSignResponse {
// The created signature.
bytes signature = 1;
}
// Response message for [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
// Response message for
// [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
message AsymmetricDecryptResponse {
// The decrypted data originally encrypted with the matching public key.
bytes plaintext = 1;
}
// Request message for [KeyManagementService.UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion].
// Request message for
// [KeyManagementService.UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion].
message UpdateCryptoKeyPrimaryVersionRequest {
// The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to update.
// The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to
// update.
string name = 1;
// The id of the child [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use as primary.
// The id of the child
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use as primary.
string crypto_key_version_id = 2;
}
// Request message for [KeyManagementService.DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion].
// Request message for
// [KeyManagementService.DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion].
message DestroyCryptoKeyVersionRequest {
// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to destroy.
// The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to destroy.
string name = 1;
}
// Request message for [KeyManagementService.RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion].
// Request message for
// [KeyManagementService.RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion].
message RestoreCryptoKeyVersionRequest {
// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to restore.
// The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to restore.
string name = 1;
}
@ -545,10 +645,12 @@ message Digest {
}
}
// Cloud KMS metadata for the given [google.cloud.location.Location][google.cloud.location.Location].
// Cloud KMS metadata for the given
// [google.cloud.location.Location][google.cloud.location.Location].
message LocationMetadata {
// Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] with
// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]
// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] can be created in this location.
// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] can be created in this
// location.
bool hsm_available = 1;
}

@ -25,7 +25,6 @@ option java_multiple_files = true;
option java_outer_classname = "LocationsProto";
option java_package = "com.google.cloud.location";
// An abstract interface that provides location-related information for
// a service. Service-specific metadata is provided through the
// [Location.metadata][google.cloud.location.Location.metadata] field.
@ -45,7 +44,8 @@ service Locations {
}
}
// The request message for [Locations.ListLocations][google.cloud.location.Locations.ListLocations].
// The request message for
// [Locations.ListLocations][google.cloud.location.Locations.ListLocations].
message ListLocationsRequest {
// The resource that owns the locations collection, if applicable.
string name = 1;
@ -60,7 +60,8 @@ message ListLocationsRequest {
string page_token = 4;
}
// The response message for [Locations.ListLocations][google.cloud.location.Locations.ListLocations].
// The response message for
// [Locations.ListLocations][google.cloud.location.Locations.ListLocations].
message ListLocationsResponse {
// A list of locations that matches the specified filter in the request.
repeated Location locations = 1;
@ -69,7 +70,8 @@ message ListLocationsResponse {
string next_page_token = 2;
}
// The request message for [Locations.GetLocation][google.cloud.location.Locations.GetLocation].
// The request message for
// [Locations.GetLocation][google.cloud.location.Locations.GetLocation].
message GetLocationRequest {
// Resource name for the location.
string name = 1;

@ -27,7 +27,6 @@ option java_multiple_files = true;
option java_outer_classname = "CloudRedisServiceV1Proto";
option java_package = "com.google.cloud.redis.v1";
// Configures and manages Cloud Memorystore for Redis instances
//
// Google Cloud Memorystore for Redis v1
@ -77,7 +76,8 @@ service CloudRedis {
//
// The returned operation is automatically deleted after a few hours, so there
// is no need to call DeleteOperation.
rpc CreateInstance(CreateInstanceRequest) returns (google.longrunning.Operation) {
rpc CreateInstance(CreateInstanceRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/{parent=projects/*/locations/*}/instances"
body: "instance"
@ -89,7 +89,8 @@ service CloudRedis {
// Completed longrunning.Operation will contain the new instance object
// in the response field. The returned operation is automatically deleted
// after a few hours, so there is no need to call DeleteOperation.
rpc UpdateInstance(UpdateInstanceRequest) returns (google.longrunning.Operation) {
rpc UpdateInstance(UpdateInstanceRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
patch: "/v1/{instance.name=projects/*/locations/*/instances/*}"
body: "instance"
@ -104,7 +105,8 @@ service CloudRedis {
//
// The returned operation is automatically deleted after a few hours, so
// there is no need to call DeleteOperation.
rpc ImportInstance(ImportInstanceRequest) returns (google.longrunning.Operation) {
rpc ImportInstance(ImportInstanceRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/instances/*}:import"
body: "*"
@ -117,7 +119,8 @@ service CloudRedis {
//
// The returned operation is automatically deleted after a few hours, so
// there is no need to call DeleteOperation.
rpc ExportInstance(ExportInstanceRequest) returns (google.longrunning.Operation) {
rpc ExportInstance(ExportInstanceRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/instances/*}:export"
body: "*"
@ -126,7 +129,8 @@ service CloudRedis {
// Failover the master role to current replica node against a specific
// STANDARD tier redis instance.
rpc FailoverInstance(FailoverInstanceRequest) returns (google.longrunning.Operation) {
rpc FailoverInstance(FailoverInstanceRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/instances/*}:failover"
body: "*"
@ -135,7 +139,8 @@ service CloudRedis {
// Deletes a specific Redis instance. Instance stops serving and data is
// deleted.
rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) {
rpc DeleteInstance(DeleteInstanceRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
delete: "/v1/{name=projects/*/locations/*/instances/*}"
};
@ -340,7 +345,8 @@ message GetInstanceRequest {
string name = 1;
}
// Request for [CreateInstance][google.cloud.redis.v1.CloudRedis.CreateInstance].
// Request for
// [CreateInstance][google.cloud.redis.v1.CloudRedis.CreateInstance].
message CreateInstanceRequest {
// Required. The resource name of the instance location using the form:
// `projects/{project_id}/locations/{location_id}`
@ -361,7 +367,8 @@ message CreateInstanceRequest {
Instance instance = 3;
}
// Request for [UpdateInstance][google.cloud.redis.v1.CloudRedis.UpdateInstance].
// Request for
// [UpdateInstance][google.cloud.redis.v1.CloudRedis.UpdateInstance].
message UpdateInstanceRequest {
// Required. Mask of fields to update. At least one path must be supplied in
// this field. The elements of the repeated paths field may only include these
@ -378,7 +385,8 @@ message UpdateInstanceRequest {
Instance instance = 2;
}
// Request for [DeleteInstance][google.cloud.redis.v1.CloudRedis.DeleteInstance].
// Request for
// [DeleteInstance][google.cloud.redis.v1.CloudRedis.DeleteInstance].
message DeleteInstanceRequest {
// Required. Redis instance resource name using the form:
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
@ -412,7 +420,6 @@ message ImportInstanceRequest {
InputConfig input_config = 3;
}
// The GCS location for the output content
message GcsDestination {
// Required. Data destination URI (e.g.
@ -503,6 +510,4 @@ message LocationMetadata {
// Defines specific information for a particular zone. Currently empty and
// reserved for future use only.
message ZoneMetadata {
}
message ZoneMetadata {}

@ -26,7 +26,6 @@ option java_multiple_files = true;
option java_outer_classname = "CloudRedisServiceBetaProto";
option java_package = "com.google.cloud.redis.v1beta1";
// Configures and manages Cloud Memorystore for Redis instances
//
// Google Cloud Memorystore for Redis v1beta1
@ -76,7 +75,8 @@ service CloudRedis {
//
// The returned operation is automatically deleted after a few hours, so there
// is no need to call DeleteOperation.
rpc CreateInstance(CreateInstanceRequest) returns (google.longrunning.Operation) {
rpc CreateInstance(CreateInstanceRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*/locations/*}/instances"
body: "instance"
@ -88,7 +88,8 @@ service CloudRedis {
// Completed longrunning.Operation will contain the new instance object
// in the response field. The returned operation is automatically deleted
// after a few hours, so there is no need to call DeleteOperation.
rpc UpdateInstance(UpdateInstanceRequest) returns (google.longrunning.Operation) {
rpc UpdateInstance(UpdateInstanceRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
patch: "/v1beta1/{instance.name=projects/*/locations/*/instances/*}"
body: "instance"
@ -97,7 +98,8 @@ service CloudRedis {
// Deletes a specific Redis instance. Instance stops serving and data is
// deleted.
rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) {
rpc DeleteInstance(DeleteInstanceRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
delete: "/v1beta1/{name=projects/*/locations/*/instances/*}"
};
@ -228,7 +230,8 @@ message Instance {
string authorized_network = 20;
}
// Request for [ListInstances][google.cloud.redis.v1beta1.CloudRedis.ListInstances].
// Request for
// [ListInstances][google.cloud.redis.v1beta1.CloudRedis.ListInstances].
message ListInstancesRequest {
// Required. The resource name of the instance location using the form:
// `projects/{project_id}/locations/{location_id}`
@ -249,7 +252,8 @@ message ListInstancesRequest {
string page_token = 3;
}
// Response for [ListInstances][google.cloud.redis.v1beta1.CloudRedis.ListInstances].
// Response for
// [ListInstances][google.cloud.redis.v1beta1.CloudRedis.ListInstances].
message ListInstancesResponse {
// A list of Redis instances in the project in the specified location,
// or across all locations.
@ -276,7 +280,8 @@ message GetInstanceRequest {
string name = 1;
}
// Request for [CreateInstance][google.cloud.redis.v1beta1.CloudRedis.CreateInstance].
// Request for
// [CreateInstance][google.cloud.redis.v1beta1.CloudRedis.CreateInstance].
message CreateInstanceRequest {
// Required. The resource name of the instance location using the form:
// `projects/{project_id}/locations/{location_id}`
@ -297,7 +302,8 @@ message CreateInstanceRequest {
Instance instance = 3;
}
// Request for [UpdateInstance][google.cloud.redis.v1beta1.CloudRedis.UpdateInstance].
// Request for
// [UpdateInstance][google.cloud.redis.v1beta1.CloudRedis.UpdateInstance].
message UpdateInstanceRequest {
// Required. Mask of fields to update. At least one path must be supplied in
// this field. The elements of the repeated paths field may only include these
@ -313,7 +319,8 @@ message UpdateInstanceRequest {
Instance instance = 2;
}
// Request for [DeleteInstance][google.cloud.redis.v1beta1.CloudRedis.DeleteInstance].
// Request for
// [DeleteInstance][google.cloud.redis.v1beta1.CloudRedis.DeleteInstance].
message DeleteInstanceRequest {
// Required. Redis instance resource name using the form:
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
@ -335,6 +342,4 @@ message LocationMetadata {
// Defines specific information for a particular zone. Currently empty and
// reserved for future use only.
message ZoneMetadata {
}
message ZoneMetadata {}

@ -30,7 +30,6 @@ option java_package = "com.google.cloud.resourcemanager.v2";
option csharp_namespace = "Google.Cloud.ResourceManager.V2";
option php_namespace = "Google\\Cloud\\ResourceManager\\V2";
// Manages Cloud Resource Folders.
// Cloud Resource Folders can be used to organize the resources under an
// organization and to control the IAM policies applied to groups of resources.
@ -43,7 +42,9 @@ service Folders {
// The caller must have `resourcemanager.folders.list` permission on the
// identified parent.
rpc ListFolders(ListFoldersRequest) returns (ListFoldersResponse) {
option (google.api.http) = { get: "/v2/folders" };
option (google.api.http) = {
get: "/v2/folders"
};
}
// Search for folders that match specific filter criteria.
@ -53,7 +54,10 @@ service Folders {
// This will only return folders on which the caller has the
// permission `resourcemanager.folders.get`.
rpc SearchFolders(SearchFoldersRequest) returns (SearchFoldersResponse) {
option (google.api.http) = { post: "/v2/folders:search" body: "*" };
option (google.api.http) = {
post: "/v2/folders:search"
body: "*"
};
}
// Retrieves a Folder identified by the supplied resource name.
@ -62,7 +66,9 @@ service Folders {
// The caller must have `resourcemanager.folders.get` permission on the
// identified folder.
rpc GetFolder(GetFolderRequest) returns (Folder) {
option (google.api.http) = { get: "/v2/{name=folders/*}" };
option (google.api.http) = {
get: "/v2/{name=folders/*}"
};
}
// Creates a Folder in the resource hierarchy.
@ -92,7 +98,10 @@ service Folders {
// The caller must have `resourcemanager.folders.create` permission on the
// identified parent.
rpc CreateFolder(CreateFolderRequest) returns (google.longrunning.Operation) {
option (google.api.http) = { post: "/v2/folders" body: "folder" };
option (google.api.http) = {
post: "/v2/folders"
body: "folder"
};
}
// Updates a Folder, changing its display_name.
@ -110,7 +119,10 @@ service Folders {
// PreconditionFailure explaining this violation will be returned
// in the Status.details field.
rpc UpdateFolder(UpdateFolderRequest) returns (Folder) {
option (google.api.http) = { patch: "/v2/{folder.name=folders/*}" body: "folder" };
option (google.api.http) = {
patch: "/v2/{folder.name=folders/*}"
body: "folder"
};
}
// Moves a Folder under a new resource parent.
@ -130,7 +142,10 @@ service Folders {
// The caller must have `resourcemanager.folders.move` permission on the
// folder's current and proposed new parent.
rpc MoveFolder(MoveFolderRequest) returns (google.longrunning.Operation) {
option (google.api.http) = { post: "/v2/{name=folders/*}:move" body: "*" };
option (google.api.http) = {
post: "/v2/{name=folders/*}:move"
body: "*"
};
}
// Requests deletion of a Folder. The Folder is moved into the
@ -141,7 +156,9 @@ service Folders {
// The caller must have `resourcemanager.folders.delete` permission on the
// identified folder.
rpc DeleteFolder(DeleteFolderRequest) returns (Folder) {
option (google.api.http) = { delete: "/v2/{name=folders/*}" };
option (google.api.http) = {
delete: "/v2/{name=folders/*}"
};
}
// Cancels the deletion request for a Folder. This method may only be
@ -153,7 +170,10 @@ service Folders {
// The caller must have `resourcemanager.folders.undelete` permission on the
// identified folder.
rpc UndeleteFolder(UndeleteFolderRequest) returns (Folder) {
option (google.api.http) = { post: "/v2/{name=folders/*}:undelete" body: "*" };
option (google.api.http) = {
post: "/v2/{name=folders/*}:undelete"
body: "*"
};
}
// Gets the access control policy for a Folder. The returned policy may be
@ -161,8 +181,12 @@ service Folders {
// be the Folder's resource name, e.g. "folders/1234".
// The caller must have `resourcemanager.folders.getIamPolicy` permission
// on the identified folder.
rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
option (google.api.http) = { post: "/v2/{resource=folders/*}:getIamPolicy" body: "*" };
rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest)
returns (google.iam.v1.Policy) {
option (google.api.http) = {
post: "/v2/{resource=folders/*}:getIamPolicy"
body: "*"
};
}
// Sets the access control policy on a Folder, replacing any existing policy.
@ -170,8 +194,12 @@ service Folders {
// "folders/1234".
// The caller must have `resourcemanager.folders.setIamPolicy` permission
// on the identified folder.
rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
option (google.api.http) = { post: "/v2/{resource=folders/*}:setIamPolicy" body: "*" };
rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest)
returns (google.iam.v1.Policy) {
option (google.api.http) = {
post: "/v2/{resource=folders/*}:setIamPolicy"
body: "*"
};
}
// Returns permissions that a caller has on the specified Folder.
@ -179,8 +207,12 @@ service Folders {
// e.g. "folders/1234".
//
// There are no permissions required for making this API call.
rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
option (google.api.http) = { post: "/v2/{resource=folders/*}:testIamPermissions" body: "*" };
rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest)
returns (google.iam.v1.TestIamPermissionsResponse) {
option (google.api.http) = {
post: "/v2/{resource=folders/*}:testIamPermissions"
body: "*"
};
}
}

@ -27,7 +27,6 @@ option java_multiple_files = true;
option java_package = "com.google.cloud.runtimeconfig.v1beta1";
option php_namespace = "Google\\Cloud\\RuntimeConfig\\V1beta1";
// A RuntimeConfig resource is the primary resource in the Cloud RuntimeConfig
// service. A RuntimeConfig resource consists of metadata and a hierarchy of
// variables.
@ -91,9 +90,9 @@ message Variable {
// [Output Only] The time of the last variable update.
google.protobuf.Timestamp update_time = 3;
// [Ouput only] The current state of the variable. The variable state indicates
// the outcome of the `variables().watch` call and is visible through the
// `get` and `list` calls.
// [Ouput only] The current state of the variable. The variable state
// indicates the outcome of the `variables().watch` call and is visible
// through the `get` and `list` calls.
VariableState state = 4;
}
@ -130,10 +129,10 @@ message EndCondition {
}
}
// A Waiter resource waits for some end condition within a RuntimeConfig resource
// to be met before it returns. For example, assume you have a distributed
// system where each node writes to a Variable resource indidicating the node's
// readiness as part of the startup process.
// A Waiter resource waits for some end condition within a RuntimeConfig
// resource to be met before it returns. For example, assume you have a
// distributed system where each node writes to a Variable resource indidicating
// the node's readiness as part of the startup process.
//
// You then configure a Waiter resource with the success condition set to wait
// until some number of nodes have checked in. Afterwards, your application
@ -143,7 +142,8 @@ message EndCondition {
// Once created, a Waiter resource is immutable.
//
// To learn more about using waiters, read the
// [Creating a Waiter](/deployment-manager/runtime-configurator/creating-a-waiter)
// [Creating a
// Waiter](/deployment-manager/runtime-configurator/creating-a-waiter)
// documentation.
message Waiter {
// The name of the Waiter resource, in the format:
@ -172,9 +172,9 @@ message Waiter {
EndCondition failure = 3;
// [Required] The success condition. If this condition is met, `done` will be
// set to `true` and the `error` value will remain unset. The failure condition
// takes precedence over the success condition. If both conditions are met, a
// failure will be indicated.
// set to `true` and the `error` value will remain unset. The failure
// condition takes precedence over the success condition. If both conditions
// are met, a failure will be indicated.
EndCondition success = 4;
// [Output Only] The instant at which this Waiter resource was created. Adding

@ -28,7 +28,6 @@ option java_multiple_files = true;
option java_package = "com.google.cloud.runtimeconfig.v1beta1";
option php_namespace = "Google\\Cloud\\RuntimeConfig\\V1beta1";
// RuntimeConfig API represents configuration objects and operations on those
// configuration objects.
// RuntimeConfig objects consist of Variables logically grouped in the those
@ -42,41 +41,57 @@ option php_namespace = "Google\\Cloud\\RuntimeConfig\\V1beta1";
service RuntimeConfigManager {
// Lists all the RuntimeConfig resources within project.
rpc ListConfigs(ListConfigsRequest) returns (ListConfigsResponse) {
option (google.api.http) = { get: "/v1beta1/{parent=projects/*}/configs" };
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*}/configs"
};
}
// Gets information about a RuntimeConfig resource.
rpc GetConfig(GetConfigRequest) returns (RuntimeConfig) {
option (google.api.http) = { get: "/v1beta1/{name=projects/*/configs/*}" };
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/configs/*}"
};
}
// Creates a new RuntimeConfig resource. The configuration name must be
// unique within project.
rpc CreateConfig(CreateConfigRequest) returns (RuntimeConfig) {
option (google.api.http) = { post: "/v1beta1/{parent=projects/*}/configs" body: "config" };
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*}/configs"
body: "config"
};
}
// Updates a RuntimeConfig resource. The configuration must exist beforehand.
rpc UpdateConfig(UpdateConfigRequest) returns (RuntimeConfig) {
option (google.api.http) = { put: "/v1beta1/{name=projects/*/configs/*}" body: "config" };
option (google.api.http) = {
put: "/v1beta1/{name=projects/*/configs/*}"
body: "config"
};
}
// Deletes a RuntimeConfig resource.
rpc DeleteConfig(DeleteConfigRequest) returns (google.protobuf.Empty) {
option (google.api.http) = { delete: "/v1beta1/{name=projects/*/configs/*}" };
option (google.api.http) = {
delete: "/v1beta1/{name=projects/*/configs/*}"
};
}
// Lists variables within given a configuration, matching any provided filters.
// This only lists variable names, not the values, unless `return_values` is
// true, in which case only variables that user has IAM permission to
// GetVariable will be returned.
// Lists variables within given a configuration, matching any provided
// filters. This only lists variable names, not the values, unless
// `return_values` is true, in which case only variables that user has IAM
// permission to GetVariable will be returned.
rpc ListVariables(ListVariablesRequest) returns (ListVariablesResponse) {
option (google.api.http) = { get: "/v1beta1/{parent=projects/*/configs/*}/variables" };
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*/configs/*}/variables"
};
}
// Gets information about a single variable.
rpc GetVariable(GetVariableRequest) returns (Variable) {
option (google.api.http) = { get: "/v1beta1/{name=projects/*/configs/*/variables/**}" };
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/configs/*/variables/**}"
};
}
// Watches a specific variable and waits for a change in the variable's value.
@ -85,15 +100,19 @@ service RuntimeConfigManager {
// If a variable is deleted while being watched, the `variableState` state is
// set to `DELETED` and the method returns the last known variable `value`.
//
// If you set the deadline for watching to a larger value than internal timeout
// (60 seconds), the current variable value is returned and the `variableState`
// will be `VARIABLE_STATE_UNSPECIFIED`.
// If you set the deadline for watching to a larger value than internal
// timeout (60 seconds), the current variable value is returned and the
// `variableState` will be `VARIABLE_STATE_UNSPECIFIED`.
//
// To learn more about creating a watcher, read the
// [Watching a Variable for Changes](/deployment-manager/runtime-configurator/watching-a-variable)
// [Watching a Variable for
// Changes](/deployment-manager/runtime-configurator/watching-a-variable)
// documentation.
rpc WatchVariable(WatchVariableRequest) returns (Variable) {
option (google.api.http) = { post: "/v1beta1/{name=projects/*/configs/*/variables/**}:watch" body: "*" };
option (google.api.http) = {
post: "/v1beta1/{name=projects/*/configs/*/variables/**}:watch"
body: "*"
};
}
// Creates a variable within the given configuration. You cannot create
@ -101,15 +120,22 @@ service RuntimeConfigManager {
// name that has an existing variable name as a prefix.
//
// To learn more about creating a variable, read the
// [Setting and Getting Data](/deployment-manager/runtime-configurator/set-and-get-variables)
// [Setting and Getting
// Data](/deployment-manager/runtime-configurator/set-and-get-variables)
// documentation.
rpc CreateVariable(CreateVariableRequest) returns (Variable) {
option (google.api.http) = { post: "/v1beta1/{parent=projects/*/configs/*}/variables" body: "variable" };
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*/configs/*}/variables"
body: "variable"
};
}
// Updates an existing variable with a new value.
rpc UpdateVariable(UpdateVariableRequest) returns (Variable) {
option (google.api.http) = { put: "/v1beta1/{name=projects/*/configs/*/variables/**}" body: "variable" };
option (google.api.http) = {
put: "/v1beta1/{name=projects/*/configs/*/variables/**}"
body: "variable"
};
}
// Deletes a variable or multiple variables.
@ -119,17 +145,23 @@ service RuntimeConfigManager {
// prefix are deleted. You must set a `recursive` to true if you delete
// variables by prefix.
rpc DeleteVariable(DeleteVariableRequest) returns (google.protobuf.Empty) {
option (google.api.http) = { delete: "/v1beta1/{name=projects/*/configs/*/variables/**}" };
option (google.api.http) = {
delete: "/v1beta1/{name=projects/*/configs/*/variables/**}"
};
}
// List waiters within the given configuration.
rpc ListWaiters(ListWaitersRequest) returns (ListWaitersResponse) {
option (google.api.http) = { get: "/v1beta1/{parent=projects/*/configs/*}/waiters" };
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*/configs/*}/waiters"
};
}
// Gets information about a single waiter.
rpc GetWaiter(GetWaiterRequest) returns (Waiter) {
option (google.api.http) = { get: "/v1beta1/{name=projects/*/configs/*/waiters/*}" };
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/configs/*/waiters/*}"
};
}
// Creates a Waiter resource. This operation returns a long-running Operation
@ -138,18 +170,24 @@ service RuntimeConfigManager {
// completing. If the operation fails, the failed Waiter resource will
// still exist and must be deleted prior to subsequent creation attempts.
rpc CreateWaiter(CreateWaiterRequest) returns (google.longrunning.Operation) {
option (google.api.http) = { post: "/v1beta1/{parent=projects/*/configs/*}/waiters" body: "waiter" };
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*/configs/*}/waiters"
body: "waiter"
};
}
// Deletes the waiter with the specified name.
rpc DeleteWaiter(DeleteWaiterRequest) returns (google.protobuf.Empty) {
option (google.api.http) = { delete: "/v1beta1/{name=projects/*/configs/*/waiters/*}" };
option (google.api.http) = {
delete: "/v1beta1/{name=projects/*/configs/*/waiters/*}"
};
}
}
// Request for the `ListConfigs()` method.
message ListConfigsRequest {
// The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)
// The [project
// ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)
// for this request, in the format `projects/[PROJECT_ID]`.
string parent = 1;
@ -187,7 +225,8 @@ message GetConfigRequest {
// Creates a RuntimeConfig resource.
message CreateConfigRequest {
// The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)
// The [project
// ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)
// for this request, in the format `projects/[PROJECT_ID]`.
string parent = 1;
@ -228,8 +267,9 @@ message DeleteConfigRequest {
// Request for the `ListVariables()` method.
message ListVariablesRequest {
// The path to the RuntimeConfig resource for which you want to list variables.
// The configuration must exist beforehand; the path must by in the format:
// The path to the RuntimeConfig resource for which you want to list
// variables. The configuration must exist beforehand; the path must by in the
// format:
//
// `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
string parent = 1;

@ -31,7 +31,6 @@ option java_multiple_files = true;
option java_outer_classname = "SpeechProto";
option java_package = "com.google.cloud.speech.v1";
// Service that implements Google Cloud Speech API.
service Speech {
// Performs synchronous speech recognition: receive results after all audio
@ -47,7 +46,8 @@ service Speech {
// google.longrunning.Operations interface. Returns either an
// `Operation.error` or an `Operation.response` which contains
// a `LongRunningRecognizeResponse` message.
rpc LongRunningRecognize(LongRunningRecognizeRequest) returns (google.longrunning.Operation) {
rpc LongRunningRecognize(LongRunningRecognizeRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/speech:longrunningrecognize"
body: "*"
@ -56,8 +56,8 @@ service Speech {
// Performs bidirectional streaming speech recognition: receive results while
// sending audio. This method is only available via the gRPC API (not REST).
rpc StreamingRecognize(stream StreamingRecognizeRequest) returns (stream StreamingRecognizeResponse) {
}
rpc StreamingRecognize(stream StreamingRecognizeRequest)
returns (stream StreamingRecognizeResponse) {}
}
// The top-level message sent by the client for the `Recognize` method.
@ -155,7 +155,8 @@ message RecognitionConfig {
// an `AudioEncoding` when you send send `FLAC` or `WAV` audio, the
// encoding configuration must match the encoding described in the audio
// header; otherwise the request returns an
// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] error code.
// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] error
// code.
enum AudioEncoding {
// Not specified.
ENCODING_UNSPECIFIED = 0;
@ -203,7 +204,8 @@ message RecognitionConfig {
// Encoding of audio data sent in all `RecognitionAudio` messages.
// This field is optional for `FLAC` and `WAV` audio files and required
// for all other audio formats. For details, see [AudioEncoding][google.cloud.speech.v1.RecognitionConfig.AudioEncoding].
// for all other audio formats. For details, see
// [AudioEncoding][google.cloud.speech.v1.RecognitionConfig.AudioEncoding].
AudioEncoding encoding = 1;
// Sample rate in Hertz of the audio data sent in all
@ -212,7 +214,8 @@ message RecognitionConfig {
// source to 16000 Hz. If that's not possible, use the native sample rate of
// the audio source (instead of re-sampling).
// This field is optional for `FLAC` and `WAV` audio files and required
// for all other audio formats. For details, see [AudioEncoding][google.cloud.speech.v1.RecognitionConfig.AudioEncoding].
// for all other audio formats. For details, see
// [AudioEncoding][google.cloud.speech.v1.RecognitionConfig.AudioEncoding].
int32 sample_rate_hertz = 2;
// *Optional* The number of channels in the input audio data.
@ -341,8 +344,8 @@ message SpeechContext {
// Contains audio data in the encoding specified in the `RecognitionConfig`.
// Either `content` or `uri` must be supplied. Supplying both or neither
// returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. See
// [content limits](/speech-to-text/quotas#content).
// returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
// See [content limits](/speech-to-text/quotas#content).
message RecognitionAudio {
// The audio source, which is either inline content or a Google Cloud
// Storage uri.
@ -357,8 +360,9 @@ message RecognitionAudio {
// Currently, only Google Cloud Storage URIs are
// supported, which must be specified in the following format:
// `gs://bucket_name/object_name` (other URI formats return
// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
// [Request URIs](https://cloud.google.com/storage/docs/reference-uris).
// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]).
// For more information, see [Request
// URIs](https://cloud.google.com/storage/docs/reference-uris).
string uri = 2;
}
}
@ -463,8 +467,8 @@ message StreamingRecognizeResponse {
END_OF_SINGLE_UTTERANCE = 1;
}
// Output only. If set, returns a [google.rpc.Status][google.rpc.Status] message that
// specifies the error for the operation.
// Output only. If set, returns a [google.rpc.Status][google.rpc.Status]
// message that specifies the error for the operation.
google.rpc.Status error = 1;
// Output only. This repeated list contains zero or more results that

@ -31,7 +31,6 @@ option java_multiple_files = true;
option java_outer_classname = "SpeechProto";
option java_package = "com.google.cloud.speech.v1p1beta1";
// Service that implements Google Cloud Speech API.
service Speech {
// Performs synchronous speech recognition: receive results after all audio
@ -47,7 +46,8 @@ service Speech {
// google.longrunning.Operations interface. Returns either an
// `Operation.error` or an `Operation.response` which contains
// a `LongRunningRecognizeResponse` message.
rpc LongRunningRecognize(LongRunningRecognizeRequest) returns (google.longrunning.Operation) {
rpc LongRunningRecognize(LongRunningRecognizeRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1p1beta1/speech:longrunningrecognize"
body: "*"
@ -56,8 +56,8 @@ service Speech {
// Performs bidirectional streaming speech recognition: receive results while
// sending audio. This method is only available via the gRPC API (not REST).
rpc StreamingRecognize(stream StreamingRecognizeRequest) returns (stream StreamingRecognizeResponse) {
}
rpc StreamingRecognize(stream StreamingRecognizeRequest)
returns (stream StreamingRecognizeResponse) {}
}
// The top-level message sent by the client for the `Recognize` method.
@ -155,7 +155,8 @@ message RecognitionConfig {
// an `AudioEncoding` when you send send `FLAC` or `WAV` audio, the
// encoding configuration must match the encoding described in the audio
// header; otherwise the request returns an
// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] error code.
// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] error
// code.
enum AudioEncoding {
// Not specified.
ENCODING_UNSPECIFIED = 0;
@ -203,7 +204,8 @@ message RecognitionConfig {
// Encoding of audio data sent in all `RecognitionAudio` messages.
// This field is optional for `FLAC` and `WAV` audio files and required
// for all other audio formats. For details, see [AudioEncoding][google.cloud.speech.v1p1beta1.RecognitionConfig.AudioEncoding].
// for all other audio formats. For details, see
// [AudioEncoding][google.cloud.speech.v1p1beta1.RecognitionConfig.AudioEncoding].
AudioEncoding encoding = 1;
// Sample rate in Hertz of the audio data sent in all
@ -212,7 +214,8 @@ message RecognitionConfig {
// source to 16000 Hz. If that's not possible, use the native sample rate of
// the audio source (instead of re-sampling).
// This field is optional for `FLAC` and `WAV` audio files and required
// for all other audio formats. For details, see [AudioEncoding][google.cloud.speech.v1p1beta1.RecognitionConfig.AudioEncoding].
// for all other audio formats. For details, see
// [AudioEncoding][google.cloud.speech.v1p1beta1.RecognitionConfig.AudioEncoding].
int32 sample_rate_hertz = 2;
// *Optional* The number of channels in the input audio data.
@ -269,9 +272,10 @@ message RecognitionConfig {
// won't be filtered out.
bool profanity_filter = 5;
// *Optional* array of [SpeechContext][google.cloud.speech.v1p1beta1.SpeechContext].
// A means to provide context to assist the speech recognition. For more
// information, see [Phrase Hints](/speech-to-text/docs/basics#phrase-hints).
// *Optional* array of
// [SpeechContext][google.cloud.speech.v1p1beta1.SpeechContext]. A means to
// provide context to assist the speech recognition. For more information, see
// [Phrase Hints](/speech-to-text/docs/basics#phrase-hints).
repeated SpeechContext speech_contexts = 6;
// *Optional* If `true`, the top result includes a list of words and
@ -511,8 +515,8 @@ message SpeechContext {
// Contains audio data in the encoding specified in the `RecognitionConfig`.
// Either `content` or `uri` must be supplied. Supplying both or neither
// returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. See
// [content limits](/speech-to-text/quotas#content).
// returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
// See [content limits](/speech-to-text/quotas#content).
message RecognitionAudio {
// The audio source, which is either inline content or a Google Cloud
// Storage uri.
@ -527,8 +531,9 @@ message RecognitionAudio {
// Currently, only Google Cloud Storage URIs are
// supported, which must be specified in the following format:
// `gs://bucket_name/object_name` (other URI formats return
// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
// [Request URIs](https://cloud.google.com/storage/docs/reference-uris).
// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]).
// For more information, see [Request
// URIs](https://cloud.google.com/storage/docs/reference-uris).
string uri = 2;
}
}
@ -633,8 +638,8 @@ message StreamingRecognizeResponse {
END_OF_SINGLE_UTTERANCE = 1;
}
// Output only. If set, returns a [google.rpc.Status][google.rpc.Status] message that
// specifies the error for the operation.
// Output only. If set, returns a [google.rpc.Status][google.rpc.Status]
// message that specifies the error for the operation.
google.rpc.Status error = 1;
// Output only. This repeated list contains zero or more results that

@ -23,7 +23,6 @@ option go_package = "google.golang.org/genproto/googleapis/cloud/support/common;
option java_outer_classname = "CloudSupportProto";
option java_package = "com.google.cloud.support.common";
// A Google Cloud Platform account that identifies support eligibility for a
// Cloud resource. Currently the Cloud resource can only be an Organization
// but this might change in future.

@ -25,37 +25,48 @@ option go_package = "google.golang.org/genproto/googleapis/cloud/support/v1alpha
option java_outer_classname = "CloudSupportProto";
option java_package = "com.google.cloud.support.v1alpha1";
// Retrieves the list of Google Cloud Platform Support accounts and manages
// support cases associated with them.
service CloudSupport {
// Retrieves the support account details given an account identifier.
// The authenticated user calling this method must be the account owner.
rpc GetSupportAccount(GetSupportAccountRequest) returns (google.cloud.support.common.SupportAccount) {
option (google.api.http) = { get: "/v1alpha1/{name=supportAccounts/*}" };
rpc GetSupportAccount(GetSupportAccountRequest)
returns (google.cloud.support.common.SupportAccount) {
option (google.api.http) = {
get: "/v1alpha1/{name=supportAccounts/*}"
};
}
// Retrieves the list of accounts the current authenticated user has access
// to.
rpc ListSupportAccounts(ListSupportAccountsRequest) returns (ListSupportAccountsResponse) {
option (google.api.http) = { get: "/v1alpha1/supportAccounts" };
rpc ListSupportAccounts(ListSupportAccountsRequest)
returns (ListSupportAccountsResponse) {
option (google.api.http) = {
get: "/v1alpha1/supportAccounts"
};
}
// Retrieves the details for a support case. The current authenticated user
// calling this method must have permissions to view this case.
rpc GetCase(GetCaseRequest) returns (google.cloud.support.common.Case) {
option (google.api.http) = { get: "/v1alpha1/{name=supportAccounts/*/cases/*}" };
option (google.api.http) = {
get: "/v1alpha1/{name=supportAccounts/*/cases/*}"
};
}
// Retrieves the list of support cases associated with an account. The current
// authenticated user must have the permission to list and view these cases.
rpc ListCases(ListCasesRequest) returns (ListCasesResponse) {
option (google.api.http) = { get: "/v1alpha1/{name=supportAccounts/*}/cases" };
option (google.api.http) = {
get: "/v1alpha1/{name=supportAccounts/*}/cases"
};
}
// Lists all comments from a case.
rpc ListComments(ListCommentsRequest) returns (ListCommentsResponse) {
option (google.api.http) = { get: "/v1alpha1/{name=supportAccounts/*/cases/*}/comments" };
option (google.api.http) = {
get: "/v1alpha1/{name=supportAccounts/*/cases/*}/comments"
};
}
// Creates a case and associates it with a
@ -63,24 +74,37 @@ service CloudSupport {
// authenticated user attempting this action must have permissions to create a
// `Case` under that [SupportAccount].
rpc CreateCase(CreateCaseRequest) returns (google.cloud.support.common.Case) {
option (google.api.http) = { post: "/v1alpha1/{parent=supportAccounts/*}/cases" body: "case" };
option (google.api.http) = {
post: "/v1alpha1/{parent=supportAccounts/*}/cases"
body: "case"
};
}
// Updates a support case. Only a small set of details (priority, subject and
// cc_address) can be update after a case is created.
rpc UpdateCase(UpdateCaseRequest) returns (google.cloud.support.common.Case) {
option (google.api.http) = { patch: "/v1alpha1/{case.name=supportAccounts/*/cases/*}" body: "case" };
option (google.api.http) = {
patch: "/v1alpha1/{case.name=supportAccounts/*/cases/*}"
body: "case"
};
}
// Adds a new comment to a case.
rpc CreateComment(CreateCommentRequest) returns (google.cloud.support.common.Comment) {
option (google.api.http) = { post: "/v1alpha1/{name=supportAccounts/*/cases/*}/comments" body: "comment" };
rpc CreateComment(CreateCommentRequest)
returns (google.cloud.support.common.Comment) {
option (google.api.http) = {
post: "/v1alpha1/{name=supportAccounts/*/cases/*}/comments"
body: "comment"
};
}
// Retrieves the taxonomy of product categories and components to be used
// while creating a support case.
rpc GetIssueTaxonomy(GetIssueTaxonomyRequest) returns (google.cloud.support.common.IssueTaxonomy) {
option (google.api.http) = { get: "/v1alpha1:getIssueTaxonomy" };
rpc GetIssueTaxonomy(GetIssueTaxonomyRequest)
returns (google.cloud.support.common.IssueTaxonomy) {
option (google.api.http) = {
get: "/v1alpha1:getIssueTaxonomy"
};
}
}
@ -195,5 +219,4 @@ message CreateCommentRequest {
}
// The request message for `GetIssueTaxonomy` method.
message GetIssueTaxonomyRequest {
}
message GetIssueTaxonomyRequest {}

@ -27,7 +27,6 @@ option java_outer_classname = "TextToSpeechProto";
option java_package = "com.google.cloud.texttospeech.v1";
option php_namespace = "Google\\Cloud\\TextToSpeech\\V1";
// Service that implements Google Cloud Text-to-Speech API.
service TextToSpeech {
// Returns a list of Voice supported for synthesis.
@ -39,7 +38,8 @@ service TextToSpeech {
// Synthesizes speech synchronously: receive results after all text input
// has been processed.
rpc SynthesizeSpeech(SynthesizeSpeechRequest) returns (SynthesizeSpeechResponse) {
rpc SynthesizeSpeech(SynthesizeSpeechRequest)
returns (SynthesizeSpeechResponse) {
option (google.api.http) = {
post: "/v1/text:synthesize"
body: "*"

@ -24,7 +24,6 @@ option java_multiple_files = true;
option java_outer_classname = "TextToSpeechProto";
option java_package = "com.google.cloud.texttospeech.v1beta1";
// Service that implements Google Cloud Text-to-Speech API.
service TextToSpeech {
// Returns a list of [Voice][google.cloud.texttospeech.v1beta1.Voice]
@ -37,7 +36,8 @@ service TextToSpeech {
// Synthesizes speech synchronously: receive results after all text input
// has been processed.
rpc SynthesizeSpeech(SynthesizeSpeechRequest) returns (SynthesizeSpeechResponse) {
rpc SynthesizeSpeech(SynthesizeSpeechRequest)
returns (SynthesizeSpeechResponse) {
option (google.api.http) = {
post: "/v1beta1/text:synthesize"
body: "*"

Loading…
Cancel
Save