google-cloud-kms 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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