google-cloud-storage_batch_operations-v1 0.a → 0.1.1

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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +154 -8
  5. data/lib/google/cloud/storage_batch_operations/v1/bindings_override.rb +102 -0
  6. data/lib/google/cloud/storage_batch_operations/v1/rest.rb +38 -0
  7. data/lib/google/cloud/storage_batch_operations/v1/storage_batch_operations/client.rb +928 -0
  8. data/lib/google/cloud/storage_batch_operations/v1/storage_batch_operations/credentials.rb +47 -0
  9. data/lib/google/cloud/storage_batch_operations/v1/storage_batch_operations/operations.rb +813 -0
  10. data/lib/google/cloud/storage_batch_operations/v1/storage_batch_operations/paths.rb +90 -0
  11. data/lib/google/cloud/storage_batch_operations/v1/storage_batch_operations/rest/client.rb +875 -0
  12. data/lib/google/cloud/storage_batch_operations/v1/storage_batch_operations/rest/operations.rb +914 -0
  13. data/lib/google/cloud/storage_batch_operations/v1/storage_batch_operations/rest/service_stub.rb +388 -0
  14. data/lib/google/cloud/storage_batch_operations/v1/storage_batch_operations/rest.rb +57 -0
  15. data/lib/google/cloud/storage_batch_operations/v1/storage_batch_operations.rb +59 -0
  16. data/lib/google/cloud/storage_batch_operations/v1/version.rb +7 -2
  17. data/lib/google/cloud/storage_batch_operations/v1.rb +45 -0
  18. data/lib/google/cloud/storagebatchoperations/v1/storage_batch_operations_pb.rb +60 -0
  19. data/lib/google/cloud/storagebatchoperations/v1/storage_batch_operations_services_pb.rb +56 -0
  20. data/lib/google/cloud/storagebatchoperations/v1/storage_batch_operations_types_pb.rb +64 -0
  21. data/lib/google-cloud-storage_batch_operations-v1.rb +21 -0
  22. data/proto_docs/README.md +4 -0
  23. data/proto_docs/google/api/client.rb +473 -0
  24. data/proto_docs/google/api/field_behavior.rb +85 -0
  25. data/proto_docs/google/api/launch_stage.rb +71 -0
  26. data/proto_docs/google/api/resource.rb +227 -0
  27. data/proto_docs/google/cloud/storagebatchoperations/v1/storage_batch_operations.rb +167 -0
  28. data/proto_docs/google/cloud/storagebatchoperations/v1/storage_batch_operations_types.rb +372 -0
  29. data/proto_docs/google/longrunning/operations.rb +173 -0
  30. data/proto_docs/google/protobuf/any.rb +145 -0
  31. data/proto_docs/google/protobuf/duration.rb +98 -0
  32. data/proto_docs/google/protobuf/empty.rb +34 -0
  33. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  34. data/proto_docs/google/rpc/code.rb +185 -0
  35. data/proto_docs/google/rpc/status.rb +48 -0
  36. metadata +95 -9
@@ -0,0 +1,56 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/storagebatchoperations/v1/storage_batch_operations.proto for package 'Google.Cloud.StorageBatchOperations.V1'
3
+ # Original file comments:
4
+ # Copyright 2025 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/storagebatchoperations/v1/storage_batch_operations_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module StorageBatchOperations
25
+ module V1
26
+ module StorageBatchOperations
27
+ # Storage Batch Operations offers a managed experience to perform batch
28
+ # operations on millions of Cloud Storage objects in a serverless fashion. With
29
+ # this service, you can automate and simplify large scale API operations
30
+ # performed on Cloud Storage objects.
31
+ class Service
32
+
33
+ include ::GRPC::GenericService
34
+
35
+ self.marshal_class_method = :encode
36
+ self.unmarshal_class_method = :decode
37
+ self.service_name = 'google.cloud.storagebatchoperations.v1.StorageBatchOperations'
38
+
39
+ # Lists Jobs in a given project and location.
40
+ rpc :ListJobs, ::Google::Cloud::StorageBatchOperations::V1::ListJobsRequest, ::Google::Cloud::StorageBatchOperations::V1::ListJobsResponse
41
+ # Gets a batch job.
42
+ rpc :GetJob, ::Google::Cloud::StorageBatchOperations::V1::GetJobRequest, ::Google::Cloud::StorageBatchOperations::V1::Job
43
+ # Creates a batch job.
44
+ rpc :CreateJob, ::Google::Cloud::StorageBatchOperations::V1::CreateJobRequest, ::Google::Longrunning::Operation
45
+ # Deletes a batch job.
46
+ rpc :DeleteJob, ::Google::Cloud::StorageBatchOperations::V1::DeleteJobRequest, ::Google::Protobuf::Empty
47
+ # Cancels a batch job.
48
+ rpc :CancelJob, ::Google::Cloud::StorageBatchOperations::V1::CancelJobRequest, ::Google::Cloud::StorageBatchOperations::V1::CancelJobResponse
49
+ end
50
+
51
+ Stub = Service.rpc_stub_class
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/field_behavior_pb'
8
+ require 'google/api/resource_pb'
9
+ require 'google/protobuf/timestamp_pb'
10
+ require 'google/rpc/code_pb'
11
+
12
+
13
+ descriptor_data = "\nKgoogle/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto\x12&google.cloud.storagebatchoperations.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15google/rpc/code.proto\"\xfb\x08\n\x03Job\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12I\n\x0b\x62ucket_list\x18\x13 \x01(\x0b\x32\x32.google.cloud.storagebatchoperations.v1.BucketListH\x00\x12P\n\x0fput_object_hold\x18\x05 \x01(\x0b\x32\x35.google.cloud.storagebatchoperations.v1.PutObjectHoldH\x01\x12M\n\rdelete_object\x18\x06 \x01(\x0b\x32\x34.google.cloud.storagebatchoperations.v1.DeleteObjectH\x01\x12K\n\x0cput_metadata\x18\x08 \x01(\x0b\x32\x33.google.cloud.storagebatchoperations.v1.PutMetadataH\x01\x12O\n\x0erewrite_object\x18\x14 \x01(\x0b\x32\x35.google.cloud.storagebatchoperations.v1.RewriteObjectH\x01\x12R\n\x0elogging_config\x18\t \x01(\x0b\x32\x35.google.cloud.storagebatchoperations.v1.LoggingConfigB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\rschedule_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\rcomplete_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12G\n\x08\x63ounters\x18\r \x01(\x0b\x32\x30.google.cloud.storagebatchoperations.v1.CountersB\x03\xe0\x41\x03\x12R\n\x0f\x65rror_summaries\x18\x0e \x03(\x0b\x32\x34.google.cloud.storagebatchoperations.v1.ErrorSummaryB\x03\xe0\x41\x03\x12\x45\n\x05state\x18\x0f \x01(\x0e\x32\x31.google.cloud.storagebatchoperations.v1.Job.StateB\x03\xe0\x41\x03\"T\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07RUNNING\x10\x01\x12\r\n\tSUCCEEDED\x10\x02\x12\x0c\n\x08\x43\x41NCELED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04:m\xea\x41j\n)storagebatchoperations.googleapis.com/Job\x12\x32projects/{project}/locations/{location}/jobs/{job}*\x04jobs2\x03jobB\x08\n\x06sourceB\x10\n\x0etransformation\"\xa6\x02\n\nBucketList\x12O\n\x07\x62uckets\x18\x01 \x03(\x0b\x32\x39.google.cloud.storagebatchoperations.v1.BucketList.BucketB\x03\xe0\x41\x02\x1a\xc6\x01\n\x06\x42ucket\x12\x13\n\x06\x62ucket\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12I\n\x0bprefix_list\x18\x02 \x01(\x0b\x32\x32.google.cloud.storagebatchoperations.v1.PrefixListH\x00\x12\x44\n\x08manifest\x18\x03 \x01(\x0b\x32\x30.google.cloud.storagebatchoperations.v1.ManifestH\x00\x42\x16\n\x14object_configuration\"*\n\x08Manifest\x12\x1e\n\x11manifest_location\x18\x02 \x01(\tB\x03\xe0\x41\x02\"3\n\nPrefixList\x12%\n\x18included_object_prefixes\x18\x02 \x03(\tB\x03\xe0\x41\x01\"\x8e\x02\n\rPutObjectHold\x12]\n\x0etemporary_hold\x18\x01 \x01(\x0e\x32@.google.cloud.storagebatchoperations.v1.PutObjectHold.HoldStatusB\x03\xe0\x41\x02\x12_\n\x10\x65vent_based_hold\x18\x02 \x01(\x0e\x32@.google.cloud.storagebatchoperations.v1.PutObjectHold.HoldStatusB\x03\xe0\x41\x02\"=\n\nHoldStatus\x12\x1b\n\x17HOLD_STATUS_UNSPECIFIED\x10\x00\x12\x07\n\x03SET\x10\x01\x12\t\n\x05UNSET\x10\x02\">\n\x0c\x44\x65leteObject\x12.\n!permanent_object_deletion_enabled\x18\x01 \x01(\x08\x42\x03\xe0\x41\x02\"\\\n\rRewriteObject\x12?\n\x07kms_key\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKeyH\x00\x88\x01\x01\x42\n\n\x08_kms_key\"\xef\x03\n\x0bPutMetadata\x12%\n\x13\x63ontent_disposition\x18\x01 \x01(\tB\x03\xe0\x41\x01H\x00\x88\x01\x01\x12\"\n\x10\x63ontent_encoding\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x01\x88\x01\x01\x12\"\n\x10\x63ontent_language\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x02\x88\x01\x01\x12\x1e\n\x0c\x63ontent_type\x18\x04 \x01(\tB\x03\xe0\x41\x01H\x03\x88\x01\x01\x12\x1f\n\rcache_control\x18\x05 \x01(\tB\x03\xe0\x41\x01H\x04\x88\x01\x01\x12\x1d\n\x0b\x63ustom_time\x18\x06 \x01(\tB\x03\xe0\x41\x01H\x05\x88\x01\x01\x12\x65\n\x0f\x63ustom_metadata\x18\x07 \x03(\x0b\x32G.google.cloud.storagebatchoperations.v1.PutMetadata.CustomMetadataEntryB\x03\xe0\x41\x01\x1a\x35\n\x13\x43ustomMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x16\n\x14_content_dispositionB\x13\n\x11_content_encodingB\x13\n\x11_content_languageB\x0f\n\r_content_typeB\x10\n\x0e_cache_controlB\x0e\n\x0c_custom_time\"\xaa\x01\n\x0c\x45rrorSummary\x12)\n\nerror_code\x18\x01 \x01(\x0e\x32\x10.google.rpc.CodeB\x03\xe0\x41\x02\x12\x18\n\x0b\x65rror_count\x18\x02 \x01(\x03\x42\x03\xe0\x41\x02\x12U\n\x11\x65rror_log_entries\x18\x03 \x03(\x0b\x32\x35.google.cloud.storagebatchoperations.v1.ErrorLogEntryB\x03\xe0\x41\x02\"J\n\rErrorLogEntry\x12\x1a\n\nobject_uri\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x03\x12\x1d\n\rerror_details\x18\x03 \x03(\tB\x06\xe0\x41\x01\xe0\x41\x03\"r\n\x08\x43ounters\x12\x1f\n\x12total_object_count\x18\x01 \x01(\x03\x42\x03\xe0\x41\x03\x12#\n\x16succeeded_object_count\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13\x66\x61iled_object_count\x18\x03 \x01(\x03\x42\x03\xe0\x41\x03\"\xf5\x02\n\rLoggingConfig\x12^\n\x0blog_actions\x18\x01 \x03(\x0e\x32\x44.google.cloud.storagebatchoperations.v1.LoggingConfig.LoggableActionB\x03\xe0\x41\x02\x12i\n\x11log_action_states\x18\x02 \x03(\x0e\x32I.google.cloud.storagebatchoperations.v1.LoggingConfig.LoggableActionStateB\x03\xe0\x41\x02\"@\n\x0eLoggableAction\x12\x1f\n\x1bLOGGABLE_ACTION_UNSPECIFIED\x10\x00\x12\r\n\tTRANSFORM\x10\x06\"W\n\x13LoggableActionState\x12%\n!LOGGABLE_ACTION_STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\xad\x03\n*com.google.cloud.storagebatchoperations.v1B StorageBatchOperationsTypesProtoP\x01Zbcloud.google.com/go/storagebatchoperations/apiv1/storagebatchoperationspb;storagebatchoperationspb\xaa\x02&Google.Cloud.StorageBatchOperations.V1\xca\x02&Google\\Cloud\\StorageBatchOperations\\V1\xea\x02)Google::Cloud::StorageBatchOperations::V1\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}b\x06proto3"
14
+
15
+ pool = Google::Protobuf::DescriptorPool.generated_pool
16
+
17
+ begin
18
+ pool.add_serialized_file(descriptor_data)
19
+ rescue TypeError
20
+ # Compatibility code: will be removed in the next major version.
21
+ require 'google/protobuf/descriptor_pb'
22
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
23
+ parsed.clear_dependency
24
+ serialized = parsed.class.encode(parsed)
25
+ file = pool.add_serialized_file(serialized)
26
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
27
+ imports = [
28
+ ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
29
+ ]
30
+ imports.each do |type_name, expected_filename|
31
+ import_file = pool.lookup(type_name).file_descriptor
32
+ if import_file.name != expected_filename
33
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
34
+ end
35
+ end
36
+ warn "Each proto file must use a consistent fully-qualified name."
37
+ warn "This will become an error in the next major version."
38
+ end
39
+
40
+ module Google
41
+ module Cloud
42
+ module StorageBatchOperations
43
+ module V1
44
+ Job = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.Job").msgclass
45
+ Job::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.Job.State").enummodule
46
+ BucketList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.BucketList").msgclass
47
+ BucketList::Bucket = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.BucketList.Bucket").msgclass
48
+ Manifest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.Manifest").msgclass
49
+ PrefixList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.PrefixList").msgclass
50
+ PutObjectHold = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.PutObjectHold").msgclass
51
+ PutObjectHold::HoldStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.PutObjectHold.HoldStatus").enummodule
52
+ DeleteObject = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.DeleteObject").msgclass
53
+ RewriteObject = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.RewriteObject").msgclass
54
+ PutMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.PutMetadata").msgclass
55
+ ErrorSummary = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.ErrorSummary").msgclass
56
+ ErrorLogEntry = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.ErrorLogEntry").msgclass
57
+ Counters = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.Counters").msgclass
58
+ LoggingConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.LoggingConfig").msgclass
59
+ LoggingConfig::LoggableAction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.LoggingConfig.LoggableAction").enummodule
60
+ LoggingConfig::LoggableActionState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.storagebatchoperations.v1.LoggingConfig.LoggableActionState").enummodule
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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/storage_batch_operations/v1"
@@ -0,0 +1,4 @@
1
+ # Storage Batch Operations 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,473 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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
+ # @deprecated This field is deprecated and may be removed in the next major version update.
25
+ # @return [::String]
26
+ # Link to automatically generated reference documentation. Example:
27
+ # https://cloud.google.com/nodejs/docs/reference/asset/latest
28
+ # @!attribute [rw] destinations
29
+ # @return [::Array<::Google::Api::ClientLibraryDestination>]
30
+ # The destination where API teams want this client library to be published.
31
+ # @!attribute [rw] selective_gapic_generation
32
+ # @return [::Google::Api::SelectiveGapicGeneration]
33
+ # Configuration for which RPCs should be generated in the GAPIC client.
34
+ class CommonLanguageSettings
35
+ include ::Google::Protobuf::MessageExts
36
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37
+ end
38
+
39
+ # Details about how and where to publish client libraries.
40
+ # @!attribute [rw] version
41
+ # @return [::String]
42
+ # Version of the API to apply these settings to. This is the full protobuf
43
+ # package for the API, ending in the version element.
44
+ # Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1".
45
+ # @!attribute [rw] launch_stage
46
+ # @return [::Google::Api::LaunchStage]
47
+ # Launch stage of this version of the API.
48
+ # @!attribute [rw] rest_numeric_enums
49
+ # @return [::Boolean]
50
+ # When using transport=rest, the client request will encode enums as
51
+ # numbers rather than strings.
52
+ # @!attribute [rw] java_settings
53
+ # @return [::Google::Api::JavaSettings]
54
+ # Settings for legacy Java features, supported in the Service YAML.
55
+ # @!attribute [rw] cpp_settings
56
+ # @return [::Google::Api::CppSettings]
57
+ # Settings for C++ client libraries.
58
+ # @!attribute [rw] php_settings
59
+ # @return [::Google::Api::PhpSettings]
60
+ # Settings for PHP client libraries.
61
+ # @!attribute [rw] python_settings
62
+ # @return [::Google::Api::PythonSettings]
63
+ # Settings for Python client libraries.
64
+ # @!attribute [rw] node_settings
65
+ # @return [::Google::Api::NodeSettings]
66
+ # Settings for Node client libraries.
67
+ # @!attribute [rw] dotnet_settings
68
+ # @return [::Google::Api::DotnetSettings]
69
+ # Settings for .NET client libraries.
70
+ # @!attribute [rw] ruby_settings
71
+ # @return [::Google::Api::RubySettings]
72
+ # Settings for Ruby client libraries.
73
+ # @!attribute [rw] go_settings
74
+ # @return [::Google::Api::GoSettings]
75
+ # Settings for Go client libraries.
76
+ class ClientLibrarySettings
77
+ include ::Google::Protobuf::MessageExts
78
+ extend ::Google::Protobuf::MessageExts::ClassMethods
79
+ end
80
+
81
+ # This message configures the settings for publishing [Google Cloud Client
82
+ # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
83
+ # generated from the service config.
84
+ # @!attribute [rw] method_settings
85
+ # @return [::Array<::Google::Api::MethodSettings>]
86
+ # A list of API method settings, e.g. the behavior for methods that use the
87
+ # long-running operation pattern.
88
+ # @!attribute [rw] new_issue_uri
89
+ # @return [::String]
90
+ # Link to a *public* URI where users can report issues. Example:
91
+ # https://issuetracker.google.com/issues/new?component=190865&template=1161103
92
+ # @!attribute [rw] documentation_uri
93
+ # @return [::String]
94
+ # Link to product home page. Example:
95
+ # https://cloud.google.com/asset-inventory/docs/overview
96
+ # @!attribute [rw] api_short_name
97
+ # @return [::String]
98
+ # Used as a tracking tag when collecting data about the APIs developer
99
+ # relations artifacts like docs, packages delivered to package managers,
100
+ # etc. Example: "speech".
101
+ # @!attribute [rw] github_label
102
+ # @return [::String]
103
+ # GitHub label to apply to issues and pull requests opened for this API.
104
+ # @!attribute [rw] codeowner_github_teams
105
+ # @return [::Array<::String>]
106
+ # GitHub teams to be added to CODEOWNERS in the directory in GitHub
107
+ # containing source code for the client libraries for this API.
108
+ # @!attribute [rw] doc_tag_prefix
109
+ # @return [::String]
110
+ # A prefix used in sample code when demarking regions to be included in
111
+ # documentation.
112
+ # @!attribute [rw] organization
113
+ # @return [::Google::Api::ClientLibraryOrganization]
114
+ # For whom the client library is being published.
115
+ # @!attribute [rw] library_settings
116
+ # @return [::Array<::Google::Api::ClientLibrarySettings>]
117
+ # Client library settings. If the same version string appears multiple
118
+ # times in this list, then the last one wins. Settings from earlier
119
+ # settings with the same version string are discarded.
120
+ # @!attribute [rw] proto_reference_documentation_uri
121
+ # @return [::String]
122
+ # Optional link to proto reference documentation. Example:
123
+ # https://cloud.google.com/pubsub/lite/docs/reference/rpc
124
+ # @!attribute [rw] rest_reference_documentation_uri
125
+ # @return [::String]
126
+ # Optional link to REST reference documentation. Example:
127
+ # https://cloud.google.com/pubsub/lite/docs/reference/rest
128
+ class Publishing
129
+ include ::Google::Protobuf::MessageExts
130
+ extend ::Google::Protobuf::MessageExts::ClassMethods
131
+ end
132
+
133
+ # Settings for Java client libraries.
134
+ # @!attribute [rw] library_package
135
+ # @return [::String]
136
+ # The package name to use in Java. Clobbers the java_package option
137
+ # set in the protobuf. This should be used **only** by APIs
138
+ # who have already set the language_settings.java.package_name" field
139
+ # in gapic.yaml. API teams should use the protobuf java_package option
140
+ # where possible.
141
+ #
142
+ # Example of a YAML configuration::
143
+ #
144
+ # publishing:
145
+ # java_settings:
146
+ # library_package: com.google.cloud.pubsub.v1
147
+ # @!attribute [rw] service_class_names
148
+ # @return [::Google::Protobuf::Map{::String => ::String}]
149
+ # Configure the Java class name to use instead of the service's for its
150
+ # corresponding generated GAPIC client. Keys are fully-qualified
151
+ # service names as they appear in the protobuf (including the full
152
+ # the language_settings.java.interface_names" field in gapic.yaml. API
153
+ # teams should otherwise use the service name as it appears in the
154
+ # protobuf.
155
+ #
156
+ # Example of a YAML configuration::
157
+ #
158
+ # publishing:
159
+ # java_settings:
160
+ # service_class_names:
161
+ # - google.pubsub.v1.Publisher: TopicAdmin
162
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
163
+ # @!attribute [rw] common
164
+ # @return [::Google::Api::CommonLanguageSettings]
165
+ # Some settings.
166
+ class JavaSettings
167
+ include ::Google::Protobuf::MessageExts
168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
169
+
170
+ # @!attribute [rw] key
171
+ # @return [::String]
172
+ # @!attribute [rw] value
173
+ # @return [::String]
174
+ class ServiceClassNamesEntry
175
+ include ::Google::Protobuf::MessageExts
176
+ extend ::Google::Protobuf::MessageExts::ClassMethods
177
+ end
178
+ end
179
+
180
+ # Settings for C++ client libraries.
181
+ # @!attribute [rw] common
182
+ # @return [::Google::Api::CommonLanguageSettings]
183
+ # Some settings.
184
+ class CppSettings
185
+ include ::Google::Protobuf::MessageExts
186
+ extend ::Google::Protobuf::MessageExts::ClassMethods
187
+ end
188
+
189
+ # Settings for Php client libraries.
190
+ # @!attribute [rw] common
191
+ # @return [::Google::Api::CommonLanguageSettings]
192
+ # Some settings.
193
+ class PhpSettings
194
+ include ::Google::Protobuf::MessageExts
195
+ extend ::Google::Protobuf::MessageExts::ClassMethods
196
+ end
197
+
198
+ # Settings for Python client libraries.
199
+ # @!attribute [rw] common
200
+ # @return [::Google::Api::CommonLanguageSettings]
201
+ # Some settings.
202
+ # @!attribute [rw] experimental_features
203
+ # @return [::Google::Api::PythonSettings::ExperimentalFeatures]
204
+ # Experimental features to be included during client library generation.
205
+ class PythonSettings
206
+ include ::Google::Protobuf::MessageExts
207
+ extend ::Google::Protobuf::MessageExts::ClassMethods
208
+
209
+ # Experimental features to be included during client library generation.
210
+ # These fields will be deprecated once the feature graduates and is enabled
211
+ # by default.
212
+ # @!attribute [rw] rest_async_io_enabled
213
+ # @return [::Boolean]
214
+ # Enables generation of asynchronous REST clients if `rest` transport is
215
+ # enabled. By default, asynchronous REST clients will not be generated.
216
+ # This feature will be enabled by default 1 month after launching the
217
+ # feature in preview packages.
218
+ # @!attribute [rw] protobuf_pythonic_types_enabled
219
+ # @return [::Boolean]
220
+ # Enables generation of protobuf code using new types that are more
221
+ # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
+ # enabled by default 1 month after launching the feature in preview
223
+ # packages.
224
+ # @!attribute [rw] unversioned_package_disabled
225
+ # @return [::Boolean]
226
+ # Disables generation of an unversioned Python package for this client
227
+ # library. This means that the module names will need to be versioned in
228
+ # import statements. For example `import google.cloud.library_v2` instead
229
+ # of `import google.cloud.library`.
230
+ class ExperimentalFeatures
231
+ include ::Google::Protobuf::MessageExts
232
+ extend ::Google::Protobuf::MessageExts::ClassMethods
233
+ end
234
+ end
235
+
236
+ # Settings for Node client libraries.
237
+ # @!attribute [rw] common
238
+ # @return [::Google::Api::CommonLanguageSettings]
239
+ # Some settings.
240
+ class NodeSettings
241
+ include ::Google::Protobuf::MessageExts
242
+ extend ::Google::Protobuf::MessageExts::ClassMethods
243
+ end
244
+
245
+ # Settings for Dotnet client libraries.
246
+ # @!attribute [rw] common
247
+ # @return [::Google::Api::CommonLanguageSettings]
248
+ # Some settings.
249
+ # @!attribute [rw] renamed_services
250
+ # @return [::Google::Protobuf::Map{::String => ::String}]
251
+ # Map from original service names to renamed versions.
252
+ # This is used when the default generated types
253
+ # would cause a naming conflict. (Neither name is
254
+ # fully-qualified.)
255
+ # Example: Subscriber to SubscriberServiceApi.
256
+ # @!attribute [rw] renamed_resources
257
+ # @return [::Google::Protobuf::Map{::String => ::String}]
258
+ # Map from full resource types to the effective short name
259
+ # for the resource. This is used when otherwise resource
260
+ # named from different services would cause naming collisions.
261
+ # Example entry:
262
+ # "datalabeling.googleapis.com/Dataset": "DataLabelingDataset"
263
+ # @!attribute [rw] ignored_resources
264
+ # @return [::Array<::String>]
265
+ # List of full resource types to ignore during generation.
266
+ # This is typically used for API-specific Location resources,
267
+ # which should be handled by the generator as if they were actually
268
+ # the common Location resources.
269
+ # Example entry: "documentai.googleapis.com/Location"
270
+ # @!attribute [rw] forced_namespace_aliases
271
+ # @return [::Array<::String>]
272
+ # Namespaces which must be aliased in snippets due to
273
+ # a known (but non-generator-predictable) naming collision
274
+ # @!attribute [rw] handwritten_signatures
275
+ # @return [::Array<::String>]
276
+ # Method signatures (in the form "service.method(signature)")
277
+ # which are provided separately, so shouldn't be generated.
278
+ # Snippets *calling* these methods are still generated, however.
279
+ class DotnetSettings
280
+ include ::Google::Protobuf::MessageExts
281
+ extend ::Google::Protobuf::MessageExts::ClassMethods
282
+
283
+ # @!attribute [rw] key
284
+ # @return [::String]
285
+ # @!attribute [rw] value
286
+ # @return [::String]
287
+ class RenamedServicesEntry
288
+ include ::Google::Protobuf::MessageExts
289
+ extend ::Google::Protobuf::MessageExts::ClassMethods
290
+ end
291
+
292
+ # @!attribute [rw] key
293
+ # @return [::String]
294
+ # @!attribute [rw] value
295
+ # @return [::String]
296
+ class RenamedResourcesEntry
297
+ include ::Google::Protobuf::MessageExts
298
+ extend ::Google::Protobuf::MessageExts::ClassMethods
299
+ end
300
+ end
301
+
302
+ # Settings for Ruby client libraries.
303
+ # @!attribute [rw] common
304
+ # @return [::Google::Api::CommonLanguageSettings]
305
+ # Some settings.
306
+ class RubySettings
307
+ include ::Google::Protobuf::MessageExts
308
+ extend ::Google::Protobuf::MessageExts::ClassMethods
309
+ end
310
+
311
+ # Settings for Go client libraries.
312
+ # @!attribute [rw] common
313
+ # @return [::Google::Api::CommonLanguageSettings]
314
+ # Some settings.
315
+ # @!attribute [rw] renamed_services
316
+ # @return [::Google::Protobuf::Map{::String => ::String}]
317
+ # Map of service names to renamed services. Keys are the package relative
318
+ # service names and values are the name to be used for the service client
319
+ # and call options.
320
+ #
321
+ # publishing:
322
+ # go_settings:
323
+ # renamed_services:
324
+ # Publisher: TopicAdmin
325
+ class GoSettings
326
+ include ::Google::Protobuf::MessageExts
327
+ extend ::Google::Protobuf::MessageExts::ClassMethods
328
+
329
+ # @!attribute [rw] key
330
+ # @return [::String]
331
+ # @!attribute [rw] value
332
+ # @return [::String]
333
+ class RenamedServicesEntry
334
+ include ::Google::Protobuf::MessageExts
335
+ extend ::Google::Protobuf::MessageExts::ClassMethods
336
+ end
337
+ end
338
+
339
+ # Describes the generator configuration for a method.
340
+ # @!attribute [rw] selector
341
+ # @return [::String]
342
+ # The fully qualified name of the method, for which the options below apply.
343
+ # This is used to find the method to apply the options.
344
+ #
345
+ # Example:
346
+ #
347
+ # publishing:
348
+ # method_settings:
349
+ # - selector: google.storage.control.v2.StorageControl.CreateFolder
350
+ # # method settings for CreateFolder...
351
+ # @!attribute [rw] long_running
352
+ # @return [::Google::Api::MethodSettings::LongRunning]
353
+ # Describes settings to use for long-running operations when generating
354
+ # API methods for RPCs. Complements RPCs that use the annotations in
355
+ # google/longrunning/operations.proto.
356
+ #
357
+ # Example of a YAML configuration::
358
+ #
359
+ # publishing:
360
+ # method_settings:
361
+ # - selector: google.cloud.speech.v2.Speech.BatchRecognize
362
+ # long_running:
363
+ # initial_poll_delay: 60s # 1 minute
364
+ # poll_delay_multiplier: 1.5
365
+ # max_poll_delay: 360s # 6 minutes
366
+ # total_poll_timeout: 54000s # 90 minutes
367
+ # @!attribute [rw] auto_populated_fields
368
+ # @return [::Array<::String>]
369
+ # List of top-level fields of the request message, that should be
370
+ # automatically populated by the client libraries based on their
371
+ # (google.api.field_info).format. Currently supported format: UUID4.
372
+ #
373
+ # Example of a YAML configuration:
374
+ #
375
+ # publishing:
376
+ # method_settings:
377
+ # - selector: google.example.v1.ExampleService.CreateExample
378
+ # auto_populated_fields:
379
+ # - request_id
380
+ class MethodSettings
381
+ include ::Google::Protobuf::MessageExts
382
+ extend ::Google::Protobuf::MessageExts::ClassMethods
383
+
384
+ # Describes settings to use when generating API methods that use the
385
+ # long-running operation pattern.
386
+ # All default values below are from those used in the client library
387
+ # generators (e.g.
388
+ # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
389
+ # @!attribute [rw] initial_poll_delay
390
+ # @return [::Google::Protobuf::Duration]
391
+ # Initial delay after which the first poll request will be made.
392
+ # Default value: 5 seconds.
393
+ # @!attribute [rw] poll_delay_multiplier
394
+ # @return [::Float]
395
+ # Multiplier to gradually increase delay between subsequent polls until it
396
+ # reaches max_poll_delay.
397
+ # Default value: 1.5.
398
+ # @!attribute [rw] max_poll_delay
399
+ # @return [::Google::Protobuf::Duration]
400
+ # Maximum time between two subsequent poll requests.
401
+ # Default value: 45 seconds.
402
+ # @!attribute [rw] total_poll_timeout
403
+ # @return [::Google::Protobuf::Duration]
404
+ # Total polling timeout.
405
+ # Default value: 5 minutes.
406
+ class LongRunning
407
+ include ::Google::Protobuf::MessageExts
408
+ extend ::Google::Protobuf::MessageExts::ClassMethods
409
+ end
410
+ end
411
+
412
+ # This message is used to configure the generation of a subset of the RPCs in
413
+ # a service for client libraries.
414
+ # @!attribute [rw] methods
415
+ # @return [::Array<::String>]
416
+ # An allowlist of the fully qualified names of RPCs that should be included
417
+ # on public client surfaces.
418
+ # @!attribute [rw] generate_omitted_as_internal
419
+ # @return [::Boolean]
420
+ # Setting this to true indicates to the client generators that methods
421
+ # that would be excluded from the generation should instead be generated
422
+ # in a way that indicates these methods should not be consumed by
423
+ # end users. How this is expressed is up to individual language
424
+ # implementations to decide. Some examples may be: added annotations,
425
+ # obfuscated identifiers, or other language idiomatic patterns.
426
+ class SelectiveGapicGeneration
427
+ include ::Google::Protobuf::MessageExts
428
+ extend ::Google::Protobuf::MessageExts::ClassMethods
429
+ end
430
+
431
+ # The organization for which the client libraries are being published.
432
+ # Affects the url where generated docs are published, etc.
433
+ module ClientLibraryOrganization
434
+ # Not useful.
435
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
436
+
437
+ # Google Cloud Platform Org.
438
+ CLOUD = 1
439
+
440
+ # Ads (Advertising) Org.
441
+ ADS = 2
442
+
443
+ # Photos Org.
444
+ PHOTOS = 3
445
+
446
+ # Street View Org.
447
+ STREET_VIEW = 4
448
+
449
+ # Shopping Org.
450
+ SHOPPING = 5
451
+
452
+ # Geo Org.
453
+ GEO = 6
454
+
455
+ # Generative AI - https://developers.generativeai.google
456
+ GENERATIVE_AI = 7
457
+ end
458
+
459
+ # To where should client libraries be published?
460
+ module ClientLibraryDestination
461
+ # Client libraries will neither be generated nor published to package
462
+ # managers.
463
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
464
+
465
+ # Generate the client library in a repo under github.com/googleapis,
466
+ # but don't publish it to package managers.
467
+ GITHUB = 10
468
+
469
+ # Publish the library to package managers like nuget.org and npmjs.com.
470
+ PACKAGE_MANAGER = 20
471
+ end
472
+ end
473
+ end