google-cloud-kms 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.yardopts +8 -0
- data/LICENSE +201 -0
- data/README.md +69 -0
- data/lib/google/cloud/kms.rb +142 -0
- data/lib/google/cloud/kms/v1.rb +139 -0
- data/lib/google/cloud/kms/v1/credentials.rb +40 -0
- data/lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/resources.rb +148 -0
- data/lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/service.rb +268 -0
- data/lib/google/cloud/kms/v1/doc/google/iam/v1/iam_policy.rb +62 -0
- data/lib/google/cloud/kms/v1/doc/google/iam/v1/policy.rb +127 -0
- data/lib/google/cloud/kms/v1/doc/google/protobuf/duration.rb +90 -0
- data/lib/google/cloud/kms/v1/doc/google/protobuf/field_mask.rb +223 -0
- data/lib/google/cloud/kms/v1/doc/google/protobuf/timestamp.rb +106 -0
- data/lib/google/cloud/kms/v1/doc/overview.rb +80 -0
- data/lib/google/cloud/kms/v1/key_management_service_client.rb +1226 -0
- data/lib/google/cloud/kms/v1/key_management_service_client_config.json +121 -0
- data/lib/google/cloud/kms/v1/resources_pb.rb +57 -0
- data/lib/google/cloud/kms/v1/service_pb.rb +130 -0
- data/lib/google/cloud/kms/v1/service_services_pb.rb +112 -0
- metadata +133 -0
@@ -0,0 +1,40 @@
|
|
1
|
+
# Copyright 2018 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require "googleauth"
|
16
|
+
|
17
|
+
module Google
|
18
|
+
module Cloud
|
19
|
+
module Kms
|
20
|
+
module V1
|
21
|
+
class Credentials < Google::Auth::Credentials
|
22
|
+
SCOPE = [
|
23
|
+
"https://www.googleapis.com/auth/cloud-platform"
|
24
|
+
].freeze
|
25
|
+
PATH_ENV_VARS = %w(KMS_KEYFILE
|
26
|
+
KMS_CREDENTIALS
|
27
|
+
GOOGLE_CLOUD_CREDENTIALS
|
28
|
+
GOOGLE_CLOUD_KEYFILE
|
29
|
+
GCLOUD_KEYFILE)
|
30
|
+
JSON_ENV_VARS = %w(KMS_KEYFILE_JSON
|
31
|
+
KMS_CREDENTIALS_JSON
|
32
|
+
GOOGLE_CLOUD_CREDENTIALS_JSON
|
33
|
+
GOOGLE_CLOUD_KEYFILE_JSON
|
34
|
+
GCLOUD_KEYFILE_JSON)
|
35
|
+
DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,148 @@
|
|
1
|
+
# Copyright 2018 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Google
|
16
|
+
module Cloud
|
17
|
+
module Kms
|
18
|
+
module V1
|
19
|
+
# A {Google::Cloud::Kms::V1::KeyRing KeyRing} is a toplevel logical grouping of {Google::Cloud::Kms::V1::CryptoKey CryptoKeys}.
|
20
|
+
# @!attribute [rw] name
|
21
|
+
# @return [String]
|
22
|
+
# Output only. The resource name for the {Google::Cloud::Kms::V1::KeyRing KeyRing} in the format
|
23
|
+
# +projects/*/locations/*/keyRings/*+.
|
24
|
+
# @!attribute [rw] create_time
|
25
|
+
# @return [Google::Protobuf::Timestamp]
|
26
|
+
# Output only. The time at which this {Google::Cloud::Kms::V1::KeyRing KeyRing} was created.
|
27
|
+
class KeyRing; end
|
28
|
+
|
29
|
+
# A {Google::Cloud::Kms::V1::CryptoKey CryptoKey} represents a logical key that can be used for cryptographic
|
30
|
+
# operations.
|
31
|
+
#
|
32
|
+
# A {Google::Cloud::Kms::V1::CryptoKey CryptoKey} is made up of one or more {Google::Cloud::Kms::V1::CryptoKeyVersion versions}, which
|
33
|
+
# represent the actual key material used in cryptographic operations.
|
34
|
+
# @!attribute [rw] name
|
35
|
+
# @return [String]
|
36
|
+
# Output only. The resource name for this {Google::Cloud::Kms::V1::CryptoKey CryptoKey} in the format
|
37
|
+
# +projects/*/locations/*/keyRings/*/cryptoKeys/*+.
|
38
|
+
# @!attribute [rw] primary
|
39
|
+
# @return [Google::Cloud::Kms::V1::CryptoKeyVersion]
|
40
|
+
# Output only. A copy of the "primary" {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} that will be used
|
41
|
+
# by {Google::Cloud::Kms::V1::KeyManagementService::Encrypt Encrypt} when this {Google::Cloud::Kms::V1::CryptoKey CryptoKey} is given
|
42
|
+
# in {Google::Cloud::Kms::V1::EncryptRequest#name EncryptRequest#name}.
|
43
|
+
#
|
44
|
+
# The {Google::Cloud::Kms::V1::CryptoKey CryptoKey}'s primary version can be updated via
|
45
|
+
# {Google::Cloud::Kms::V1::KeyManagementService::UpdateCryptoKeyPrimaryVersion UpdateCryptoKeyPrimaryVersion}.
|
46
|
+
# @!attribute [rw] purpose
|
47
|
+
# @return [Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose]
|
48
|
+
# The immutable purpose of this {Google::Cloud::Kms::V1::CryptoKey CryptoKey}. Currently, the only acceptable
|
49
|
+
# purpose is {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT}.
|
50
|
+
# @!attribute [rw] create_time
|
51
|
+
# @return [Google::Protobuf::Timestamp]
|
52
|
+
# Output only. The time at which this {Google::Cloud::Kms::V1::CryptoKey CryptoKey} was created.
|
53
|
+
# @!attribute [rw] next_rotation_time
|
54
|
+
# @return [Google::Protobuf::Timestamp]
|
55
|
+
# At {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time}, the Key Management Service will automatically:
|
56
|
+
#
|
57
|
+
# 1. Create a new version of this {Google::Cloud::Kms::V1::CryptoKey CryptoKey}.
|
58
|
+
# 2. Mark the new version as primary.
|
59
|
+
#
|
60
|
+
# Key rotations performed manually via
|
61
|
+
# {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion CreateCryptoKeyVersion} and
|
62
|
+
# {Google::Cloud::Kms::V1::KeyManagementService::UpdateCryptoKeyPrimaryVersion UpdateCryptoKeyPrimaryVersion}
|
63
|
+
# do not affect {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time}.
|
64
|
+
# @!attribute [rw] rotation_period
|
65
|
+
# @return [Google::Protobuf::Duration]
|
66
|
+
# {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time} will be advanced by this period when the service
|
67
|
+
# automatically rotates a key. Must be at least one day.
|
68
|
+
#
|
69
|
+
# If {Google::Cloud::Kms::V1::CryptoKey#rotation_period rotation_period} is set, {Google::Cloud::Kms::V1::CryptoKey#next_rotation_time next_rotation_time} must also be set.
|
70
|
+
# @!attribute [rw] labels
|
71
|
+
# @return [Hash{String => String}]
|
72
|
+
# Labels with user-defined metadata. For more information, see
|
73
|
+
# [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
|
74
|
+
class CryptoKey
|
75
|
+
# {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose CryptoKeyPurpose} describes the capabilities of a {Google::Cloud::Kms::V1::CryptoKey CryptoKey}. Two
|
76
|
+
# keys with the same purpose may use different underlying algorithms, but
|
77
|
+
# must support the same set of operations.
|
78
|
+
module CryptoKeyPurpose
|
79
|
+
# Not specified.
|
80
|
+
CRYPTO_KEY_PURPOSE_UNSPECIFIED = 0
|
81
|
+
|
82
|
+
# {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with this purpose may be used with
|
83
|
+
# {Google::Cloud::Kms::V1::KeyManagementService::Encrypt Encrypt} and
|
84
|
+
# {Google::Cloud::Kms::V1::KeyManagementService::Decrypt Decrypt}.
|
85
|
+
ENCRYPT_DECRYPT = 1
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
# A {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} represents an individual cryptographic key, and the
|
90
|
+
# associated key material.
|
91
|
+
#
|
92
|
+
# It can be used for cryptographic operations either directly, or via its
|
93
|
+
# parent {Google::Cloud::Kms::V1::CryptoKey CryptoKey}, in which case the server will choose the appropriate
|
94
|
+
# version for the operation.
|
95
|
+
#
|
96
|
+
# For security reasons, the raw cryptographic key material represented by a
|
97
|
+
# {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} can never be viewed or exported. It can only be used to
|
98
|
+
# encrypt or decrypt data when an authorized user or application invokes Cloud
|
99
|
+
# KMS.
|
100
|
+
# @!attribute [rw] name
|
101
|
+
# @return [String]
|
102
|
+
# Output only. The resource name for this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} in the format
|
103
|
+
# +projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*+.
|
104
|
+
# @!attribute [rw] state
|
105
|
+
# @return [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState]
|
106
|
+
# The current state of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}.
|
107
|
+
# @!attribute [rw] create_time
|
108
|
+
# @return [Google::Protobuf::Timestamp]
|
109
|
+
# Output only. The time at which this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} was created.
|
110
|
+
# @!attribute [rw] destroy_time
|
111
|
+
# @return [Google::Protobuf::Timestamp]
|
112
|
+
# Output only. The time this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}'s key material is scheduled
|
113
|
+
# for destruction. Only present if {Google::Cloud::Kms::V1::CryptoKeyVersion#state state} is
|
114
|
+
# {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::DESTROY_SCHEDULED DESTROY_SCHEDULED}.
|
115
|
+
# @!attribute [rw] destroy_event_time
|
116
|
+
# @return [Google::Protobuf::Timestamp]
|
117
|
+
# Output only. The time this CryptoKeyVersion's key material was
|
118
|
+
# destroyed. Only present if {Google::Cloud::Kms::V1::CryptoKeyVersion#state state} is
|
119
|
+
# {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::DESTROYED DESTROYED}.
|
120
|
+
class CryptoKeyVersion
|
121
|
+
# The state of a {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}, indicating if it can be used.
|
122
|
+
module CryptoKeyVersionState
|
123
|
+
# Not specified.
|
124
|
+
CRYPTO_KEY_VERSION_STATE_UNSPECIFIED = 0
|
125
|
+
|
126
|
+
# This version may be used in {Google::Cloud::Kms::V1::KeyManagementService::Encrypt Encrypt} and
|
127
|
+
# {Google::Cloud::Kms::V1::KeyManagementService::Decrypt Decrypt} requests.
|
128
|
+
ENABLED = 1
|
129
|
+
|
130
|
+
# This version may not be used, but the key material is still available,
|
131
|
+
# and the version can be placed back into the {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::ENABLED ENABLED} state.
|
132
|
+
DISABLED = 2
|
133
|
+
|
134
|
+
# This version is destroyed, and the key material is no longer stored.
|
135
|
+
# A version may not leave this state once entered.
|
136
|
+
DESTROYED = 3
|
137
|
+
|
138
|
+
# This version is scheduled for destruction, and will be destroyed soon.
|
139
|
+
# Call
|
140
|
+
# {Google::Cloud::Kms::V1::KeyManagementService::RestoreCryptoKeyVersion RestoreCryptoKeyVersion}
|
141
|
+
# to put it back into the {Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::DISABLED DISABLED} state.
|
142
|
+
DESTROY_SCHEDULED = 4
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
@@ -0,0 +1,268 @@
|
|
1
|
+
# Copyright 2018 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Google
|
16
|
+
module Cloud
|
17
|
+
module Kms
|
18
|
+
##
|
19
|
+
# # Google Cloud Key Management Service (KMS) API Contents
|
20
|
+
#
|
21
|
+
# | Class | Description |
|
22
|
+
# | ----- | ----------- |
|
23
|
+
# | [KeyManagementServiceClient][] | Google Cloud Key Management Service |
|
24
|
+
# | [Data Types][] | Data types for Google::Cloud::Kms::V1 |
|
25
|
+
#
|
26
|
+
# [KeyManagementServiceClient]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-kms/latest/google/cloud/kms/v1/keymanagementserviceclient
|
27
|
+
# [Data Types]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-kms/latest/google/cloud/kms/v1/datatypes
|
28
|
+
#
|
29
|
+
module V1
|
30
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::ListKeyRings KeyManagementService::ListKeyRings}.
|
31
|
+
# @!attribute [rw] parent
|
32
|
+
# @return [String]
|
33
|
+
# Required. The resource name of the location associated with the
|
34
|
+
# {Google::Cloud::Kms::V1::KeyRing KeyRings}, in the format +projects/*/locations/*+.
|
35
|
+
# @!attribute [rw] page_size
|
36
|
+
# @return [Integer]
|
37
|
+
# Optional limit on the number of {Google::Cloud::Kms::V1::KeyRing KeyRings} to include in the
|
38
|
+
# response. Further {Google::Cloud::Kms::V1::KeyRing KeyRings} can subsequently be obtained by
|
39
|
+
# including the {Google::Cloud::Kms::V1::ListKeyRingsResponse#next_page_token ListKeyRingsResponse#next_page_token} in a subsequent
|
40
|
+
# request. If unspecified, the server will pick an appropriate default.
|
41
|
+
# @!attribute [rw] page_token
|
42
|
+
# @return [String]
|
43
|
+
# Optional pagination token, returned earlier via
|
44
|
+
# {Google::Cloud::Kms::V1::ListKeyRingsResponse#next_page_token ListKeyRingsResponse#next_page_token}.
|
45
|
+
class ListKeyRingsRequest; end
|
46
|
+
|
47
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::ListCryptoKeys KeyManagementService::ListCryptoKeys}.
|
48
|
+
# @!attribute [rw] parent
|
49
|
+
# @return [String]
|
50
|
+
# Required. The resource name of the {Google::Cloud::Kms::V1::KeyRing KeyRing} to list, in the format
|
51
|
+
# +projects/*/locations/*/keyRings/*+.
|
52
|
+
# @!attribute [rw] page_size
|
53
|
+
# @return [Integer]
|
54
|
+
# Optional limit on the number of {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} to include in the
|
55
|
+
# response. Further {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} can subsequently be obtained by
|
56
|
+
# including the {Google::Cloud::Kms::V1::ListCryptoKeysResponse#next_page_token ListCryptoKeysResponse#next_page_token} in a subsequent
|
57
|
+
# request. If unspecified, the server will pick an appropriate default.
|
58
|
+
# @!attribute [rw] page_token
|
59
|
+
# @return [String]
|
60
|
+
# Optional pagination token, returned earlier via
|
61
|
+
# {Google::Cloud::Kms::V1::ListCryptoKeysResponse#next_page_token ListCryptoKeysResponse#next_page_token}.
|
62
|
+
class ListCryptoKeysRequest; end
|
63
|
+
|
64
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::ListCryptoKeyVersions KeyManagementService::ListCryptoKeyVersions}.
|
65
|
+
# @!attribute [rw] parent
|
66
|
+
# @return [String]
|
67
|
+
# Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} to list, in the format
|
68
|
+
# +projects/*/locations/*/keyRings/*/cryptoKeys/*+.
|
69
|
+
# @!attribute [rw] page_size
|
70
|
+
# @return [Integer]
|
71
|
+
# Optional limit on the number of {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions} to
|
72
|
+
# include in the response. Further {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions} can
|
73
|
+
# subsequently be obtained by including the
|
74
|
+
# {Google::Cloud::Kms::V1::ListCryptoKeyVersionsResponse#next_page_token ListCryptoKeyVersionsResponse#next_page_token} in a subsequent request.
|
75
|
+
# If unspecified, the server will pick an appropriate default.
|
76
|
+
# @!attribute [rw] page_token
|
77
|
+
# @return [String]
|
78
|
+
# Optional pagination token, returned earlier via
|
79
|
+
# {Google::Cloud::Kms::V1::ListCryptoKeyVersionsResponse#next_page_token ListCryptoKeyVersionsResponse#next_page_token}.
|
80
|
+
class ListCryptoKeyVersionsRequest; end
|
81
|
+
|
82
|
+
# Response message for {Google::Cloud::Kms::V1::KeyManagementService::ListKeyRings KeyManagementService::ListKeyRings}.
|
83
|
+
# @!attribute [rw] key_rings
|
84
|
+
# @return [Array<Google::Cloud::Kms::V1::KeyRing>]
|
85
|
+
# The list of {Google::Cloud::Kms::V1::KeyRing KeyRings}.
|
86
|
+
# @!attribute [rw] next_page_token
|
87
|
+
# @return [String]
|
88
|
+
# A token to retrieve next page of results. Pass this value in
|
89
|
+
# {Google::Cloud::Kms::V1::ListKeyRingsRequest#page_token ListKeyRingsRequest#page_token} to retrieve the next page of results.
|
90
|
+
# @!attribute [rw] total_size
|
91
|
+
# @return [Integer]
|
92
|
+
# The total number of {Google::Cloud::Kms::V1::KeyRing KeyRings} that matched the query.
|
93
|
+
class ListKeyRingsResponse; end
|
94
|
+
|
95
|
+
# Response message for {Google::Cloud::Kms::V1::KeyManagementService::ListCryptoKeys KeyManagementService::ListCryptoKeys}.
|
96
|
+
# @!attribute [rw] crypto_keys
|
97
|
+
# @return [Array<Google::Cloud::Kms::V1::CryptoKey>]
|
98
|
+
# The list of {Google::Cloud::Kms::V1::CryptoKey CryptoKeys}.
|
99
|
+
# @!attribute [rw] next_page_token
|
100
|
+
# @return [String]
|
101
|
+
# A token to retrieve next page of results. Pass this value in
|
102
|
+
# {Google::Cloud::Kms::V1::ListCryptoKeysRequest#page_token ListCryptoKeysRequest#page_token} to retrieve the next page of results.
|
103
|
+
# @!attribute [rw] total_size
|
104
|
+
# @return [Integer]
|
105
|
+
# The total number of {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} that matched the query.
|
106
|
+
class ListCryptoKeysResponse; end
|
107
|
+
|
108
|
+
# Response message for {Google::Cloud::Kms::V1::KeyManagementService::ListCryptoKeyVersions KeyManagementService::ListCryptoKeyVersions}.
|
109
|
+
# @!attribute [rw] crypto_key_versions
|
110
|
+
# @return [Array<Google::Cloud::Kms::V1::CryptoKeyVersion>]
|
111
|
+
# The list of {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions}.
|
112
|
+
# @!attribute [rw] next_page_token
|
113
|
+
# @return [String]
|
114
|
+
# A token to retrieve next page of results. Pass this value in
|
115
|
+
# {Google::Cloud::Kms::V1::ListCryptoKeyVersionsRequest#page_token ListCryptoKeyVersionsRequest#page_token} to retrieve the next page of
|
116
|
+
# results.
|
117
|
+
# @!attribute [rw] total_size
|
118
|
+
# @return [Integer]
|
119
|
+
# The total number of {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions} that matched the
|
120
|
+
# query.
|
121
|
+
class ListCryptoKeyVersionsResponse; end
|
122
|
+
|
123
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::GetKeyRing KeyManagementService::GetKeyRing}.
|
124
|
+
# @!attribute [rw] name
|
125
|
+
# @return [String]
|
126
|
+
# The {Google::Cloud::Kms::V1::KeyRing#name name} of the {Google::Cloud::Kms::V1::KeyRing KeyRing} to get.
|
127
|
+
class GetKeyRingRequest; end
|
128
|
+
|
129
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::GetCryptoKey KeyManagementService::GetCryptoKey}.
|
130
|
+
# @!attribute [rw] name
|
131
|
+
# @return [String]
|
132
|
+
# The {Google::Cloud::Kms::V1::CryptoKey#name name} of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} to get.
|
133
|
+
class GetCryptoKeyRequest; end
|
134
|
+
|
135
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::GetCryptoKeyVersion KeyManagementService::GetCryptoKeyVersion}.
|
136
|
+
# @!attribute [rw] name
|
137
|
+
# @return [String]
|
138
|
+
# The {Google::Cloud::Kms::V1::CryptoKeyVersion#name name} of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to get.
|
139
|
+
class GetCryptoKeyVersionRequest; end
|
140
|
+
|
141
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::CreateKeyRing KeyManagementService::CreateKeyRing}.
|
142
|
+
# @!attribute [rw] parent
|
143
|
+
# @return [String]
|
144
|
+
# Required. The resource name of the location associated with the
|
145
|
+
# {Google::Cloud::Kms::V1::KeyRing KeyRings}, in the format +projects/*/locations/*+.
|
146
|
+
# @!attribute [rw] key_ring_id
|
147
|
+
# @return [String]
|
148
|
+
# Required. It must be unique within a location and match the regular
|
149
|
+
# expression +[a-zA-Z0-9_-]{1,63}+
|
150
|
+
# @!attribute [rw] key_ring
|
151
|
+
# @return [Google::Cloud::Kms::V1::KeyRing]
|
152
|
+
# A {Google::Cloud::Kms::V1::KeyRing KeyRing} with initial field values.
|
153
|
+
class CreateKeyRingRequest; end
|
154
|
+
|
155
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKey KeyManagementService::CreateCryptoKey}.
|
156
|
+
# @!attribute [rw] parent
|
157
|
+
# @return [String]
|
158
|
+
# Required. The {Google::Cloud::Kms::V1::KeyRing#name name} of the KeyRing associated with the
|
159
|
+
# {Google::Cloud::Kms::V1::CryptoKey CryptoKeys}.
|
160
|
+
# @!attribute [rw] crypto_key_id
|
161
|
+
# @return [String]
|
162
|
+
# Required. It must be unique within a KeyRing and match the regular
|
163
|
+
# expression +[a-zA-Z0-9_-]{1,63}+
|
164
|
+
# @!attribute [rw] crypto_key
|
165
|
+
# @return [Google::Cloud::Kms::V1::CryptoKey]
|
166
|
+
# A {Google::Cloud::Kms::V1::CryptoKey CryptoKey} with initial field values.
|
167
|
+
class CreateCryptoKeyRequest; end
|
168
|
+
|
169
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::CreateCryptoKeyVersion KeyManagementService::CreateCryptoKeyVersion}.
|
170
|
+
# @!attribute [rw] parent
|
171
|
+
# @return [String]
|
172
|
+
# Required. The {Google::Cloud::Kms::V1::CryptoKey#name name} of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} associated with
|
173
|
+
# the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions}.
|
174
|
+
# @!attribute [rw] crypto_key_version
|
175
|
+
# @return [Google::Cloud::Kms::V1::CryptoKeyVersion]
|
176
|
+
# A {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} with initial field values.
|
177
|
+
class CreateCryptoKeyVersionRequest; end
|
178
|
+
|
179
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::UpdateCryptoKey KeyManagementService::UpdateCryptoKey}.
|
180
|
+
# @!attribute [rw] crypto_key
|
181
|
+
# @return [Google::Cloud::Kms::V1::CryptoKey]
|
182
|
+
# {Google::Cloud::Kms::V1::CryptoKey CryptoKey} with updated values.
|
183
|
+
# @!attribute [rw] update_mask
|
184
|
+
# @return [Google::Protobuf::FieldMask]
|
185
|
+
# Required list of fields to be updated in this request.
|
186
|
+
class UpdateCryptoKeyRequest; end
|
187
|
+
|
188
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::UpdateCryptoKeyVersion KeyManagementService::UpdateCryptoKeyVersion}.
|
189
|
+
# @!attribute [rw] crypto_key_version
|
190
|
+
# @return [Google::Cloud::Kms::V1::CryptoKeyVersion]
|
191
|
+
# {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} with updated values.
|
192
|
+
# @!attribute [rw] update_mask
|
193
|
+
# @return [Google::Protobuf::FieldMask]
|
194
|
+
# Required list of fields to be updated in this request.
|
195
|
+
class UpdateCryptoKeyVersionRequest; end
|
196
|
+
|
197
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::Encrypt KeyManagementService::Encrypt}.
|
198
|
+
# @!attribute [rw] name
|
199
|
+
# @return [String]
|
200
|
+
# Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} or {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
|
201
|
+
# to use for encryption.
|
202
|
+
#
|
203
|
+
# If a {Google::Cloud::Kms::V1::CryptoKey CryptoKey} is specified, the server will use its
|
204
|
+
# {Google::Cloud::Kms::V1::CryptoKey#primary primary version}.
|
205
|
+
# @!attribute [rw] plaintext
|
206
|
+
# @return [String]
|
207
|
+
# Required. The data to encrypt. Must be no larger than 64KiB.
|
208
|
+
# @!attribute [rw] additional_authenticated_data
|
209
|
+
# @return [String]
|
210
|
+
# Optional data that, if specified, must also be provided during decryption
|
211
|
+
# through {Google::Cloud::Kms::V1::DecryptRequest#additional_authenticated_data DecryptRequest#additional_authenticated_data}. Must be no
|
212
|
+
# larger than 64KiB.
|
213
|
+
class EncryptRequest; end
|
214
|
+
|
215
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::Decrypt KeyManagementService::Decrypt}.
|
216
|
+
# @!attribute [rw] name
|
217
|
+
# @return [String]
|
218
|
+
# Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} to use for decryption.
|
219
|
+
# The server will choose the appropriate version.
|
220
|
+
# @!attribute [rw] ciphertext
|
221
|
+
# @return [String]
|
222
|
+
# Required. The encrypted data originally returned in
|
223
|
+
# {Google::Cloud::Kms::V1::EncryptResponse#ciphertext EncryptResponse#ciphertext}.
|
224
|
+
# @!attribute [rw] additional_authenticated_data
|
225
|
+
# @return [String]
|
226
|
+
# Optional data that must match the data originally supplied in
|
227
|
+
# {Google::Cloud::Kms::V1::EncryptRequest#additional_authenticated_data EncryptRequest#additional_authenticated_data}.
|
228
|
+
class DecryptRequest; end
|
229
|
+
|
230
|
+
# Response message for {Google::Cloud::Kms::V1::KeyManagementService::Decrypt KeyManagementService::Decrypt}.
|
231
|
+
# @!attribute [rw] plaintext
|
232
|
+
# @return [String]
|
233
|
+
# The decrypted data originally supplied in {Google::Cloud::Kms::V1::EncryptRequest#plaintext EncryptRequest#plaintext}.
|
234
|
+
class DecryptResponse; end
|
235
|
+
|
236
|
+
# Response message for {Google::Cloud::Kms::V1::KeyManagementService::Encrypt KeyManagementService::Encrypt}.
|
237
|
+
# @!attribute [rw] name
|
238
|
+
# @return [String]
|
239
|
+
# The resource name of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} used in encryption.
|
240
|
+
# @!attribute [rw] ciphertext
|
241
|
+
# @return [String]
|
242
|
+
# The encrypted data.
|
243
|
+
class EncryptResponse; end
|
244
|
+
|
245
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::UpdateCryptoKeyPrimaryVersion KeyManagementService::UpdateCryptoKeyPrimaryVersion}.
|
246
|
+
# @!attribute [rw] name
|
247
|
+
# @return [String]
|
248
|
+
# The resource name of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} to update.
|
249
|
+
# @!attribute [rw] crypto_key_version_id
|
250
|
+
# @return [String]
|
251
|
+
# The id of the child {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to use as primary.
|
252
|
+
class UpdateCryptoKeyPrimaryVersionRequest; end
|
253
|
+
|
254
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::DestroyCryptoKeyVersion KeyManagementService::DestroyCryptoKeyVersion}.
|
255
|
+
# @!attribute [rw] name
|
256
|
+
# @return [String]
|
257
|
+
# The resource name of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to destroy.
|
258
|
+
class DestroyCryptoKeyVersionRequest; end
|
259
|
+
|
260
|
+
# Request message for {Google::Cloud::Kms::V1::KeyManagementService::RestoreCryptoKeyVersion KeyManagementService::RestoreCryptoKeyVersion}.
|
261
|
+
# @!attribute [rw] name
|
262
|
+
# @return [String]
|
263
|
+
# The resource name of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to restore.
|
264
|
+
class RestoreCryptoKeyVersionRequest; end
|
265
|
+
end
|
266
|
+
end
|
267
|
+
end
|
268
|
+
end
|