google-cloud-confidential_computing-v1 0.a → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/confidential_computing/v1/bindings_override.rb +102 -0
  6. data/lib/google/cloud/confidential_computing/v1/confidential_computing/client.rb +517 -0
  7. data/lib/google/cloud/confidential_computing/v1/confidential_computing/credentials.rb +47 -0
  8. data/lib/google/cloud/confidential_computing/v1/confidential_computing/paths.rb +69 -0
  9. data/lib/google/cloud/confidential_computing/v1/confidential_computing/rest/client.rb +459 -0
  10. data/lib/google/cloud/confidential_computing/v1/confidential_computing/rest/service_stub.rb +168 -0
  11. data/lib/google/cloud/confidential_computing/v1/confidential_computing/rest.rb +53 -0
  12. data/lib/google/cloud/confidential_computing/v1/confidential_computing.rb +55 -0
  13. data/lib/google/cloud/confidential_computing/v1/rest.rb +38 -0
  14. data/lib/google/cloud/confidential_computing/v1/version.rb +7 -2
  15. data/lib/google/cloud/confidential_computing/v1.rb +45 -0
  16. data/lib/google/cloud/confidentialcomputing/v1/service_pb.rb +66 -0
  17. data/lib/google/cloud/confidentialcomputing/v1/service_services_pb.rb +47 -0
  18. data/lib/google-cloud-confidential_computing-v1.rb +21 -0
  19. data/proto_docs/README.md +4 -0
  20. data/proto_docs/google/api/client.rb +372 -0
  21. data/proto_docs/google/api/field_behavior.rb +71 -0
  22. data/proto_docs/google/api/launch_stage.rb +71 -0
  23. data/proto_docs/google/api/resource.rb +222 -0
  24. data/proto_docs/google/cloud/confidentialcomputing/v1/service.rb +159 -0
  25. data/proto_docs/google/protobuf/any.rb +141 -0
  26. data/proto_docs/google/protobuf/duration.rb +98 -0
  27. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  28. metadata +202 -12
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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/confidential_computing/v1/version"
24
+
25
+ require "google/cloud/confidential_computing/v1/confidential_computing/credentials"
26
+ require "google/cloud/confidential_computing/v1/confidential_computing/paths"
27
+ require "google/cloud/confidential_computing/v1/confidential_computing/client"
28
+ require "google/cloud/confidential_computing/v1/confidential_computing/rest"
29
+
30
+ module Google
31
+ module Cloud
32
+ module ConfidentialComputing
33
+ module V1
34
+ ##
35
+ # Service describing handlers for resources
36
+ #
37
+ # @example Load this service and instantiate a gRPC client
38
+ #
39
+ # require "google/cloud/confidential_computing/v1/confidential_computing"
40
+ # client = ::Google::Cloud::ConfidentialComputing::V1::ConfidentialComputing::Client.new
41
+ #
42
+ # @example Load this service and instantiate a REST client
43
+ #
44
+ # require "google/cloud/confidential_computing/v1/confidential_computing/rest"
45
+ # client = ::Google::Cloud::ConfidentialComputing::V1::ConfidentialComputing::Rest::Client.new
46
+ #
47
+ module ConfidentialComputing
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+
54
+ helper_path = ::File.join __dir__, "confidential_computing", "helpers.rb"
55
+ require "google/cloud/confidential_computing/v1/confidential_computing/helpers" if ::File.file? helper_path
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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 "google/cloud/confidential_computing/v1/confidential_computing/rest"
20
+ require "google/cloud/confidential_computing/v1/bindings_override"
21
+ require "google/cloud/confidential_computing/v1/version"
22
+
23
+ module Google
24
+ module Cloud
25
+ module ConfidentialComputing
26
+ ##
27
+ # To load just the REST part of this package, including all its services, and instantiate a REST client:
28
+ #
29
+ # @example
30
+ #
31
+ # require "google/cloud/confidential_computing/v1/rest"
32
+ # client = ::Google::Cloud::ConfidentialComputing::V1::ConfidentialComputing::Rest::Client.new
33
+ #
34
+ module V1
35
+ end
36
+ end
37
+ end
38
+ end
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright 2023 Google LLC
2
4
  #
3
5
  # Licensed under the Apache License, Version 2.0 (the "License");
4
6
  # you may not use this file except in compliance with the License.
5
7
  # You may obtain a copy of the License at
6
8
  #
7
- # http://www.apache.org/licenses/LICENSE-2.0
9
+ # https://www.apache.org/licenses/LICENSE-2.0
8
10
  #
9
11
  # Unless required by applicable law or agreed to in writing, software
10
12
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -12,11 +14,14 @@
12
14
  # See the License for the specific language governing permissions and
13
15
  # limitations under the License.
14
16
 
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
15
20
  module Google
16
21
  module Cloud
17
22
  module ConfidentialComputing
18
23
  module V1
19
- VERSION = "0.a"
24
+ VERSION = "0.1.0"
20
25
  end
21
26
  end
22
27
  end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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 "google/cloud/confidential_computing/v1/confidential_computing"
20
+ require "google/cloud/confidential_computing/v1/version"
21
+
22
+ module Google
23
+ module Cloud
24
+ module ConfidentialComputing
25
+ ##
26
+ # API client module.
27
+ #
28
+ # @example Load this package, including all its services, and instantiate a gRPC client
29
+ #
30
+ # require "google/cloud/confidential_computing/v1"
31
+ # client = ::Google::Cloud::ConfidentialComputing::V1::ConfidentialComputing::Client.new
32
+ #
33
+ # @example Load this package, including all its services, and instantiate a REST client
34
+ #
35
+ # require "google/cloud/confidential_computing/v1"
36
+ # client = ::Google::Cloud::ConfidentialComputing::V1::ConfidentialComputing::Rest::Client.new
37
+ #
38
+ module V1
39
+ end
40
+ end
41
+ end
42
+ end
43
+
44
+ helper_path = ::File.join __dir__, "v1", "_helpers.rb"
45
+ require "google/cloud/confidential_computing/v1/_helpers" if ::File.file? helper_path
@@ -0,0 +1,66 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/confidentialcomputing/v1/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/timestamp_pb'
11
+
12
+ Google::Protobuf::DescriptorPool.generated_pool.build do
13
+ add_file("google/cloud/confidentialcomputing/v1/service.proto", :syntax => :proto3) do
14
+ add_message "google.cloud.confidentialcomputing.v1.Challenge" do
15
+ optional :name, :string, 1
16
+ optional :create_time, :message, 2, "google.protobuf.Timestamp"
17
+ optional :expire_time, :message, 3, "google.protobuf.Timestamp"
18
+ optional :used, :bool, 4
19
+ optional :tpm_nonce, :string, 6
20
+ end
21
+ add_message "google.cloud.confidentialcomputing.v1.CreateChallengeRequest" do
22
+ optional :parent, :string, 1
23
+ optional :challenge, :message, 2, "google.cloud.confidentialcomputing.v1.Challenge"
24
+ end
25
+ add_message "google.cloud.confidentialcomputing.v1.VerifyAttestationRequest" do
26
+ optional :challenge, :string, 1
27
+ optional :gcp_credentials, :message, 2, "google.cloud.confidentialcomputing.v1.GcpCredentials"
28
+ optional :tpm_attestation, :message, 3, "google.cloud.confidentialcomputing.v1.TpmAttestation"
29
+ end
30
+ add_message "google.cloud.confidentialcomputing.v1.VerifyAttestationResponse" do
31
+ optional :oidc_claims_token, :string, 2
32
+ end
33
+ add_message "google.cloud.confidentialcomputing.v1.GcpCredentials" do
34
+ repeated :service_account_id_tokens, :string, 2
35
+ end
36
+ add_message "google.cloud.confidentialcomputing.v1.TpmAttestation" do
37
+ repeated :quotes, :message, 1, "google.cloud.confidentialcomputing.v1.TpmAttestation.Quote"
38
+ optional :tcg_event_log, :bytes, 2
39
+ optional :canonical_event_log, :bytes, 3
40
+ optional :ak_cert, :bytes, 4
41
+ repeated :cert_chain, :bytes, 5
42
+ end
43
+ add_message "google.cloud.confidentialcomputing.v1.TpmAttestation.Quote" do
44
+ optional :hash_algo, :int32, 1
45
+ map :pcr_values, :int32, :bytes, 2
46
+ optional :raw_quote, :bytes, 3
47
+ optional :raw_signature, :bytes, 4
48
+ end
49
+ end
50
+ end
51
+
52
+ module Google
53
+ module Cloud
54
+ module ConfidentialComputing
55
+ module V1
56
+ Challenge = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.Challenge").msgclass
57
+ CreateChallengeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.CreateChallengeRequest").msgclass
58
+ VerifyAttestationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyAttestationRequest").msgclass
59
+ VerifyAttestationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyAttestationResponse").msgclass
60
+ GcpCredentials = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.GcpCredentials").msgclass
61
+ TpmAttestation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TpmAttestation").msgclass
62
+ TpmAttestation::Quote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TpmAttestation.Quote").msgclass
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,47 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/confidentialcomputing/v1/service.proto for package 'Google.Cloud.ConfidentialComputing.V1'
3
+ # Original file comments:
4
+ # Copyright 2023 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/confidentialcomputing/v1/service_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module ConfidentialComputing
25
+ module V1
26
+ module ConfidentialComputing
27
+ # Service describing handlers for resources
28
+ class Service
29
+
30
+ include ::GRPC::GenericService
31
+
32
+ self.marshal_class_method = :encode
33
+ self.unmarshal_class_method = :decode
34
+ self.service_name = 'google.cloud.confidentialcomputing.v1.ConfidentialComputing'
35
+
36
+ # Creates a new Challenge in a given project and location.
37
+ rpc :CreateChallenge, ::Google::Cloud::ConfidentialComputing::V1::CreateChallengeRequest, ::Google::Cloud::ConfidentialComputing::V1::Challenge
38
+ # Verifies the provided attestation info, returning a signed OIDC token.
39
+ rpc :VerifyAttestation, ::Google::Cloud::ConfidentialComputing::V1::VerifyAttestationRequest, ::Google::Cloud::ConfidentialComputing::V1::VerifyAttestationResponse
40
+ end
41
+
42
+ Stub = Service.rpc_stub_class
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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
+ # This gem does not autoload during Bundler.require. To load this gem,
20
+ # issue explicit require statements for the packages desired, e.g.:
21
+ # require "google/cloud/confidential_computing/v1"
@@ -0,0 +1,4 @@
1
+ # Confidential Computing V1 Protocol Buffer Documentation
2
+
3
+ These files are for the YARD documentation of the generated protobuf files.
4
+ They are not intended to be required or loaded at runtime.
@@ -0,0 +1,372 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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 Api
22
+ # Required information for every language.
23
+ # @!attribute [rw] reference_docs_uri
24
+ # @return [::String]
25
+ # Link to automatically generated reference documentation. Example:
26
+ # https://cloud.google.com/nodejs/docs/reference/asset/latest
27
+ # @!attribute [rw] destinations
28
+ # @return [::Array<::Google::Api::ClientLibraryDestination>]
29
+ # The destination where API teams want this client library to be published.
30
+ class CommonLanguageSettings
31
+ include ::Google::Protobuf::MessageExts
32
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33
+ end
34
+
35
+ # Details about how and where to publish client libraries.
36
+ # @!attribute [rw] version
37
+ # @return [::String]
38
+ # Version of the API to apply these settings to. This is the full protobuf
39
+ # package for the API, ending in the version element.
40
+ # Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1".
41
+ # @!attribute [rw] launch_stage
42
+ # @return [::Google::Api::LaunchStage]
43
+ # Launch stage of this version of the API.
44
+ # @!attribute [rw] rest_numeric_enums
45
+ # @return [::Boolean]
46
+ # When using transport=rest, the client request will encode enums as
47
+ # numbers rather than strings.
48
+ # @!attribute [rw] java_settings
49
+ # @return [::Google::Api::JavaSettings]
50
+ # Settings for legacy Java features, supported in the Service YAML.
51
+ # @!attribute [rw] cpp_settings
52
+ # @return [::Google::Api::CppSettings]
53
+ # Settings for C++ client libraries.
54
+ # @!attribute [rw] php_settings
55
+ # @return [::Google::Api::PhpSettings]
56
+ # Settings for PHP client libraries.
57
+ # @!attribute [rw] python_settings
58
+ # @return [::Google::Api::PythonSettings]
59
+ # Settings for Python client libraries.
60
+ # @!attribute [rw] node_settings
61
+ # @return [::Google::Api::NodeSettings]
62
+ # Settings for Node client libraries.
63
+ # @!attribute [rw] dotnet_settings
64
+ # @return [::Google::Api::DotnetSettings]
65
+ # Settings for .NET client libraries.
66
+ # @!attribute [rw] ruby_settings
67
+ # @return [::Google::Api::RubySettings]
68
+ # Settings for Ruby client libraries.
69
+ # @!attribute [rw] go_settings
70
+ # @return [::Google::Api::GoSettings]
71
+ # Settings for Go client libraries.
72
+ class ClientLibrarySettings
73
+ include ::Google::Protobuf::MessageExts
74
+ extend ::Google::Protobuf::MessageExts::ClassMethods
75
+ end
76
+
77
+ # This message configures the settings for publishing [Google Cloud Client
78
+ # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
79
+ # generated from the service config.
80
+ # @!attribute [rw] method_settings
81
+ # @return [::Array<::Google::Api::MethodSettings>]
82
+ # A list of API method settings, e.g. the behavior for methods that use the
83
+ # long-running operation pattern.
84
+ # @!attribute [rw] new_issue_uri
85
+ # @return [::String]
86
+ # Link to a place that API users can report issues. Example:
87
+ # https://issuetracker.google.com/issues/new?component=190865&template=1161103
88
+ # @!attribute [rw] documentation_uri
89
+ # @return [::String]
90
+ # Link to product home page. Example:
91
+ # https://cloud.google.com/asset-inventory/docs/overview
92
+ # @!attribute [rw] api_short_name
93
+ # @return [::String]
94
+ # Used as a tracking tag when collecting data about the APIs developer
95
+ # relations artifacts like docs, packages delivered to package managers,
96
+ # etc. Example: "speech".
97
+ # @!attribute [rw] github_label
98
+ # @return [::String]
99
+ # GitHub label to apply to issues and pull requests opened for this API.
100
+ # @!attribute [rw] codeowner_github_teams
101
+ # @return [::Array<::String>]
102
+ # GitHub teams to be added to CODEOWNERS in the directory in GitHub
103
+ # containing source code for the client libraries for this API.
104
+ # @!attribute [rw] doc_tag_prefix
105
+ # @return [::String]
106
+ # A prefix used in sample code when demarking regions to be included in
107
+ # documentation.
108
+ # @!attribute [rw] organization
109
+ # @return [::Google::Api::ClientLibraryOrganization]
110
+ # For whom the client library is being published.
111
+ # @!attribute [rw] library_settings
112
+ # @return [::Array<::Google::Api::ClientLibrarySettings>]
113
+ # Client library settings. If the same version string appears multiple
114
+ # times in this list, then the last one wins. Settings from earlier
115
+ # settings with the same version string are discarded.
116
+ # @!attribute [rw] proto_reference_documentation_uri
117
+ # @return [::String]
118
+ # Optional link to proto reference documentation. Example:
119
+ # https://cloud.google.com/pubsub/lite/docs/reference/rpc
120
+ class Publishing
121
+ include ::Google::Protobuf::MessageExts
122
+ extend ::Google::Protobuf::MessageExts::ClassMethods
123
+ end
124
+
125
+ # Settings for Java client libraries.
126
+ # @!attribute [rw] library_package
127
+ # @return [::String]
128
+ # The package name to use in Java. Clobbers the java_package option
129
+ # set in the protobuf. This should be used **only** by APIs
130
+ # who have already set the language_settings.java.package_name" field
131
+ # in gapic.yaml. API teams should use the protobuf java_package option
132
+ # where possible.
133
+ #
134
+ # Example of a YAML configuration::
135
+ #
136
+ # publishing:
137
+ # java_settings:
138
+ # library_package: com.google.cloud.pubsub.v1
139
+ # @!attribute [rw] service_class_names
140
+ # @return [::Google::Protobuf::Map{::String => ::String}]
141
+ # Configure the Java class name to use instead of the service's for its
142
+ # corresponding generated GAPIC client. Keys are fully-qualified
143
+ # service names as they appear in the protobuf (including the full
144
+ # the language_settings.java.interface_names" field in gapic.yaml. API
145
+ # teams should otherwise use the service name as it appears in the
146
+ # protobuf.
147
+ #
148
+ # Example of a YAML configuration::
149
+ #
150
+ # publishing:
151
+ # java_settings:
152
+ # service_class_names:
153
+ # - google.pubsub.v1.Publisher: TopicAdmin
154
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
155
+ # @!attribute [rw] common
156
+ # @return [::Google::Api::CommonLanguageSettings]
157
+ # Some settings.
158
+ class JavaSettings
159
+ include ::Google::Protobuf::MessageExts
160
+ extend ::Google::Protobuf::MessageExts::ClassMethods
161
+
162
+ # @!attribute [rw] key
163
+ # @return [::String]
164
+ # @!attribute [rw] value
165
+ # @return [::String]
166
+ class ServiceClassNamesEntry
167
+ include ::Google::Protobuf::MessageExts
168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
169
+ end
170
+ end
171
+
172
+ # Settings for C++ client libraries.
173
+ # @!attribute [rw] common
174
+ # @return [::Google::Api::CommonLanguageSettings]
175
+ # Some settings.
176
+ class CppSettings
177
+ include ::Google::Protobuf::MessageExts
178
+ extend ::Google::Protobuf::MessageExts::ClassMethods
179
+ end
180
+
181
+ # Settings for Php client libraries.
182
+ # @!attribute [rw] common
183
+ # @return [::Google::Api::CommonLanguageSettings]
184
+ # Some settings.
185
+ class PhpSettings
186
+ include ::Google::Protobuf::MessageExts
187
+ extend ::Google::Protobuf::MessageExts::ClassMethods
188
+ end
189
+
190
+ # Settings for Python client libraries.
191
+ # @!attribute [rw] common
192
+ # @return [::Google::Api::CommonLanguageSettings]
193
+ # Some settings.
194
+ class PythonSettings
195
+ include ::Google::Protobuf::MessageExts
196
+ extend ::Google::Protobuf::MessageExts::ClassMethods
197
+ end
198
+
199
+ # Settings for Node client libraries.
200
+ # @!attribute [rw] common
201
+ # @return [::Google::Api::CommonLanguageSettings]
202
+ # Some settings.
203
+ class NodeSettings
204
+ include ::Google::Protobuf::MessageExts
205
+ extend ::Google::Protobuf::MessageExts::ClassMethods
206
+ end
207
+
208
+ # Settings for Dotnet client libraries.
209
+ # @!attribute [rw] common
210
+ # @return [::Google::Api::CommonLanguageSettings]
211
+ # Some settings.
212
+ # @!attribute [rw] renamed_services
213
+ # @return [::Google::Protobuf::Map{::String => ::String}]
214
+ # Map from original service names to renamed versions.
215
+ # This is used when the default generated types
216
+ # would cause a naming conflict. (Neither name is
217
+ # fully-qualified.)
218
+ # Example: Subscriber to SubscriberServiceApi.
219
+ # @!attribute [rw] renamed_resources
220
+ # @return [::Google::Protobuf::Map{::String => ::String}]
221
+ # Map from full resource types to the effective short name
222
+ # for the resource. This is used when otherwise resource
223
+ # named from different services would cause naming collisions.
224
+ # Example entry:
225
+ # "datalabeling.googleapis.com/Dataset": "DataLabelingDataset"
226
+ # @!attribute [rw] ignored_resources
227
+ # @return [::Array<::String>]
228
+ # List of full resource types to ignore during generation.
229
+ # This is typically used for API-specific Location resources,
230
+ # which should be handled by the generator as if they were actually
231
+ # the common Location resources.
232
+ # Example entry: "documentai.googleapis.com/Location"
233
+ # @!attribute [rw] forced_namespace_aliases
234
+ # @return [::Array<::String>]
235
+ # Namespaces which must be aliased in snippets due to
236
+ # a known (but non-generator-predictable) naming collision
237
+ # @!attribute [rw] handwritten_signatures
238
+ # @return [::Array<::String>]
239
+ # Method signatures (in the form "service.method(signature)")
240
+ # which are provided separately, so shouldn't be generated.
241
+ # Snippets *calling* these methods are still generated, however.
242
+ class DotnetSettings
243
+ include ::Google::Protobuf::MessageExts
244
+ extend ::Google::Protobuf::MessageExts::ClassMethods
245
+
246
+ # @!attribute [rw] key
247
+ # @return [::String]
248
+ # @!attribute [rw] value
249
+ # @return [::String]
250
+ class RenamedServicesEntry
251
+ include ::Google::Protobuf::MessageExts
252
+ extend ::Google::Protobuf::MessageExts::ClassMethods
253
+ end
254
+
255
+ # @!attribute [rw] key
256
+ # @return [::String]
257
+ # @!attribute [rw] value
258
+ # @return [::String]
259
+ class RenamedResourcesEntry
260
+ include ::Google::Protobuf::MessageExts
261
+ extend ::Google::Protobuf::MessageExts::ClassMethods
262
+ end
263
+ end
264
+
265
+ # Settings for Ruby client libraries.
266
+ # @!attribute [rw] common
267
+ # @return [::Google::Api::CommonLanguageSettings]
268
+ # Some settings.
269
+ class RubySettings
270
+ include ::Google::Protobuf::MessageExts
271
+ extend ::Google::Protobuf::MessageExts::ClassMethods
272
+ end
273
+
274
+ # Settings for Go client libraries.
275
+ # @!attribute [rw] common
276
+ # @return [::Google::Api::CommonLanguageSettings]
277
+ # Some settings.
278
+ class GoSettings
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+
283
+ # Describes the generator configuration for a method.
284
+ # @!attribute [rw] selector
285
+ # @return [::String]
286
+ # The fully qualified name of the method, for which the options below apply.
287
+ # This is used to find the method to apply the options.
288
+ # @!attribute [rw] long_running
289
+ # @return [::Google::Api::MethodSettings::LongRunning]
290
+ # Describes settings to use for long-running operations when generating
291
+ # API methods for RPCs. Complements RPCs that use the annotations in
292
+ # google/longrunning/operations.proto.
293
+ #
294
+ # Example of a YAML configuration::
295
+ #
296
+ # publishing:
297
+ # method_settings:
298
+ # - selector: google.cloud.speech.v2.Speech.BatchRecognize
299
+ # long_running:
300
+ # initial_poll_delay:
301
+ # seconds: 60 # 1 minute
302
+ # poll_delay_multiplier: 1.5
303
+ # max_poll_delay:
304
+ # seconds: 360 # 6 minutes
305
+ # total_poll_timeout:
306
+ # seconds: 54000 # 90 minutes
307
+ class MethodSettings
308
+ include ::Google::Protobuf::MessageExts
309
+ extend ::Google::Protobuf::MessageExts::ClassMethods
310
+
311
+ # Describes settings to use when generating API methods that use the
312
+ # long-running operation pattern.
313
+ # All default values below are from those used in the client library
314
+ # generators (e.g.
315
+ # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
316
+ # @!attribute [rw] initial_poll_delay
317
+ # @return [::Google::Protobuf::Duration]
318
+ # Initial delay after which the first poll request will be made.
319
+ # Default value: 5 seconds.
320
+ # @!attribute [rw] poll_delay_multiplier
321
+ # @return [::Float]
322
+ # Multiplier to gradually increase delay between subsequent polls until it
323
+ # reaches max_poll_delay.
324
+ # Default value: 1.5.
325
+ # @!attribute [rw] max_poll_delay
326
+ # @return [::Google::Protobuf::Duration]
327
+ # Maximum time between two subsequent poll requests.
328
+ # Default value: 45 seconds.
329
+ # @!attribute [rw] total_poll_timeout
330
+ # @return [::Google::Protobuf::Duration]
331
+ # Total polling timeout.
332
+ # Default value: 5 minutes.
333
+ class LongRunning
334
+ include ::Google::Protobuf::MessageExts
335
+ extend ::Google::Protobuf::MessageExts::ClassMethods
336
+ end
337
+ end
338
+
339
+ # The organization for which the client libraries are being published.
340
+ # Affects the url where generated docs are published, etc.
341
+ module ClientLibraryOrganization
342
+ # Not useful.
343
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
344
+
345
+ # Google Cloud Platform Org.
346
+ CLOUD = 1
347
+
348
+ # Ads (Advertising) Org.
349
+ ADS = 2
350
+
351
+ # Photos Org.
352
+ PHOTOS = 3
353
+
354
+ # Street View Org.
355
+ STREET_VIEW = 4
356
+ end
357
+
358
+ # To where should client libraries be published?
359
+ module ClientLibraryDestination
360
+ # Client libraries will neither be generated nor published to package
361
+ # managers.
362
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
363
+
364
+ # Generate the client library in a repo under github.com/googleapis,
365
+ # but don't publish it to package managers.
366
+ GITHUB = 10
367
+
368
+ # Publish the library to package managers like nuget.org and npmjs.com.
369
+ PACKAGE_MANAGER = 20
370
+ end
371
+ end
372
+ end