google-cloud-kms-v1 0.10.2 → 0.13.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,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "googleauth"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Kms
24
+ module V1
25
+ module EkmService
26
+ # Credentials for the EkmService API.
27
+ class Credentials < ::Google::Auth::Credentials
28
+ self.scope = [
29
+ "https://www.googleapis.com/auth/cloud-platform",
30
+ "https://www.googleapis.com/auth/cloudkms"
31
+ ]
32
+ self.env_vars = [
33
+ "KMS_CREDENTIALS",
34
+ "KMS_KEYFILE",
35
+ "GOOGLE_CLOUD_CREDENTIALS",
36
+ "GOOGLE_CLOUD_KEYFILE",
37
+ "GCLOUD_KEYFILE",
38
+ "KMS_CREDENTIALS_JSON",
39
+ "KMS_KEYFILE_JSON",
40
+ "GOOGLE_CLOUD_CREDENTIALS_JSON",
41
+ "GOOGLE_CLOUD_KEYFILE_JSON",
42
+ "GCLOUD_KEYFILE_JSON"
43
+ ]
44
+ self.paths = [
45
+ "~/.config/google_cloud/application_default_credentials.json"
46
+ ]
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,90 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Kms
23
+ module V1
24
+ module EkmService
25
+ # Path helper methods for the EkmService API.
26
+ module Paths
27
+ ##
28
+ # Create a fully-qualified EkmConnection resource string.
29
+ #
30
+ # The resource will be in the following format:
31
+ #
32
+ # `projects/{project}/locations/{location}/ekmConnections/{ekm_connection}`
33
+ #
34
+ # @param project [String]
35
+ # @param location [String]
36
+ # @param ekm_connection [String]
37
+ #
38
+ # @return [::String]
39
+ def ekm_connection_path project:, location:, ekm_connection:
40
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
41
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
42
+
43
+ "projects/#{project}/locations/#{location}/ekmConnections/#{ekm_connection}"
44
+ end
45
+
46
+ ##
47
+ # Create a fully-qualified Location resource string.
48
+ #
49
+ # The resource will be in the following format:
50
+ #
51
+ # `projects/{project}/locations/{location}`
52
+ #
53
+ # @param project [String]
54
+ # @param location [String]
55
+ #
56
+ # @return [::String]
57
+ def location_path project:, location:
58
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
59
+
60
+ "projects/#{project}/locations/#{location}"
61
+ end
62
+
63
+ ##
64
+ # Create a fully-qualified Service resource string.
65
+ #
66
+ # The resource will be in the following format:
67
+ #
68
+ # `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`
69
+ #
70
+ # @param project [String]
71
+ # @param location [String]
72
+ # @param namespace [String]
73
+ # @param service [String]
74
+ #
75
+ # @return [::String]
76
+ def service_path project:, location:, namespace:, service:
77
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
78
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
79
+ raise ::ArgumentError, "namespace cannot contain /" if namespace.to_s.include? "/"
80
+
81
+ "projects/#{project}/locations/#{location}/namespaces/#{namespace}/services/#{service}"
82
+ end
83
+
84
+ extend self
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/common"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/kms/v1/version"
24
+
25
+ require "google/cloud/kms/v1/ekm_service/credentials"
26
+ require "google/cloud/kms/v1/ekm_service/paths"
27
+ require "google/cloud/kms/v1/ekm_service/client"
28
+
29
+ module Google
30
+ module Cloud
31
+ module Kms
32
+ module V1
33
+ ##
34
+ # Google Cloud Key Management EKM Service
35
+ #
36
+ # Manages external cryptographic keys and operations using those keys.
37
+ # Implements a REST model with the following objects:
38
+ # * {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}
39
+ #
40
+ # To load this service and instantiate a client:
41
+ #
42
+ # require "google/cloud/kms/v1/ekm_service"
43
+ # client = ::Google::Cloud::Kms::V1::EkmService::Client.new
44
+ #
45
+ module EkmService
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+
52
+ helper_path = ::File.join __dir__, "ekm_service", "helpers.rb"
53
+ require "google/cloud/kms/v1/ekm_service/helpers" if ::File.file? helper_path
@@ -0,0 +1,80 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/kms/v1/ekm_service.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'google/api/annotations_pb'
7
+ require 'google/api/client_pb'
8
+ require 'google/api/field_behavior_pb'
9
+ require 'google/api/resource_pb'
10
+ require 'google/protobuf/field_mask_pb'
11
+ require 'google/protobuf/timestamp_pb'
12
+
13
+ Google::Protobuf::DescriptorPool.generated_pool.build do
14
+ add_file("google/cloud/kms/v1/ekm_service.proto", :syntax => :proto3) do
15
+ add_message "google.cloud.kms.v1.ListEkmConnectionsRequest" do
16
+ optional :parent, :string, 1
17
+ optional :page_size, :int32, 2
18
+ optional :page_token, :string, 3
19
+ optional :filter, :string, 4
20
+ optional :order_by, :string, 5
21
+ end
22
+ add_message "google.cloud.kms.v1.ListEkmConnectionsResponse" do
23
+ repeated :ekm_connections, :message, 1, "google.cloud.kms.v1.EkmConnection"
24
+ optional :next_page_token, :string, 2
25
+ optional :total_size, :int32, 3
26
+ end
27
+ add_message "google.cloud.kms.v1.GetEkmConnectionRequest" do
28
+ optional :name, :string, 1
29
+ end
30
+ add_message "google.cloud.kms.v1.CreateEkmConnectionRequest" do
31
+ optional :parent, :string, 1
32
+ optional :ekm_connection_id, :string, 2
33
+ optional :ekm_connection, :message, 3, "google.cloud.kms.v1.EkmConnection"
34
+ end
35
+ add_message "google.cloud.kms.v1.UpdateEkmConnectionRequest" do
36
+ optional :ekm_connection, :message, 1, "google.cloud.kms.v1.EkmConnection"
37
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
38
+ end
39
+ add_message "google.cloud.kms.v1.Certificate" do
40
+ optional :raw_der, :bytes, 1
41
+ optional :parsed, :bool, 2
42
+ optional :issuer, :string, 3
43
+ optional :subject, :string, 4
44
+ repeated :subject_alternative_dns_names, :string, 5
45
+ optional :not_before_time, :message, 6, "google.protobuf.Timestamp"
46
+ optional :not_after_time, :message, 7, "google.protobuf.Timestamp"
47
+ optional :serial_number, :string, 8
48
+ optional :sha256_fingerprint, :string, 9
49
+ end
50
+ add_message "google.cloud.kms.v1.EkmConnection" do
51
+ optional :name, :string, 1
52
+ optional :create_time, :message, 2, "google.protobuf.Timestamp"
53
+ repeated :service_resolvers, :message, 3, "google.cloud.kms.v1.EkmConnection.ServiceResolver"
54
+ optional :etag, :string, 5
55
+ end
56
+ add_message "google.cloud.kms.v1.EkmConnection.ServiceResolver" do
57
+ optional :service_directory_service, :string, 1
58
+ optional :endpoint_filter, :string, 2
59
+ optional :hostname, :string, 3
60
+ repeated :server_certificates, :message, 4, "google.cloud.kms.v1.Certificate"
61
+ end
62
+ end
63
+ end
64
+
65
+ module Google
66
+ module Cloud
67
+ module Kms
68
+ module V1
69
+ ListEkmConnectionsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.ListEkmConnectionsRequest").msgclass
70
+ ListEkmConnectionsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.ListEkmConnectionsResponse").msgclass
71
+ GetEkmConnectionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.GetEkmConnectionRequest").msgclass
72
+ CreateEkmConnectionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CreateEkmConnectionRequest").msgclass
73
+ UpdateEkmConnectionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.UpdateEkmConnectionRequest").msgclass
74
+ Certificate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.Certificate").msgclass
75
+ EkmConnection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.EkmConnection").msgclass
76
+ EkmConnection::ServiceResolver = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.EkmConnection.ServiceResolver").msgclass
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,57 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/kms/v1/ekm_service.proto for package 'google.cloud.kms.v1'
3
+ # Original file comments:
4
+ # Copyright 2021 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/cloud/kms/v1/ekm_service_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module Kms
25
+ module V1
26
+ module EkmService
27
+ # Google Cloud Key Management EKM Service
28
+ #
29
+ # Manages external cryptographic keys and operations using those keys.
30
+ # Implements a REST model with the following objects:
31
+ # * [EkmConnection][google.cloud.kms.v1.EkmConnection]
32
+ class Service
33
+
34
+ include ::GRPC::GenericService
35
+
36
+ self.marshal_class_method = :encode
37
+ self.unmarshal_class_method = :decode
38
+ self.service_name = 'google.cloud.kms.v1.EkmService'
39
+
40
+ # Lists [EkmConnections][google.cloud.kms.v1.EkmConnection].
41
+ rpc :ListEkmConnections, ::Google::Cloud::Kms::V1::ListEkmConnectionsRequest, ::Google::Cloud::Kms::V1::ListEkmConnectionsResponse
42
+ # Returns metadata for a given
43
+ # [EkmConnection][google.cloud.kms.v1.EkmConnection].
44
+ rpc :GetEkmConnection, ::Google::Cloud::Kms::V1::GetEkmConnectionRequest, ::Google::Cloud::Kms::V1::EkmConnection
45
+ # Creates a new [EkmConnection][google.cloud.kms.v1.EkmConnection] in a given
46
+ # Project and Location.
47
+ rpc :CreateEkmConnection, ::Google::Cloud::Kms::V1::CreateEkmConnectionRequest, ::Google::Cloud::Kms::V1::EkmConnection
48
+ # Updates an [EkmConnection][google.cloud.kms.v1.EkmConnection]'s metadata.
49
+ rpc :UpdateEkmConnection, ::Google::Cloud::Kms::V1::UpdateEkmConnectionRequest, ::Google::Cloud::Kms::V1::EkmConnection
50
+ end
51
+
52
+ Stub = Service.rpc_stub_class
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -27,7 +27,8 @@ module Google
27
27
  ##
28
28
  # Client for the IAMPolicy service.
29
29
  #
30
- # ## API Overview
30
+ # API Overview
31
+ #
31
32
  #
32
33
  # Manages Identity and Access Management (IAM) policies.
33
34
  #
@@ -170,6 +171,8 @@ module Google
170
171
  # Sets the access control policy on the specified resource. Replaces any
171
172
  # existing policy.
172
173
  #
174
+ # Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
175
+ #
173
176
  # @overload set_iam_policy(request, options = nil)
174
177
  # Pass arguments to `set_iam_policy` via a request object, either of type
175
178
  # {::Google::Iam::V1::SetIamPolicyRequest} or an equivalent Hash.
@@ -180,7 +183,7 @@ module Google
180
183
  # @param options [::Gapic::CallOptions, ::Hash]
181
184
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
182
185
  #
183
- # @overload set_iam_policy(resource: nil, policy: nil)
186
+ # @overload set_iam_policy(resource: nil, policy: nil, update_mask: nil)
184
187
  # Pass arguments to `set_iam_policy` via keyword arguments. Note that at
185
188
  # least one keyword argument is required. To specify no parameters, or to keep all
186
189
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -193,6 +196,12 @@ module Google
193
196
  # the policy is limited to a few 10s of KB. An empty policy is a
194
197
  # valid policy but certain Cloud Platform services (such as Projects)
195
198
  # might reject them.
199
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
200
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
201
+ # the fields in the mask will be modified. If no mask is provided, the
202
+ # following default mask is used:
203
+ #
204
+ # `paths: "bindings, etag"`
196
205
  #
197
206
  # @yield [response, operation] Access the result along with the RPC operation
198
207
  # @yieldparam response [::Google::Iam::V1::Policy]
@@ -283,7 +292,7 @@ module Google
283
292
  # See the operation documentation for the appropriate value for this field.
284
293
  # @param options [::Google::Iam::V1::GetPolicyOptions, ::Hash]
285
294
  # OPTIONAL: A `GetPolicyOptions` object for specifying options to
286
- # `GetIamPolicy`. This field is only used by Cloud IAM.
295
+ # `GetIamPolicy`.
287
296
  #
288
297
  # @yield [response, operation] Access the result along with the RPC operation
289
298
  # @yieldparam response [::Google::Iam::V1::Policy]
@@ -352,7 +361,7 @@ module Google
352
361
  ##
353
362
  # Returns permissions that a caller has on the specified resource.
354
363
  # If the resource does not exist, this will return an empty set of
355
- # permissions, not a NOT_FOUND error.
364
+ # permissions, not a `NOT_FOUND` error.
356
365
  #
357
366
  # Note: This operation is designed to be used for building permission-aware
358
367
  # UIs and command-line tools, not for authorization checking. This operation
@@ -30,7 +30,8 @@ module Google
30
30
  module Kms
31
31
  module V1
32
32
  ##
33
- # ## API Overview
33
+ # API Overview
34
+ #
34
35
  #
35
36
  # Manages Identity and Access Management (IAM) policies.
36
37
  #