google-cloud-filestore-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +167 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +139 -0
  6. data/lib/google-cloud-filestore-v1.rb +21 -0
  7. data/lib/google/cloud/filestore/v1.rb +38 -0
  8. data/lib/google/cloud/filestore/v1/cloud_filestore_manager.rb +68 -0
  9. data/lib/google/cloud/filestore/v1/cloud_filestore_manager/client.rb +1270 -0
  10. data/lib/google/cloud/filestore/v1/cloud_filestore_manager/credentials.rb +47 -0
  11. data/lib/google/cloud/filestore/v1/cloud_filestore_manager/operations.rb +664 -0
  12. data/lib/google/cloud/filestore/v1/cloud_filestore_manager/paths.rb +88 -0
  13. data/lib/google/cloud/filestore/v1/cloud_filestore_service_pb.rb +197 -0
  14. data/lib/google/cloud/filestore/v1/cloud_filestore_service_services_pb.rb +92 -0
  15. data/lib/google/cloud/filestore/v1/version.rb +28 -0
  16. data/proto_docs/README.md +4 -0
  17. data/proto_docs/google/api/field_behavior.rb +71 -0
  18. data/proto_docs/google/api/resource.rb +283 -0
  19. data/proto_docs/google/cloud/common/operation_metadata.rb +54 -0
  20. data/proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb +561 -0
  21. data/proto_docs/google/longrunning/operations.rb +164 -0
  22. data/proto_docs/google/protobuf/any.rb +141 -0
  23. data/proto_docs/google/protobuf/duration.rb +98 -0
  24. data/proto_docs/google/protobuf/empty.rb +36 -0
  25. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  26. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  27. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  28. data/proto_docs/google/rpc/status.rb +46 -0
  29. metadata +219 -0
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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 Filestore
23
+ module V1
24
+ module CloudFilestoreManager
25
+ # Path helper methods for the CloudFilestoreManager API.
26
+ module Paths
27
+ ##
28
+ # Create a fully-qualified Backup resource string.
29
+ #
30
+ # The resource will be in the following format:
31
+ #
32
+ # `projects/{project}/locations/{location}/backups/{backup}`
33
+ #
34
+ # @param project [String]
35
+ # @param location [String]
36
+ # @param backup [String]
37
+ #
38
+ # @return [::String]
39
+ def backup_path project:, location:, backup:
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}/backups/#{backup}"
44
+ end
45
+
46
+ ##
47
+ # Create a fully-qualified Instance resource string.
48
+ #
49
+ # The resource will be in the following format:
50
+ #
51
+ # `projects/{project}/locations/{location}/instances/{instance}`
52
+ #
53
+ # @param project [String]
54
+ # @param location [String]
55
+ # @param instance [String]
56
+ #
57
+ # @return [::String]
58
+ def instance_path project:, location:, instance:
59
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
60
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
61
+
62
+ "projects/#{project}/locations/#{location}/instances/#{instance}"
63
+ end
64
+
65
+ ##
66
+ # Create a fully-qualified Location resource string.
67
+ #
68
+ # The resource will be in the following format:
69
+ #
70
+ # `projects/{project}/locations/{location}`
71
+ #
72
+ # @param project [String]
73
+ # @param location [String]
74
+ #
75
+ # @return [::String]
76
+ def location_path project:, location:
77
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
78
+
79
+ "projects/#{project}/locations/#{location}"
80
+ end
81
+
82
+ extend self
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,197 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/filestore/v1/cloud_filestore_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/longrunning/operations_pb'
11
+ require 'google/protobuf/field_mask_pb'
12
+ require 'google/protobuf/timestamp_pb'
13
+ require 'google/protobuf/wrappers_pb'
14
+ Google::Protobuf::DescriptorPool.generated_pool.build do
15
+ add_file("google/cloud/filestore/v1/cloud_filestore_service.proto", :syntax => :proto3) do
16
+ add_message "google.cloud.filestore.v1.NetworkConfig" do
17
+ optional :network, :string, 1
18
+ repeated :modes, :enum, 3, "google.cloud.filestore.v1.NetworkConfig.AddressMode"
19
+ optional :reserved_ip_range, :string, 4
20
+ repeated :ip_addresses, :string, 5
21
+ end
22
+ add_enum "google.cloud.filestore.v1.NetworkConfig.AddressMode" do
23
+ value :ADDRESS_MODE_UNSPECIFIED, 0
24
+ value :MODE_IPV4, 1
25
+ end
26
+ add_message "google.cloud.filestore.v1.FileShareConfig" do
27
+ optional :name, :string, 1
28
+ optional :capacity_gb, :int64, 2
29
+ repeated :nfs_export_options, :message, 7, "google.cloud.filestore.v1.NfsExportOptions"
30
+ oneof :source do
31
+ optional :source_backup, :string, 8
32
+ end
33
+ end
34
+ add_message "google.cloud.filestore.v1.NfsExportOptions" do
35
+ repeated :ip_ranges, :string, 1
36
+ optional :access_mode, :enum, 2, "google.cloud.filestore.v1.NfsExportOptions.AccessMode"
37
+ optional :squash_mode, :enum, 3, "google.cloud.filestore.v1.NfsExportOptions.SquashMode"
38
+ optional :anon_uid, :int64, 4
39
+ optional :anon_gid, :int64, 5
40
+ end
41
+ add_enum "google.cloud.filestore.v1.NfsExportOptions.AccessMode" do
42
+ value :ACCESS_MODE_UNSPECIFIED, 0
43
+ value :READ_ONLY, 1
44
+ value :READ_WRITE, 2
45
+ end
46
+ add_enum "google.cloud.filestore.v1.NfsExportOptions.SquashMode" do
47
+ value :SQUASH_MODE_UNSPECIFIED, 0
48
+ value :NO_ROOT_SQUASH, 1
49
+ value :ROOT_SQUASH, 2
50
+ end
51
+ add_message "google.cloud.filestore.v1.Instance" do
52
+ optional :name, :string, 1
53
+ optional :description, :string, 2
54
+ optional :state, :enum, 5, "google.cloud.filestore.v1.Instance.State"
55
+ optional :status_message, :string, 6
56
+ optional :create_time, :message, 7, "google.protobuf.Timestamp"
57
+ optional :tier, :enum, 8, "google.cloud.filestore.v1.Instance.Tier"
58
+ map :labels, :string, :string, 9
59
+ repeated :file_shares, :message, 10, "google.cloud.filestore.v1.FileShareConfig"
60
+ repeated :networks, :message, 11, "google.cloud.filestore.v1.NetworkConfig"
61
+ optional :etag, :string, 12
62
+ optional :satisfies_pzs, :message, 13, "google.protobuf.BoolValue"
63
+ end
64
+ add_enum "google.cloud.filestore.v1.Instance.State" do
65
+ value :STATE_UNSPECIFIED, 0
66
+ value :CREATING, 1
67
+ value :READY, 2
68
+ value :REPAIRING, 3
69
+ value :DELETING, 4
70
+ value :ERROR, 6
71
+ value :RESTORING, 7
72
+ end
73
+ add_enum "google.cloud.filestore.v1.Instance.Tier" do
74
+ value :TIER_UNSPECIFIED, 0
75
+ value :STANDARD, 1
76
+ value :PREMIUM, 2
77
+ value :BASIC_HDD, 3
78
+ value :BASIC_SSD, 4
79
+ value :HIGH_SCALE_SSD, 5
80
+ end
81
+ add_message "google.cloud.filestore.v1.CreateInstanceRequest" do
82
+ optional :parent, :string, 1
83
+ optional :instance_id, :string, 2
84
+ optional :instance, :message, 3, "google.cloud.filestore.v1.Instance"
85
+ end
86
+ add_message "google.cloud.filestore.v1.GetInstanceRequest" do
87
+ optional :name, :string, 1
88
+ end
89
+ add_message "google.cloud.filestore.v1.UpdateInstanceRequest" do
90
+ optional :update_mask, :message, 1, "google.protobuf.FieldMask"
91
+ optional :instance, :message, 2, "google.cloud.filestore.v1.Instance"
92
+ end
93
+ add_message "google.cloud.filestore.v1.RestoreInstanceRequest" do
94
+ optional :name, :string, 1
95
+ optional :file_share, :string, 2
96
+ oneof :source do
97
+ optional :source_backup, :string, 3
98
+ end
99
+ end
100
+ add_message "google.cloud.filestore.v1.DeleteInstanceRequest" do
101
+ optional :name, :string, 1
102
+ end
103
+ add_message "google.cloud.filestore.v1.ListInstancesRequest" do
104
+ optional :parent, :string, 1
105
+ optional :page_size, :int32, 2
106
+ optional :page_token, :string, 3
107
+ optional :order_by, :string, 4
108
+ optional :filter, :string, 5
109
+ end
110
+ add_message "google.cloud.filestore.v1.ListInstancesResponse" do
111
+ repeated :instances, :message, 1, "google.cloud.filestore.v1.Instance"
112
+ optional :next_page_token, :string, 2
113
+ repeated :unreachable, :string, 3
114
+ end
115
+ add_message "google.cloud.filestore.v1.Backup" do
116
+ optional :name, :string, 1
117
+ optional :description, :string, 2
118
+ optional :state, :enum, 3, "google.cloud.filestore.v1.Backup.State"
119
+ optional :create_time, :message, 4, "google.protobuf.Timestamp"
120
+ map :labels, :string, :string, 5
121
+ optional :capacity_gb, :int64, 6
122
+ optional :storage_bytes, :int64, 7
123
+ optional :source_instance, :string, 8
124
+ optional :source_file_share, :string, 9
125
+ optional :source_instance_tier, :enum, 10, "google.cloud.filestore.v1.Instance.Tier"
126
+ optional :download_bytes, :int64, 11
127
+ optional :satisfies_pzs, :message, 12, "google.protobuf.BoolValue"
128
+ end
129
+ add_enum "google.cloud.filestore.v1.Backup.State" do
130
+ value :STATE_UNSPECIFIED, 0
131
+ value :CREATING, 1
132
+ value :FINALIZING, 2
133
+ value :READY, 3
134
+ value :DELETING, 4
135
+ end
136
+ add_message "google.cloud.filestore.v1.CreateBackupRequest" do
137
+ optional :parent, :string, 1
138
+ optional :backup, :message, 2, "google.cloud.filestore.v1.Backup"
139
+ optional :backup_id, :string, 3
140
+ end
141
+ add_message "google.cloud.filestore.v1.DeleteBackupRequest" do
142
+ optional :name, :string, 1
143
+ end
144
+ add_message "google.cloud.filestore.v1.UpdateBackupRequest" do
145
+ optional :backup, :message, 1, "google.cloud.filestore.v1.Backup"
146
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
147
+ end
148
+ add_message "google.cloud.filestore.v1.GetBackupRequest" do
149
+ optional :name, :string, 1
150
+ end
151
+ add_message "google.cloud.filestore.v1.ListBackupsRequest" do
152
+ optional :parent, :string, 1
153
+ optional :page_size, :int32, 2
154
+ optional :page_token, :string, 3
155
+ optional :order_by, :string, 4
156
+ optional :filter, :string, 5
157
+ end
158
+ add_message "google.cloud.filestore.v1.ListBackupsResponse" do
159
+ repeated :backups, :message, 1, "google.cloud.filestore.v1.Backup"
160
+ optional :next_page_token, :string, 2
161
+ repeated :unreachable, :string, 3
162
+ end
163
+ end
164
+ end
165
+
166
+ module Google
167
+ module Cloud
168
+ module Filestore
169
+ module V1
170
+ NetworkConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.NetworkConfig").msgclass
171
+ NetworkConfig::AddressMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.NetworkConfig.AddressMode").enummodule
172
+ FileShareConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.FileShareConfig").msgclass
173
+ NfsExportOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.NfsExportOptions").msgclass
174
+ NfsExportOptions::AccessMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.NfsExportOptions.AccessMode").enummodule
175
+ NfsExportOptions::SquashMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.NfsExportOptions.SquashMode").enummodule
176
+ Instance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.Instance").msgclass
177
+ Instance::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.Instance.State").enummodule
178
+ Instance::Tier = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.Instance.Tier").enummodule
179
+ CreateInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.CreateInstanceRequest").msgclass
180
+ GetInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.GetInstanceRequest").msgclass
181
+ UpdateInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.UpdateInstanceRequest").msgclass
182
+ RestoreInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.RestoreInstanceRequest").msgclass
183
+ DeleteInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.DeleteInstanceRequest").msgclass
184
+ ListInstancesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.ListInstancesRequest").msgclass
185
+ ListInstancesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.ListInstancesResponse").msgclass
186
+ Backup = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.Backup").msgclass
187
+ Backup::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.Backup.State").enummodule
188
+ CreateBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.CreateBackupRequest").msgclass
189
+ DeleteBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.DeleteBackupRequest").msgclass
190
+ UpdateBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.UpdateBackupRequest").msgclass
191
+ GetBackupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.GetBackupRequest").msgclass
192
+ ListBackupsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.ListBackupsRequest").msgclass
193
+ ListBackupsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.filestore.v1.ListBackupsResponse").msgclass
194
+ end
195
+ end
196
+ end
197
+ end
@@ -0,0 +1,92 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/filestore/v1/cloud_filestore_service.proto for package 'google.cloud.filestore.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/filestore/v1/cloud_filestore_service_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module Filestore
25
+ module V1
26
+ module CloudFilestoreManager
27
+ # Configures and manages Cloud Filestore resources.
28
+ #
29
+ # Cloud Filestore Manager v1.
30
+ #
31
+ # The `file.googleapis.com` service implements the Cloud Filestore API and
32
+ # defines the following resource model for managing instances:
33
+ # * The service works with a collection of cloud projects, named: `/projects/*`
34
+ # * Each project has a collection of available locations, named: `/locations/*`
35
+ # * Each location has a collection of instances and backups, named:
36
+ # `/instances/*` and `/backups/*` respectively.
37
+ # * As such, Cloud Filestore instances are resources of the form:
38
+ # `/projects/{project_number}/locations/{location_id}/instances/{instance_id}`
39
+ # and backups are resources of the form:
40
+ # `/projects/{project_number}/locations/{location_id}/backup/{backup_id}`
41
+ #
42
+ # Note that location_id must be a GCP `zone` for instances and but to a GCP
43
+ # `region` for backups; for example:
44
+ # * `projects/12345/locations/us-central1-c/instances/my-filestore`
45
+ # * `projects/12345/locations/us-central1/backups/my-backup`
46
+ class Service
47
+
48
+ include GRPC::GenericService
49
+
50
+ self.marshal_class_method = :encode
51
+ self.unmarshal_class_method = :decode
52
+ self.service_name = 'google.cloud.filestore.v1.CloudFilestoreManager'
53
+
54
+ # Lists all instances in a project for either a specified location
55
+ # or for all locations.
56
+ rpc :ListInstances, ::Google::Cloud::Filestore::V1::ListInstancesRequest, ::Google::Cloud::Filestore::V1::ListInstancesResponse
57
+ # Gets the details of a specific instance.
58
+ rpc :GetInstance, ::Google::Cloud::Filestore::V1::GetInstanceRequest, ::Google::Cloud::Filestore::V1::Instance
59
+ # Creates an instance.
60
+ # When creating from a backup, the capacity of the new instance needs to be
61
+ # equal to or larger than the capacity of the backup (and also equal to or
62
+ # larger than the minimum capacity of the tier).
63
+ rpc :CreateInstance, ::Google::Cloud::Filestore::V1::CreateInstanceRequest, ::Google::Longrunning::Operation
64
+ # Updates the settings of a specific instance.
65
+ rpc :UpdateInstance, ::Google::Cloud::Filestore::V1::UpdateInstanceRequest, ::Google::Longrunning::Operation
66
+ # Restores an existing instance's file share from a backup.
67
+ #
68
+ # The capacity of the instance needs to be equal to or larger than the
69
+ # capacity of the backup (and also equal to or larger than the minimum
70
+ # capacity of the tier).
71
+ rpc :RestoreInstance, ::Google::Cloud::Filestore::V1::RestoreInstanceRequest, ::Google::Longrunning::Operation
72
+ # Deletes an instance.
73
+ rpc :DeleteInstance, ::Google::Cloud::Filestore::V1::DeleteInstanceRequest, ::Google::Longrunning::Operation
74
+ # Lists all backups in a project for either a specified location or for all
75
+ # locations.
76
+ rpc :ListBackups, ::Google::Cloud::Filestore::V1::ListBackupsRequest, ::Google::Cloud::Filestore::V1::ListBackupsResponse
77
+ # Gets the details of a specific backup.
78
+ rpc :GetBackup, ::Google::Cloud::Filestore::V1::GetBackupRequest, ::Google::Cloud::Filestore::V1::Backup
79
+ # Creates a backup.
80
+ rpc :CreateBackup, ::Google::Cloud::Filestore::V1::CreateBackupRequest, ::Google::Longrunning::Operation
81
+ # Deletes a backup.
82
+ rpc :DeleteBackup, ::Google::Cloud::Filestore::V1::DeleteBackupRequest, ::Google::Longrunning::Operation
83
+ # Updates the settings of a specific backup.
84
+ rpc :UpdateBackup, ::Google::Cloud::Filestore::V1::UpdateBackupRequest, ::Google::Longrunning::Operation
85
+ end
86
+
87
+ Stub = Service.rpc_stub_class
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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 Filestore
23
+ module V1
24
+ VERSION = "0.1.0"
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,4 @@
1
+ # Filestore 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,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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
+ # An indicator of the behavior of a given field (for example, that a field
23
+ # is required in requests, or given as output but ignored as input).
24
+ # This **does not** change the behavior in protocol buffers itself; it only
25
+ # denotes the behavior and may affect how API tooling handles the field.
26
+ #
27
+ # Note: This enum **may** receive new values in the future.
28
+ module FieldBehavior
29
+ # Conventional default for enums. Do not use this.
30
+ FIELD_BEHAVIOR_UNSPECIFIED = 0
31
+
32
+ # Specifically denotes a field as optional.
33
+ # While all fields in protocol buffers are optional, this may be specified
34
+ # for emphasis if appropriate.
35
+ OPTIONAL = 1
36
+
37
+ # Denotes a field as required.
38
+ # This indicates that the field **must** be provided as part of the request,
39
+ # and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
40
+ REQUIRED = 2
41
+
42
+ # Denotes a field as output only.
43
+ # This indicates that the field is provided in responses, but including the
44
+ # field in a request does nothing (the server *must* ignore it and
45
+ # *must not* throw an error as a result of the field's presence).
46
+ OUTPUT_ONLY = 3
47
+
48
+ # Denotes a field as input only.
49
+ # This indicates that the field is provided in requests, and the
50
+ # corresponding field is not included in output.
51
+ INPUT_ONLY = 4
52
+
53
+ # Denotes a field as immutable.
54
+ # This indicates that the field may be set once in a request to create a
55
+ # resource, but may not be changed thereafter.
56
+ IMMUTABLE = 5
57
+
58
+ # Denotes that a (repeated) field is an unordered list.
59
+ # This indicates that the service may provide the elements of the list
60
+ # in any arbitrary order, rather than the order the user originally
61
+ # provided. Additionally, the list's order may or may not be stable.
62
+ UNORDERED_LIST = 6
63
+
64
+ # Denotes that this field returns a non-empty default value if not set.
65
+ # This indicates that if the user provides the empty value in a request,
66
+ # a non-empty value will be returned. The user will not be aware of what
67
+ # non-empty value to expect.
68
+ NON_EMPTY_DEFAULT = 7
69
+ end
70
+ end
71
+ end