google-cloud-spanner-admin-instance-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +75 -0
  6. data/lib/google-cloud-spanner-admin-instance-v1.rb +21 -0
  7. data/lib/google/cloud/spanner/admin/instance/v1.rb +39 -0
  8. data/lib/google/cloud/spanner/admin/instance/v1/instance_admin.rb +74 -0
  9. data/lib/google/cloud/spanner/admin/instance/v1/instance_admin/client.rb +1291 -0
  10. data/lib/google/cloud/spanner/admin/instance/v1/instance_admin/credentials.rb +56 -0
  11. data/lib/google/cloud/spanner/admin/instance/v1/instance_admin/operations.rb +574 -0
  12. data/lib/google/cloud/spanner/admin/instance/v1/instance_admin/paths.rb +85 -0
  13. data/lib/google/cloud/spanner/admin/instance/v1/version.rb +32 -0
  14. data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_pb.rb +128 -0
  15. data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_services_pb.rb +182 -0
  16. data/proto_docs/README.md +4 -0
  17. data/proto_docs/google/api/field_behavior.rb +59 -0
  18. data/proto_docs/google/api/resource.rb +247 -0
  19. data/proto_docs/google/iam/v1/iam_policy.rb +80 -0
  20. data/proto_docs/google/iam/v1/options.rb +40 -0
  21. data/proto_docs/google/iam/v1/policy.rb +248 -0
  22. data/proto_docs/google/longrunning/operations.rb +150 -0
  23. data/proto_docs/google/protobuf/any.rb +138 -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 +120 -0
  27. data/proto_docs/google/rpc/status.rb +46 -0
  28. data/proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb +391 -0
  29. data/proto_docs/google/type/expr.rb +52 -0
  30. metadata +231 -0
@@ -0,0 +1,85 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 Spanner
23
+ module Admin
24
+ module Instance
25
+ module V1
26
+ module InstanceAdmin
27
+ # Path helper methods for the InstanceAdmin API.
28
+ module Paths
29
+ ##
30
+ # Create a fully-qualified Instance resource string.
31
+ #
32
+ # The resource will be in the following format:
33
+ #
34
+ # `projects/{project}/instances/{instance}`
35
+ #
36
+ # @param project [String]
37
+ # @param instance [String]
38
+ #
39
+ # @return [::String]
40
+ def instance_path project:, instance:
41
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
42
+
43
+ "projects/#{project}/instances/#{instance}"
44
+ end
45
+
46
+ ##
47
+ # Create a fully-qualified InstanceConfig resource string.
48
+ #
49
+ # The resource will be in the following format:
50
+ #
51
+ # `projects/{project}/instanceConfigs/{instance_config}`
52
+ #
53
+ # @param project [String]
54
+ # @param instance_config [String]
55
+ #
56
+ # @return [::String]
57
+ def instance_config_path project:, instance_config:
58
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
59
+
60
+ "projects/#{project}/instanceConfigs/#{instance_config}"
61
+ end
62
+
63
+ ##
64
+ # Create a fully-qualified Project resource string.
65
+ #
66
+ # The resource will be in the following format:
67
+ #
68
+ # `projects/{project}`
69
+ #
70
+ # @param project [String]
71
+ #
72
+ # @return [::String]
73
+ def project_path project:
74
+ "projects/#{project}"
75
+ end
76
+
77
+ extend self
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 Spanner
23
+ module Admin
24
+ module Instance
25
+ module V1
26
+ VERSION = "0.1.0"
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,128 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/spanner/admin/instance/v1/spanner_instance_admin.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/iam/v1/iam_policy_pb'
11
+ require 'google/iam/v1/policy_pb'
12
+ require 'google/longrunning/operations_pb'
13
+ require 'google/protobuf/empty_pb'
14
+ require 'google/protobuf/field_mask_pb'
15
+ require 'google/protobuf/timestamp_pb'
16
+ Google::Protobuf::DescriptorPool.generated_pool.build do
17
+ add_file("google/spanner/admin/instance/v1/spanner_instance_admin.proto", :syntax => :proto3) do
18
+ add_message "google.spanner.admin.instance.v1.ReplicaInfo" do
19
+ optional :location, :string, 1
20
+ optional :type, :enum, 2, "google.spanner.admin.instance.v1.ReplicaInfo.ReplicaType"
21
+ optional :default_leader_location, :bool, 3
22
+ end
23
+ add_enum "google.spanner.admin.instance.v1.ReplicaInfo.ReplicaType" do
24
+ value :TYPE_UNSPECIFIED, 0
25
+ value :READ_WRITE, 1
26
+ value :READ_ONLY, 2
27
+ value :WITNESS, 3
28
+ end
29
+ add_message "google.spanner.admin.instance.v1.InstanceConfig" do
30
+ optional :name, :string, 1
31
+ optional :display_name, :string, 2
32
+ repeated :replicas, :message, 3, "google.spanner.admin.instance.v1.ReplicaInfo"
33
+ end
34
+ add_message "google.spanner.admin.instance.v1.Instance" do
35
+ optional :name, :string, 1
36
+ optional :config, :string, 2
37
+ optional :display_name, :string, 3
38
+ optional :node_count, :int32, 5
39
+ optional :state, :enum, 6, "google.spanner.admin.instance.v1.Instance.State"
40
+ map :labels, :string, :string, 7
41
+ repeated :endpoint_uris, :string, 8
42
+ end
43
+ add_enum "google.spanner.admin.instance.v1.Instance.State" do
44
+ value :STATE_UNSPECIFIED, 0
45
+ value :CREATING, 1
46
+ value :READY, 2
47
+ end
48
+ add_message "google.spanner.admin.instance.v1.ListInstanceConfigsRequest" do
49
+ optional :parent, :string, 1
50
+ optional :page_size, :int32, 2
51
+ optional :page_token, :string, 3
52
+ end
53
+ add_message "google.spanner.admin.instance.v1.ListInstanceConfigsResponse" do
54
+ repeated :instance_configs, :message, 1, "google.spanner.admin.instance.v1.InstanceConfig"
55
+ optional :next_page_token, :string, 2
56
+ end
57
+ add_message "google.spanner.admin.instance.v1.GetInstanceConfigRequest" do
58
+ optional :name, :string, 1
59
+ end
60
+ add_message "google.spanner.admin.instance.v1.GetInstanceRequest" do
61
+ optional :name, :string, 1
62
+ optional :field_mask, :message, 2, "google.protobuf.FieldMask"
63
+ end
64
+ add_message "google.spanner.admin.instance.v1.CreateInstanceRequest" do
65
+ optional :parent, :string, 1
66
+ optional :instance_id, :string, 2
67
+ optional :instance, :message, 3, "google.spanner.admin.instance.v1.Instance"
68
+ end
69
+ add_message "google.spanner.admin.instance.v1.ListInstancesRequest" do
70
+ optional :parent, :string, 1
71
+ optional :page_size, :int32, 2
72
+ optional :page_token, :string, 3
73
+ optional :filter, :string, 4
74
+ end
75
+ add_message "google.spanner.admin.instance.v1.ListInstancesResponse" do
76
+ repeated :instances, :message, 1, "google.spanner.admin.instance.v1.Instance"
77
+ optional :next_page_token, :string, 2
78
+ end
79
+ add_message "google.spanner.admin.instance.v1.UpdateInstanceRequest" do
80
+ optional :instance, :message, 1, "google.spanner.admin.instance.v1.Instance"
81
+ optional :field_mask, :message, 2, "google.protobuf.FieldMask"
82
+ end
83
+ add_message "google.spanner.admin.instance.v1.DeleteInstanceRequest" do
84
+ optional :name, :string, 1
85
+ end
86
+ add_message "google.spanner.admin.instance.v1.CreateInstanceMetadata" do
87
+ optional :instance, :message, 1, "google.spanner.admin.instance.v1.Instance"
88
+ optional :start_time, :message, 2, "google.protobuf.Timestamp"
89
+ optional :cancel_time, :message, 3, "google.protobuf.Timestamp"
90
+ optional :end_time, :message, 4, "google.protobuf.Timestamp"
91
+ end
92
+ add_message "google.spanner.admin.instance.v1.UpdateInstanceMetadata" do
93
+ optional :instance, :message, 1, "google.spanner.admin.instance.v1.Instance"
94
+ optional :start_time, :message, 2, "google.protobuf.Timestamp"
95
+ optional :cancel_time, :message, 3, "google.protobuf.Timestamp"
96
+ optional :end_time, :message, 4, "google.protobuf.Timestamp"
97
+ end
98
+ end
99
+ end
100
+
101
+ module Google
102
+ module Cloud
103
+ module Spanner
104
+ module Admin
105
+ module Instance
106
+ module V1
107
+ ReplicaInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.ReplicaInfo").msgclass
108
+ ReplicaInfo::ReplicaType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.ReplicaInfo.ReplicaType").enummodule
109
+ InstanceConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.InstanceConfig").msgclass
110
+ Instance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.Instance").msgclass
111
+ Instance::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.Instance.State").enummodule
112
+ ListInstanceConfigsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.ListInstanceConfigsRequest").msgclass
113
+ ListInstanceConfigsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.ListInstanceConfigsResponse").msgclass
114
+ GetInstanceConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.GetInstanceConfigRequest").msgclass
115
+ GetInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.GetInstanceRequest").msgclass
116
+ CreateInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.CreateInstanceRequest").msgclass
117
+ ListInstancesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.ListInstancesRequest").msgclass
118
+ ListInstancesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.ListInstancesResponse").msgclass
119
+ UpdateInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.UpdateInstanceRequest").msgclass
120
+ DeleteInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.DeleteInstanceRequest").msgclass
121
+ CreateInstanceMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.CreateInstanceMetadata").msgclass
122
+ UpdateInstanceMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.UpdateInstanceMetadata").msgclass
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,182 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/spanner/admin/instance/v1/spanner_instance_admin.proto for package 'Google.Cloud.Spanner.Admin.Instance.V1'
3
+ # Original file comments:
4
+ # Copyright 2020 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/spanner/admin/instance/v1/spanner_instance_admin_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module Spanner
25
+ module Admin
26
+ module Instance
27
+ module V1
28
+ module InstanceAdmin
29
+ # Cloud Spanner Instance Admin API
30
+ #
31
+ # The Cloud Spanner Instance Admin API can be used to create, delete,
32
+ # modify and list instances. Instances are dedicated Cloud Spanner serving
33
+ # and storage resources to be used by Cloud Spanner databases.
34
+ #
35
+ # Each instance has a "configuration", which dictates where the
36
+ # serving resources for the Cloud Spanner instance are located (e.g.,
37
+ # US-central, Europe). Configurations are created by Google based on
38
+ # resource availability.
39
+ #
40
+ # Cloud Spanner billing is based on the instances that exist and their
41
+ # sizes. After an instance exists, there are no additional
42
+ # per-database or per-operation charges for use of the instance
43
+ # (though there may be additional network bandwidth charges).
44
+ # Instances offer isolation: problems with databases in one instance
45
+ # will not affect other instances. However, within an instance
46
+ # databases can affect each other. For example, if one database in an
47
+ # instance receives a lot of requests and consumes most of the
48
+ # instance resources, fewer resources are available for other
49
+ # databases in that instance, and their performance may suffer.
50
+ class Service
51
+
52
+ include GRPC::GenericService
53
+
54
+ self.marshal_class_method = :encode
55
+ self.unmarshal_class_method = :decode
56
+ self.service_name = 'google.spanner.admin.instance.v1.InstanceAdmin'
57
+
58
+ # Lists the supported instance configurations for a given project.
59
+ rpc :ListInstanceConfigs, Google::Cloud::Spanner::Admin::Instance::V1::ListInstanceConfigsRequest, Google::Cloud::Spanner::Admin::Instance::V1::ListInstanceConfigsResponse
60
+ # Gets information about a particular instance configuration.
61
+ rpc :GetInstanceConfig, Google::Cloud::Spanner::Admin::Instance::V1::GetInstanceConfigRequest, Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig
62
+ # Lists all instances in the given project.
63
+ rpc :ListInstances, Google::Cloud::Spanner::Admin::Instance::V1::ListInstancesRequest, Google::Cloud::Spanner::Admin::Instance::V1::ListInstancesResponse
64
+ # Gets information about a particular instance.
65
+ rpc :GetInstance, Google::Cloud::Spanner::Admin::Instance::V1::GetInstanceRequest, Google::Cloud::Spanner::Admin::Instance::V1::Instance
66
+ # Creates an instance and begins preparing it to begin serving. The
67
+ # returned [long-running operation][google.longrunning.Operation]
68
+ # can be used to track the progress of preparing the new
69
+ # instance. The instance name is assigned by the caller. If the
70
+ # named instance already exists, `CreateInstance` returns
71
+ # `ALREADY_EXISTS`.
72
+ #
73
+ # Immediately upon completion of this request:
74
+ #
75
+ # * The instance is readable via the API, with all requested attributes
76
+ # but no allocated resources. Its state is `CREATING`.
77
+ #
78
+ # Until completion of the returned operation:
79
+ #
80
+ # * Cancelling the operation renders the instance immediately unreadable
81
+ # via the API.
82
+ # * The instance can be deleted.
83
+ # * All other attempts to modify the instance are rejected.
84
+ #
85
+ # Upon completion of the returned operation:
86
+ #
87
+ # * Billing for all successfully-allocated resources begins (some types
88
+ # may have lower than the requested levels).
89
+ # * Databases can be created in the instance.
90
+ # * The instance's allocated resource levels are readable via the API.
91
+ # * The instance's state becomes `READY`.
92
+ #
93
+ # The returned [long-running operation][google.longrunning.Operation] will
94
+ # have a name of the format `<instance_name>/operations/<operation_id>` and
95
+ # can be used to track creation of the instance. The
96
+ # [metadata][google.longrunning.Operation.metadata] field type is
97
+ # [CreateInstanceMetadata][google.spanner.admin.instance.v1.CreateInstanceMetadata].
98
+ # The [response][google.longrunning.Operation.response] field type is
99
+ # [Instance][google.spanner.admin.instance.v1.Instance], if successful.
100
+ rpc :CreateInstance, Google::Cloud::Spanner::Admin::Instance::V1::CreateInstanceRequest, Google::Longrunning::Operation
101
+ # Updates an instance, and begins allocating or releasing resources
102
+ # as requested. The returned [long-running
103
+ # operation][google.longrunning.Operation] can be used to track the
104
+ # progress of updating the instance. If the named instance does not
105
+ # exist, returns `NOT_FOUND`.
106
+ #
107
+ # Immediately upon completion of this request:
108
+ #
109
+ # * For resource types for which a decrease in the instance's allocation
110
+ # has been requested, billing is based on the newly-requested level.
111
+ #
112
+ # Until completion of the returned operation:
113
+ #
114
+ # * Cancelling the operation sets its metadata's
115
+ # [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], and begins
116
+ # restoring resources to their pre-request values. The operation
117
+ # is guaranteed to succeed at undoing all resource changes,
118
+ # after which point it terminates with a `CANCELLED` status.
119
+ # * All other attempts to modify the instance are rejected.
120
+ # * Reading the instance via the API continues to give the pre-request
121
+ # resource levels.
122
+ #
123
+ # Upon completion of the returned operation:
124
+ #
125
+ # * Billing begins for all successfully-allocated resources (some types
126
+ # may have lower than the requested levels).
127
+ # * All newly-reserved resources are available for serving the instance's
128
+ # tables.
129
+ # * The instance's new resource levels are readable via the API.
130
+ #
131
+ # The returned [long-running operation][google.longrunning.Operation] will
132
+ # have a name of the format `<instance_name>/operations/<operation_id>` and
133
+ # can be used to track the instance modification. The
134
+ # [metadata][google.longrunning.Operation.metadata] field type is
135
+ # [UpdateInstanceMetadata][google.spanner.admin.instance.v1.UpdateInstanceMetadata].
136
+ # The [response][google.longrunning.Operation.response] field type is
137
+ # [Instance][google.spanner.admin.instance.v1.Instance], if successful.
138
+ #
139
+ # Authorization requires `spanner.instances.update` permission on
140
+ # resource [name][google.spanner.admin.instance.v1.Instance.name].
141
+ rpc :UpdateInstance, Google::Cloud::Spanner::Admin::Instance::V1::UpdateInstanceRequest, Google::Longrunning::Operation
142
+ # Deletes an instance.
143
+ #
144
+ # Immediately upon completion of the request:
145
+ #
146
+ # * Billing ceases for all of the instance's reserved resources.
147
+ #
148
+ # Soon afterward:
149
+ #
150
+ # * The instance and *all of its databases* immediately and
151
+ # irrevocably disappear from the API. All data in the databases
152
+ # is permanently deleted.
153
+ rpc :DeleteInstance, Google::Cloud::Spanner::Admin::Instance::V1::DeleteInstanceRequest, Google::Protobuf::Empty
154
+ # Sets the access control policy on an instance resource. Replaces any
155
+ # existing policy.
156
+ #
157
+ # Authorization requires `spanner.instances.setIamPolicy` on
158
+ # [resource][google.iam.v1.SetIamPolicyRequest.resource].
159
+ rpc :SetIamPolicy, Google::Iam::V1::SetIamPolicyRequest, Google::Iam::V1::Policy
160
+ # Gets the access control policy for an instance resource. Returns an empty
161
+ # policy if an instance exists but does not have a policy set.
162
+ #
163
+ # Authorization requires `spanner.instances.getIamPolicy` on
164
+ # [resource][google.iam.v1.GetIamPolicyRequest.resource].
165
+ rpc :GetIamPolicy, Google::Iam::V1::GetIamPolicyRequest, Google::Iam::V1::Policy
166
+ # Returns permissions that the caller has on the specified instance resource.
167
+ #
168
+ # Attempting this RPC on a non-existent Cloud Spanner instance resource will
169
+ # result in a NOT_FOUND error if the user has `spanner.instances.list`
170
+ # permission on the containing Google Cloud Project. Otherwise returns an
171
+ # empty set of permissions.
172
+ rpc :TestIamPermissions, Google::Iam::V1::TestIamPermissionsRequest, Google::Iam::V1::TestIamPermissionsResponse
173
+ end
174
+
175
+ Stub = Service.rpc_stub_class
176
+ end
177
+ end
178
+ end
179
+ end
180
+ end
181
+ end
182
+ end
@@ -0,0 +1,4 @@
1
+ # Cloud Spanner Instance Admin 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,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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
+ end
58
+ end
59
+ end