google-cloud-kms-v1 0.10.1 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,79 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/kms/v1/ekm_service.proto
3
+
4
+ require 'google/api/annotations_pb'
5
+ require 'google/api/client_pb'
6
+ require 'google/api/field_behavior_pb'
7
+ require 'google/api/resource_pb'
8
+ require 'google/protobuf/field_mask_pb'
9
+ require 'google/protobuf/timestamp_pb'
10
+ require 'google/protobuf'
11
+
12
+ Google::Protobuf::DescriptorPool.generated_pool.build do
13
+ add_file("google/cloud/kms/v1/ekm_service.proto", :syntax => :proto3) do
14
+ add_message "google.cloud.kms.v1.ListEkmConnectionsRequest" do
15
+ optional :parent, :string, 1
16
+ optional :page_size, :int32, 2
17
+ optional :page_token, :string, 3
18
+ optional :filter, :string, 4
19
+ optional :order_by, :string, 5
20
+ end
21
+ add_message "google.cloud.kms.v1.ListEkmConnectionsResponse" do
22
+ repeated :ekm_connections, :message, 1, "google.cloud.kms.v1.EkmConnection"
23
+ optional :next_page_token, :string, 2
24
+ optional :total_size, :int32, 3
25
+ end
26
+ add_message "google.cloud.kms.v1.GetEkmConnectionRequest" do
27
+ optional :name, :string, 1
28
+ end
29
+ add_message "google.cloud.kms.v1.CreateEkmConnectionRequest" do
30
+ optional :parent, :string, 1
31
+ optional :ekm_connection_id, :string, 2
32
+ optional :ekm_connection, :message, 3, "google.cloud.kms.v1.EkmConnection"
33
+ end
34
+ add_message "google.cloud.kms.v1.UpdateEkmConnectionRequest" do
35
+ optional :ekm_connection, :message, 1, "google.cloud.kms.v1.EkmConnection"
36
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
37
+ end
38
+ add_message "google.cloud.kms.v1.Certificate" do
39
+ optional :raw_der, :bytes, 1
40
+ optional :parsed, :bool, 2
41
+ optional :issuer, :string, 3
42
+ optional :subject, :string, 4
43
+ repeated :subject_alternative_dns_names, :string, 5
44
+ optional :not_before_time, :message, 6, "google.protobuf.Timestamp"
45
+ optional :not_after_time, :message, 7, "google.protobuf.Timestamp"
46
+ optional :serial_number, :string, 8
47
+ optional :sha256_fingerprint, :string, 9
48
+ end
49
+ add_message "google.cloud.kms.v1.EkmConnection" do
50
+ optional :name, :string, 1
51
+ optional :create_time, :message, 2, "google.protobuf.Timestamp"
52
+ repeated :service_resolvers, :message, 3, "google.cloud.kms.v1.EkmConnection.ServiceResolver"
53
+ optional :etag, :string, 5
54
+ end
55
+ add_message "google.cloud.kms.v1.EkmConnection.ServiceResolver" do
56
+ optional :service_directory_service, :string, 1
57
+ optional :endpoint_filter, :string, 2
58
+ optional :hostname, :string, 3
59
+ repeated :server_certificates, :message, 4, "google.cloud.kms.v1.Certificate"
60
+ end
61
+ end
62
+ end
63
+
64
+ module Google
65
+ module Cloud
66
+ module Kms
67
+ module V1
68
+ ListEkmConnectionsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.ListEkmConnectionsRequest").msgclass
69
+ ListEkmConnectionsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.ListEkmConnectionsResponse").msgclass
70
+ GetEkmConnectionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.GetEkmConnectionRequest").msgclass
71
+ CreateEkmConnectionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CreateEkmConnectionRequest").msgclass
72
+ UpdateEkmConnectionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.UpdateEkmConnectionRequest").msgclass
73
+ Certificate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.Certificate").msgclass
74
+ EkmConnection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.EkmConnection").msgclass
75
+ EkmConnection::ServiceResolver = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.EkmConnection.ServiceResolver").msgclass
76
+ end
77
+ end
78
+ end
79
+ 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
  #