google-cloud-filestore-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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