google-cloud-lustre-v1 1.0.0 → 1.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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -2
  3. data/lib/google/cloud/lustre/v1/bindings_override.rb +58 -1
  4. data/lib/google/cloud/lustre/v1/directory_policy_pb.rb +31 -0
  5. data/lib/google/cloud/lustre/v1/instance_pb.rb +16 -1
  6. data/lib/google/cloud/lustre/v1/lustre/client.rb +1249 -124
  7. data/lib/google/cloud/lustre/v1/lustre/credentials.rb +1 -1
  8. data/lib/google/cloud/lustre/v1/lustre/operations.rb +1 -1
  9. data/lib/google/cloud/lustre/v1/lustre/paths.rb +107 -1
  10. data/lib/google/cloud/lustre/v1/lustre/rest/client.rb +1173 -117
  11. data/lib/google/cloud/lustre/v1/lustre/rest/operations.rb +1 -1
  12. data/lib/google/cloud/lustre/v1/lustre/rest/service_stub.rb +615 -1
  13. data/lib/google/cloud/lustre/v1/lustre/rest.rb +1 -1
  14. data/lib/google/cloud/lustre/v1/lustre.rb +1 -1
  15. data/lib/google/cloud/lustre/v1/lustre_pb.rb +3 -1
  16. data/lib/google/cloud/lustre/v1/lustre_services_pb.rb +21 -1
  17. data/lib/google/cloud/lustre/v1/mirror_pb.rb +37 -0
  18. data/lib/google/cloud/lustre/v1/rest.rb +1 -1
  19. data/lib/google/cloud/lustre/v1/version.rb +1 -1
  20. data/lib/google/cloud/lustre/v1.rb +1 -1
  21. data/lib/google-cloud-lustre-v1.rb +1 -1
  22. data/proto_docs/google/api/client.rb +1 -1
  23. data/proto_docs/google/api/field_behavior.rb +1 -1
  24. data/proto_docs/google/api/field_info.rb +1 -1
  25. data/proto_docs/google/api/launch_stage.rb +1 -1
  26. data/proto_docs/google/api/resource.rb +1 -1
  27. data/proto_docs/google/cloud/lustre/v1/directory_policy.rb +142 -0
  28. data/proto_docs/google/cloud/lustre/v1/instance.rb +294 -7
  29. data/proto_docs/google/cloud/lustre/v1/mirror.rb +298 -0
  30. data/proto_docs/google/cloud/lustre/v1/transfer.rb +13 -1
  31. data/proto_docs/google/longrunning/operations.rb +1 -1
  32. data/proto_docs/google/protobuf/any.rb +1 -1
  33. data/proto_docs/google/protobuf/duration.rb +1 -1
  34. data/proto_docs/google/protobuf/empty.rb +1 -1
  35. data/proto_docs/google/protobuf/field_mask.rb +1 -1
  36. data/proto_docs/google/protobuf/timestamp.rb +8 -7
  37. data/proto_docs/google/rpc/code.rb +1 -1
  38. data/proto_docs/google/rpc/status.rb +1 -1
  39. data/proto_docs/google/type/date.rb +56 -0
  40. data/proto_docs/google/type/dayofweek.rb +49 -0
  41. data/proto_docs/google/type/timeofday.rb +49 -0
  42. metadata +28 -6
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -19,6 +19,7 @@
19
19
  require "google/cloud/errors"
20
20
  require "google/cloud/lustre/v1/lustre_pb"
21
21
  require "google/cloud/location"
22
+ require "google/iam/v1"
22
23
 
23
24
  module Google
24
25
  module Cloud
@@ -186,6 +187,14 @@ module Google
186
187
  config.universe_domain = @lustre_stub.universe_domain
187
188
  config.logger = @lustre_stub.logger if config.respond_to? :logger=
188
189
  end
190
+
191
+ @iam_policy_client = Google::Iam::V1::IAMPolicy::Client.new do |config|
192
+ config.credentials = credentials
193
+ config.quota_project = @quota_project_id
194
+ config.endpoint = @lustre_stub.endpoint
195
+ config.universe_domain = @lustre_stub.universe_domain
196
+ config.logger = @lustre_stub.logger if config.respond_to? :logger=
197
+ end
189
198
  end
190
199
 
191
200
  ##
@@ -202,6 +211,13 @@ module Google
202
211
  #
203
212
  attr_reader :location_client
204
213
 
214
+ ##
215
+ # Get the associated client for mix-in of the IAMPolicy.
216
+ #
217
+ # @return [Google::Iam::V1::IAMPolicy::Client]
218
+ #
219
+ attr_reader :iam_policy_client
220
+
205
221
  ##
206
222
  # The logger used for request/response debug logging.
207
223
  #
@@ -652,7 +668,7 @@ module Google
652
668
  # @param options [::Gapic::CallOptions, ::Hash]
653
669
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
654
670
  #
655
- # @overload delete_instance(name: nil, request_id: nil)
671
+ # @overload delete_instance(name: nil, request_id: nil, force: nil)
656
672
  # Pass arguments to `delete_instance` via keyword arguments. Note that at
657
673
  # least one keyword argument is required. To specify no parameters, or to keep all
658
674
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -674,6 +690,10 @@ module Google
674
690
  #
675
691
  # The request ID must be a valid UUID with the exception that zero UUID is
676
692
  # not supported (00000000-0000-0000-0000-000000000000).
693
+ # @param force [::Boolean]
694
+ # Optional. If set to true, any sub-resources from this instance will also be
695
+ # deleted. Otherwise, the request will only work if the instance has no
696
+ # sub-resources.
677
697
  #
678
698
  # @yield [response, operation] Access the result along with the RPC operation
679
699
  # @yieldparam response [::Gapic::Operation]
@@ -748,6 +768,106 @@ module Google
748
768
  raise ::Google::Cloud::Error.from_error(e)
749
769
  end
750
770
 
771
+ ##
772
+ # Reschedules a planned maintenance event for a specific instance.
773
+ #
774
+ # @overload reschedule_maintenance(request, options = nil)
775
+ # Pass arguments to `reschedule_maintenance` via a request object, either of type
776
+ # {::Google::Cloud::Lustre::V1::RescheduleMaintenanceRequest} or an equivalent Hash.
777
+ #
778
+ # @param request [::Google::Cloud::Lustre::V1::RescheduleMaintenanceRequest, ::Hash]
779
+ # A request object representing the call parameters. Required. To specify no
780
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
781
+ # @param options [::Gapic::CallOptions, ::Hash]
782
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
783
+ #
784
+ # @overload reschedule_maintenance(name: nil, reschedule: nil, request_id: nil)
785
+ # Pass arguments to `reschedule_maintenance` via keyword arguments. Note that at
786
+ # least one keyword argument is required. To specify no parameters, or to keep all
787
+ # the default parameter values, pass an empty Hash as a request object (see above).
788
+ #
789
+ # @param name [::String]
790
+ # Required. Format:
791
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}
792
+ # @param reschedule [::Google::Cloud::Lustre::V1::RescheduleMaintenanceRequest::Reschedule, ::Hash]
793
+ # Required. The desired reschedule settings.
794
+ # @param request_id [::String]
795
+ # Optional. A unique identifier for this request. A random UUID is
796
+ # recommended. This request is only idempotent if a `request_id` is provided.
797
+ #
798
+ # @yield [response, operation] Access the result along with the RPC operation
799
+ # @yieldparam response [::Gapic::Operation]
800
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
801
+ #
802
+ # @return [::Gapic::Operation]
803
+ #
804
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
805
+ #
806
+ # @example Basic example
807
+ # require "google/cloud/lustre/v1"
808
+ #
809
+ # # Create a client object. The client can be reused for multiple calls.
810
+ # client = Google::Cloud::Lustre::V1::Lustre::Client.new
811
+ #
812
+ # # Create a request. To set request fields, pass in keyword arguments.
813
+ # request = Google::Cloud::Lustre::V1::RescheduleMaintenanceRequest.new
814
+ #
815
+ # # Call the reschedule_maintenance method.
816
+ # result = client.reschedule_maintenance request
817
+ #
818
+ # # The returned object is of type Gapic::Operation. You can use it to
819
+ # # check the status of an operation, cancel it, or wait for results.
820
+ # # Here is how to wait for a response.
821
+ # result.wait_until_done! timeout: 60
822
+ # if result.response?
823
+ # p result.response
824
+ # else
825
+ # puts "No response received."
826
+ # end
827
+ #
828
+ def reschedule_maintenance request, options = nil
829
+ raise ::ArgumentError, "request must be provided" if request.nil?
830
+
831
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Lustre::V1::RescheduleMaintenanceRequest
832
+
833
+ # Converts hash and nil to an options object
834
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
835
+
836
+ # Customize the options with defaults
837
+ metadata = @config.rpcs.reschedule_maintenance.metadata.to_h
838
+
839
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
840
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
841
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
842
+ gapic_version: ::Google::Cloud::Lustre::V1::VERSION
843
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
844
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
845
+
846
+ header_params = {}
847
+ if request.name
848
+ header_params["name"] = request.name
849
+ end
850
+
851
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
852
+ metadata[:"x-goog-request-params"] ||= request_params_header
853
+
854
+ options.apply_defaults timeout: @config.rpcs.reschedule_maintenance.timeout,
855
+ metadata: metadata,
856
+ retry_policy: @config.rpcs.reschedule_maintenance.retry_policy
857
+
858
+ options.apply_defaults timeout: @config.timeout,
859
+ metadata: @config.metadata,
860
+ retry_policy: @config.retry_policy
861
+
862
+ @lustre_stub.call_rpc :reschedule_maintenance, request, options: options do |response, operation|
863
+ response = ::Gapic::Operation.new response, @operations_client, options: options
864
+ yield response, operation if block_given?
865
+ throw :response, response
866
+ end
867
+ rescue ::GRPC::BadStatus => e
868
+ raise ::Google::Cloud::Error.from_error(e)
869
+ end
870
+
751
871
  ##
752
872
  # Imports data from Cloud Storage to a Managed Lustre instance.
753
873
  #
@@ -781,6 +901,12 @@ module Google
781
901
  # Optional. User-specified service account used to perform the transfer.
782
902
  # If unspecified, the default Managed Lustre service agent will be used.
783
903
  #
904
+ # Use one of the following formats:
905
+ #
906
+ # * `{EMAIL_ADDRESS_OR_UNIQUE_ID}`
907
+ # * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}`
908
+ # * `projects/-/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}`
909
+ #
784
910
  # @yield [response, operation] Access the result along with the RPC operation
785
911
  # @yieldparam response [::Gapic::Operation]
786
912
  # @yieldparam operation [::GRPC::ActiveCall::Operation]
@@ -889,6 +1015,12 @@ module Google
889
1015
  # Optional. User-specified service account used to perform the transfer.
890
1016
  # If unspecified, the Managed Lustre service agent is used.
891
1017
  #
1018
+ # Use one of the following formats:
1019
+ #
1020
+ # * `{EMAIL_ADDRESS_OR_UNIQUE_ID}`
1021
+ # * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}`
1022
+ # * `projects/-/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}`
1023
+ #
892
1024
  # @yield [response, operation] Access the result along with the RPC operation
893
1025
  # @yieldparam response [::Gapic::Operation]
894
1026
  # @yieldparam operation [::GRPC::ActiveCall::Operation]
@@ -963,145 +1095,1068 @@ module Google
963
1095
  end
964
1096
 
965
1097
  ##
966
- # Configuration class for the Lustre API.
1098
+ # Creates a new mirror in a given instance.
967
1099
  #
968
- # This class represents the configuration for Lustre,
969
- # providing control over timeouts, retry behavior, logging, transport
970
- # parameters, and other low-level controls. Certain parameters can also be
971
- # applied individually to specific RPCs. See
972
- # {::Google::Cloud::Lustre::V1::Lustre::Client::Configuration::Rpcs}
973
- # for a list of RPCs that can be configured independently.
1100
+ # @overload create_mirror(request, options = nil)
1101
+ # Pass arguments to `create_mirror` via a request object, either of type
1102
+ # {::Google::Cloud::Lustre::V1::CreateMirrorRequest} or an equivalent Hash.
974
1103
  #
975
- # Configuration can be applied globally to all clients, or to a single client
976
- # on construction.
1104
+ # @param request [::Google::Cloud::Lustre::V1::CreateMirrorRequest, ::Hash]
1105
+ # A request object representing the call parameters. Required. To specify no
1106
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1107
+ # @param options [::Gapic::CallOptions, ::Hash]
1108
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
977
1109
  #
978
- # @example
1110
+ # @overload create_mirror(parent: nil, mirror_id: nil, mirror: nil, request_id: nil)
1111
+ # Pass arguments to `create_mirror` via keyword arguments. Note that at
1112
+ # least one keyword argument is required. To specify no parameters, or to keep all
1113
+ # the default parameter values, pass an empty Hash as a request object (see above).
979
1114
  #
980
- # # Modify the global config, setting the timeout for
981
- # # list_instances to 20 seconds,
982
- # # and all remaining timeouts to 10 seconds.
983
- # ::Google::Cloud::Lustre::V1::Lustre::Client.configure do |config|
984
- # config.timeout = 10.0
985
- # config.rpcs.list_instances.timeout = 20.0
986
- # end
1115
+ # @param parent [::String]
1116
+ # Required. Parent instance resource where the mirror will be created, in the
1117
+ # format: `projects/{project}/locations/{location}/instances/{instance}`
1118
+ # @param mirror_id [::String]
1119
+ # Required. The ID to use for the mirror.
987
1120
  #
988
- # # Apply the above configuration only to a new client.
989
- # client = ::Google::Cloud::Lustre::V1::Lustre::Client.new do |config|
990
- # config.timeout = 10.0
991
- # config.rpcs.list_instances.timeout = 20.0
992
- # end
1121
+ # * Must contain only lowercase letters, numbers, and hyphens.
1122
+ # * Must start with a letter.
1123
+ # * Must be between 1-63 characters.
1124
+ # * Must end with a number or a letter.
993
1125
  #
994
- # @!attribute [rw] endpoint
995
- # A custom service endpoint, as a hostname or hostname:port. The default is
996
- # nil, indicating to use the default endpoint in the current universe domain.
997
- # @return [::String,nil]
998
- # @!attribute [rw] credentials
999
- # Credentials to send with calls. You may provide any of the following types:
1000
- # * (`Google::Auth::Credentials`) A googleauth credentials object
1001
- # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
1002
- # * (`Signet::OAuth2::Client`) A signet oauth2 client object
1003
- # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
1004
- # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
1005
- # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
1006
- # * (`nil`) indicating no credentials
1126
+ # The ID cannot be changed after the mirror is created.
1127
+ # @param mirror [::Google::Cloud::Lustre::V1::Mirror, ::Hash]
1128
+ # Required. The mirror to create.
1129
+ # @param request_id [::String]
1130
+ # Optional. The unique ID to identify requests. Specify a unique request ID
1131
+ # so that if you must retry your request, the server will know to ignore
1132
+ # the request if it has already been completed. The server guarantees that a
1133
+ # request doesn't result in creation of duplicate mirrors for at least 60
1134
+ # minutes.
1007
1135
  #
1008
- # @note Warning: Passing a `String` to a keyfile path or a `Hash` of credentials
1009
- # is deprecated. Providing an unvalidated credential configuration to
1010
- # Google APIs can compromise the security of your systems and data.
1136
+ # For example, consider a situation where you make an initial request and the
1137
+ # request times out. If you make the request again with the same request
1138
+ # ID, the server can check if original operation with the same request ID
1139
+ # was received, and if so, will ignore the second request. This prevents
1140
+ # clients from accidentally creating duplicate mirrors.
1011
1141
  #
1012
- # @example
1142
+ # The request ID must be a valid UUID version 4 with the exception that zero
1143
+ # UUID is not supported (`00000000-0000-0000-0000-000000000000`).
1144
+ # This request is only idempotent if a `request_id` is provided.
1013
1145
  #
1014
- # # The recommended way to provide credentials is to use the `make_creds` method
1015
- # # on the appropriate credentials class for your environment.
1146
+ # @yield [response, operation] Access the result along with the RPC operation
1147
+ # @yieldparam response [::Gapic::Operation]
1148
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1016
1149
  #
1017
- # require "googleauth"
1150
+ # @return [::Gapic::Operation]
1018
1151
  #
1019
- # credentials = ::Google::Auth::ServiceAccountCredentials.make_creds(
1020
- # json_key_io: ::File.open("/path/to/keyfile.json")
1021
- # )
1152
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1022
1153
  #
1023
- # client = ::Google::Cloud::Lustre::V1::Lustre::Client.new do |config|
1024
- # config.credentials = credentials
1025
- # end
1154
+ # @example Basic example
1155
+ # require "google/cloud/lustre/v1"
1026
1156
  #
1027
- # @note Warning: If you accept a credential configuration (JSON file or Hash) from an
1028
- # external source for authentication to Google Cloud, you must validate it before
1029
- # providing it to a Google API client library. Providing an unvalidated credential
1030
- # configuration to Google APIs can compromise the security of your systems and data.
1031
- # For more information, refer to [Validate credential configurations from external
1032
- # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
1033
- # @return [::Object]
1034
- # @!attribute [rw] scope
1035
- # The OAuth scopes
1036
- # @return [::Array<::String>]
1037
- # @!attribute [rw] lib_name
1038
- # The library name as recorded in instrumentation and logging
1039
- # @return [::String]
1040
- # @!attribute [rw] lib_version
1041
- # The library version as recorded in instrumentation and logging
1042
- # @return [::String]
1043
- # @!attribute [rw] channel_args
1044
- # Extra parameters passed to the gRPC channel. Note: this is ignored if a
1045
- # `GRPC::Core::Channel` object is provided as the credential.
1046
- # @return [::Hash]
1047
- # @!attribute [rw] interceptors
1048
- # An array of interceptors that are run before calls are executed.
1049
- # @return [::Array<::GRPC::ClientInterceptor>]
1050
- # @!attribute [rw] timeout
1051
- # The call timeout in seconds.
1052
- # @return [::Numeric]
1053
- # @!attribute [rw] metadata
1054
- # Additional gRPC headers to be sent with the call.
1055
- # @return [::Hash{::Symbol=>::String}]
1056
- # @!attribute [rw] retry_policy
1057
- # The retry policy. The value is a hash with the following keys:
1058
- # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1059
- # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1060
- # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1061
- # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
1062
- # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1063
- # trigger a retry.
1064
- # @return [::Hash]
1065
- # @!attribute [rw] quota_project
1066
- # A separate project against which to charge quota.
1067
- # @return [::String]
1068
- # @!attribute [rw] universe_domain
1069
- # The universe domain within which to make requests. This determines the
1070
- # default endpoint URL. The default value of nil uses the environment
1071
- # universe (usually the default "googleapis.com" universe).
1072
- # @return [::String,nil]
1073
- # @!attribute [rw] logger
1074
- # A custom logger to use for request/response debug logging, or the value
1075
- # `:default` (the default) to construct a default logger, or `nil` to
1076
- # explicitly disable logging.
1077
- # @return [::Logger,:default,nil]
1157
+ # # Create a client object. The client can be reused for multiple calls.
1158
+ # client = Google::Cloud::Lustre::V1::Lustre::Client.new
1078
1159
  #
1079
- class Configuration
1080
- extend ::Gapic::Config
1160
+ # # Create a request. To set request fields, pass in keyword arguments.
1161
+ # request = Google::Cloud::Lustre::V1::CreateMirrorRequest.new
1162
+ #
1163
+ # # Call the create_mirror method.
1164
+ # result = client.create_mirror request
1165
+ #
1166
+ # # The returned object is of type Gapic::Operation. You can use it to
1167
+ # # check the status of an operation, cancel it, or wait for results.
1168
+ # # Here is how to wait for a response.
1169
+ # result.wait_until_done! timeout: 60
1170
+ # if result.response?
1171
+ # p result.response
1172
+ # else
1173
+ # puts "No response received."
1174
+ # end
1175
+ #
1176
+ def create_mirror request, options = nil
1177
+ raise ::ArgumentError, "request must be provided" if request.nil?
1081
1178
 
1082
- # @private
1083
- # The endpoint specific to the default "googleapis.com" universe. Deprecated.
1084
- DEFAULT_ENDPOINT = "lustre.googleapis.com"
1179
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Lustre::V1::CreateMirrorRequest
1085
1180
 
1086
- config_attr :endpoint, nil, ::String, nil
1087
- config_attr :credentials, nil do |value|
1088
- allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Google::Auth::BaseClient, ::Signet::OAuth2::Client, nil]
1089
- allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC::Core::Channel
1090
- allowed.any? { |klass| klass === value }
1091
- end
1092
- config_attr :scope, nil, ::String, ::Array, nil
1093
- config_attr :lib_name, nil, ::String, nil
1094
- config_attr :lib_version, nil, ::String, nil
1095
- config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
1096
- config_attr :interceptors, nil, ::Array, nil
1097
- config_attr :timeout, nil, ::Numeric, nil
1098
- config_attr :metadata, nil, ::Hash, nil
1099
- config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1100
- config_attr :quota_project, nil, ::String, nil
1101
- config_attr :universe_domain, nil, ::String, nil
1102
- config_attr :logger, :default, ::Logger, nil, :default
1181
+ # Converts hash and nil to an options object
1182
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1103
1183
 
1104
- # @private
1184
+ # Customize the options with defaults
1185
+ metadata = @config.rpcs.create_mirror.metadata.to_h
1186
+
1187
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1188
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1189
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1190
+ gapic_version: ::Google::Cloud::Lustre::V1::VERSION
1191
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1192
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1193
+
1194
+ header_params = {}
1195
+ if request.parent
1196
+ header_params["parent"] = request.parent
1197
+ end
1198
+
1199
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1200
+ metadata[:"x-goog-request-params"] ||= request_params_header
1201
+
1202
+ options.apply_defaults timeout: @config.rpcs.create_mirror.timeout,
1203
+ metadata: metadata,
1204
+ retry_policy: @config.rpcs.create_mirror.retry_policy
1205
+
1206
+ options.apply_defaults timeout: @config.timeout,
1207
+ metadata: @config.metadata,
1208
+ retry_policy: @config.retry_policy
1209
+
1210
+ @lustre_stub.call_rpc :create_mirror, request, options: options do |response, operation|
1211
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1212
+ yield response, operation if block_given?
1213
+ throw :response, response
1214
+ end
1215
+ rescue ::GRPC::BadStatus => e
1216
+ raise ::Google::Cloud::Error.from_error(e)
1217
+ end
1218
+
1219
+ ##
1220
+ # Updates the parameters of a single mirror.
1221
+ #
1222
+ # @overload update_mirror(request, options = nil)
1223
+ # Pass arguments to `update_mirror` via a request object, either of type
1224
+ # {::Google::Cloud::Lustre::V1::UpdateMirrorRequest} or an equivalent Hash.
1225
+ #
1226
+ # @param request [::Google::Cloud::Lustre::V1::UpdateMirrorRequest, ::Hash]
1227
+ # A request object representing the call parameters. Required. To specify no
1228
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1229
+ # @param options [::Gapic::CallOptions, ::Hash]
1230
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1231
+ #
1232
+ # @overload update_mirror(mirror: nil, update_mask: nil, request_id: nil)
1233
+ # Pass arguments to `update_mirror` via keyword arguments. Note that at
1234
+ # least one keyword argument is required. To specify no parameters, or to keep all
1235
+ # the default parameter values, pass an empty Hash as a request object (see above).
1236
+ #
1237
+ # @param mirror [::Google::Cloud::Lustre::V1::Mirror, ::Hash]
1238
+ # Required. Mirror to update. The mirror's `name` field is used to identify
1239
+ # the mirror to update, in the format:
1240
+ # `projects/{project}/locations/{location}/instances/{instance}/mirrors/{mirror}`
1241
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
1242
+ # Optional. Fields specified in the update_mask are relative to the resource,
1243
+ # not the full request. A field will be overwritten if it is in the mask. If
1244
+ # no mask is provided then all fields present in the request are overwritten.
1245
+ # @param request_id [::String]
1246
+ # Optional. The unique ID to identify requests. Specify a unique request ID
1247
+ # so that if you must retry your request, the server will know to ignore
1248
+ # the request if it has already been completed. The server guarantees that a
1249
+ # request doesn't result in the same update request being executed for at
1250
+ # least 60 minutes.
1251
+ #
1252
+ # For example, consider a situation where you make an initial request and the
1253
+ # request times out. If you make the request again with the same request
1254
+ # ID, the server can check if original operation with the same request ID
1255
+ # was received, and if so, will ignore the second request.
1256
+ #
1257
+ # The request ID must be a valid UUID version 4 with the exception that zero
1258
+ # UUID is not supported (`00000000-0000-0000-0000-000000000000`).
1259
+ # This request is only idempotent if a `request_id` is provided.
1260
+ #
1261
+ # @yield [response, operation] Access the result along with the RPC operation
1262
+ # @yieldparam response [::Gapic::Operation]
1263
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1264
+ #
1265
+ # @return [::Gapic::Operation]
1266
+ #
1267
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1268
+ #
1269
+ # @example Basic example
1270
+ # require "google/cloud/lustre/v1"
1271
+ #
1272
+ # # Create a client object. The client can be reused for multiple calls.
1273
+ # client = Google::Cloud::Lustre::V1::Lustre::Client.new
1274
+ #
1275
+ # # Create a request. To set request fields, pass in keyword arguments.
1276
+ # request = Google::Cloud::Lustre::V1::UpdateMirrorRequest.new
1277
+ #
1278
+ # # Call the update_mirror method.
1279
+ # result = client.update_mirror request
1280
+ #
1281
+ # # The returned object is of type Gapic::Operation. You can use it to
1282
+ # # check the status of an operation, cancel it, or wait for results.
1283
+ # # Here is how to wait for a response.
1284
+ # result.wait_until_done! timeout: 60
1285
+ # if result.response?
1286
+ # p result.response
1287
+ # else
1288
+ # puts "No response received."
1289
+ # end
1290
+ #
1291
+ def update_mirror request, options = nil
1292
+ raise ::ArgumentError, "request must be provided" if request.nil?
1293
+
1294
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Lustre::V1::UpdateMirrorRequest
1295
+
1296
+ # Converts hash and nil to an options object
1297
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1298
+
1299
+ # Customize the options with defaults
1300
+ metadata = @config.rpcs.update_mirror.metadata.to_h
1301
+
1302
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1303
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1304
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1305
+ gapic_version: ::Google::Cloud::Lustre::V1::VERSION
1306
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1307
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1308
+
1309
+ header_params = {}
1310
+ if request.mirror&.name
1311
+ header_params["mirror.name"] = request.mirror.name
1312
+ end
1313
+
1314
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1315
+ metadata[:"x-goog-request-params"] ||= request_params_header
1316
+
1317
+ options.apply_defaults timeout: @config.rpcs.update_mirror.timeout,
1318
+ metadata: metadata,
1319
+ retry_policy: @config.rpcs.update_mirror.retry_policy
1320
+
1321
+ options.apply_defaults timeout: @config.timeout,
1322
+ metadata: @config.metadata,
1323
+ retry_policy: @config.retry_policy
1324
+
1325
+ @lustre_stub.call_rpc :update_mirror, request, options: options do |response, operation|
1326
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1327
+ yield response, operation if block_given?
1328
+ throw :response, response
1329
+ end
1330
+ rescue ::GRPC::BadStatus => e
1331
+ raise ::Google::Cloud::Error.from_error(e)
1332
+ end
1333
+
1334
+ ##
1335
+ # Deletes a single mirror.
1336
+ #
1337
+ # @overload delete_mirror(request, options = nil)
1338
+ # Pass arguments to `delete_mirror` via a request object, either of type
1339
+ # {::Google::Cloud::Lustre::V1::DeleteMirrorRequest} or an equivalent Hash.
1340
+ #
1341
+ # @param request [::Google::Cloud::Lustre::V1::DeleteMirrorRequest, ::Hash]
1342
+ # A request object representing the call parameters. Required. To specify no
1343
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1344
+ # @param options [::Gapic::CallOptions, ::Hash]
1345
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1346
+ #
1347
+ # @overload delete_mirror(name: nil, request_id: nil)
1348
+ # Pass arguments to `delete_mirror` via keyword arguments. Note that at
1349
+ # least one keyword argument is required. To specify no parameters, or to keep all
1350
+ # the default parameter values, pass an empty Hash as a request object (see above).
1351
+ #
1352
+ # @param name [::String]
1353
+ # Required. Name of the mirror to delete, in the format:
1354
+ # `projects/{project}/locations/{location}/instances/{instance}/mirrors/{mirror}`
1355
+ # @param request_id [::String]
1356
+ # Optional. The unique ID to identify requests. Specify a unique request ID
1357
+ # so that if you must retry your request, the server will know to ignore
1358
+ # the request if it has already been completed. The server guarantees that a
1359
+ # request doesn't result in the same delete request being executed for at
1360
+ # least 60 minutes.
1361
+ #
1362
+ # For example, consider a situation where you make an initial request and the
1363
+ # request times out. If you make the request again with the same request
1364
+ # ID, the server can check if original operation with the same request ID
1365
+ # was received, and if so, will ignore the second request.
1366
+ #
1367
+ # The request ID must be a valid UUID version 4 with the exception that zero
1368
+ # UUID is not supported (`00000000-0000-0000-0000-000000000000`).
1369
+ # This request is only idempotent if a `request_id` is provided.
1370
+ #
1371
+ # @yield [response, operation] Access the result along with the RPC operation
1372
+ # @yieldparam response [::Gapic::Operation]
1373
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1374
+ #
1375
+ # @return [::Gapic::Operation]
1376
+ #
1377
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1378
+ #
1379
+ # @example Basic example
1380
+ # require "google/cloud/lustre/v1"
1381
+ #
1382
+ # # Create a client object. The client can be reused for multiple calls.
1383
+ # client = Google::Cloud::Lustre::V1::Lustre::Client.new
1384
+ #
1385
+ # # Create a request. To set request fields, pass in keyword arguments.
1386
+ # request = Google::Cloud::Lustre::V1::DeleteMirrorRequest.new
1387
+ #
1388
+ # # Call the delete_mirror method.
1389
+ # result = client.delete_mirror request
1390
+ #
1391
+ # # The returned object is of type Gapic::Operation. You can use it to
1392
+ # # check the status of an operation, cancel it, or wait for results.
1393
+ # # Here is how to wait for a response.
1394
+ # result.wait_until_done! timeout: 60
1395
+ # if result.response?
1396
+ # p result.response
1397
+ # else
1398
+ # puts "No response received."
1399
+ # end
1400
+ #
1401
+ def delete_mirror request, options = nil
1402
+ raise ::ArgumentError, "request must be provided" if request.nil?
1403
+
1404
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Lustre::V1::DeleteMirrorRequest
1405
+
1406
+ # Converts hash and nil to an options object
1407
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1408
+
1409
+ # Customize the options with defaults
1410
+ metadata = @config.rpcs.delete_mirror.metadata.to_h
1411
+
1412
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1413
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1414
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1415
+ gapic_version: ::Google::Cloud::Lustre::V1::VERSION
1416
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1417
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1418
+
1419
+ header_params = {}
1420
+ if request.name
1421
+ header_params["name"] = request.name
1422
+ end
1423
+
1424
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1425
+ metadata[:"x-goog-request-params"] ||= request_params_header
1426
+
1427
+ options.apply_defaults timeout: @config.rpcs.delete_mirror.timeout,
1428
+ metadata: metadata,
1429
+ retry_policy: @config.rpcs.delete_mirror.retry_policy
1430
+
1431
+ options.apply_defaults timeout: @config.timeout,
1432
+ metadata: @config.metadata,
1433
+ retry_policy: @config.retry_policy
1434
+
1435
+ @lustre_stub.call_rpc :delete_mirror, request, options: options do |response, operation|
1436
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1437
+ yield response, operation if block_given?
1438
+ throw :response, response
1439
+ end
1440
+ rescue ::GRPC::BadStatus => e
1441
+ raise ::Google::Cloud::Error.from_error(e)
1442
+ end
1443
+
1444
+ ##
1445
+ # Gets details of a single mirror.
1446
+ #
1447
+ # @overload get_mirror(request, options = nil)
1448
+ # Pass arguments to `get_mirror` via a request object, either of type
1449
+ # {::Google::Cloud::Lustre::V1::GetMirrorRequest} or an equivalent Hash.
1450
+ #
1451
+ # @param request [::Google::Cloud::Lustre::V1::GetMirrorRequest, ::Hash]
1452
+ # A request object representing the call parameters. Required. To specify no
1453
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1454
+ # @param options [::Gapic::CallOptions, ::Hash]
1455
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1456
+ #
1457
+ # @overload get_mirror(name: nil)
1458
+ # Pass arguments to `get_mirror` via keyword arguments. Note that at
1459
+ # least one keyword argument is required. To specify no parameters, or to keep all
1460
+ # the default parameter values, pass an empty Hash as a request object (see above).
1461
+ #
1462
+ # @param name [::String]
1463
+ # Required. Name of the mirror to retrieve, in the format:
1464
+ # `projects/{project}/locations/{location}/instances/{instance}/mirrors/{mirror}`
1465
+ #
1466
+ # @yield [response, operation] Access the result along with the RPC operation
1467
+ # @yieldparam response [::Google::Cloud::Lustre::V1::Mirror]
1468
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1469
+ #
1470
+ # @return [::Google::Cloud::Lustre::V1::Mirror]
1471
+ #
1472
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1473
+ #
1474
+ # @example Basic example
1475
+ # require "google/cloud/lustre/v1"
1476
+ #
1477
+ # # Create a client object. The client can be reused for multiple calls.
1478
+ # client = Google::Cloud::Lustre::V1::Lustre::Client.new
1479
+ #
1480
+ # # Create a request. To set request fields, pass in keyword arguments.
1481
+ # request = Google::Cloud::Lustre::V1::GetMirrorRequest.new
1482
+ #
1483
+ # # Call the get_mirror method.
1484
+ # result = client.get_mirror request
1485
+ #
1486
+ # # The returned object is of type Google::Cloud::Lustre::V1::Mirror.
1487
+ # p result
1488
+ #
1489
+ def get_mirror request, options = nil
1490
+ raise ::ArgumentError, "request must be provided" if request.nil?
1491
+
1492
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Lustre::V1::GetMirrorRequest
1493
+
1494
+ # Converts hash and nil to an options object
1495
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1496
+
1497
+ # Customize the options with defaults
1498
+ metadata = @config.rpcs.get_mirror.metadata.to_h
1499
+
1500
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1501
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1502
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1503
+ gapic_version: ::Google::Cloud::Lustre::V1::VERSION
1504
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1505
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1506
+
1507
+ header_params = {}
1508
+ if request.name
1509
+ header_params["name"] = request.name
1510
+ end
1511
+
1512
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1513
+ metadata[:"x-goog-request-params"] ||= request_params_header
1514
+
1515
+ options.apply_defaults timeout: @config.rpcs.get_mirror.timeout,
1516
+ metadata: metadata,
1517
+ retry_policy: @config.rpcs.get_mirror.retry_policy
1518
+
1519
+ options.apply_defaults timeout: @config.timeout,
1520
+ metadata: @config.metadata,
1521
+ retry_policy: @config.retry_policy
1522
+
1523
+ @lustre_stub.call_rpc :get_mirror, request, options: options do |response, operation|
1524
+ yield response, operation if block_given?
1525
+ end
1526
+ rescue ::GRPC::BadStatus => e
1527
+ raise ::Google::Cloud::Error.from_error(e)
1528
+ end
1529
+
1530
+ ##
1531
+ # Gets details of multiple mirrors under a given instance.
1532
+ #
1533
+ # @overload list_mirrors(request, options = nil)
1534
+ # Pass arguments to `list_mirrors` via a request object, either of type
1535
+ # {::Google::Cloud::Lustre::V1::ListMirrorsRequest} or an equivalent Hash.
1536
+ #
1537
+ # @param request [::Google::Cloud::Lustre::V1::ListMirrorsRequest, ::Hash]
1538
+ # A request object representing the call parameters. Required. To specify no
1539
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1540
+ # @param options [::Gapic::CallOptions, ::Hash]
1541
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1542
+ #
1543
+ # @overload list_mirrors(parent: nil, page_size: nil, page_token: nil, order_by: nil, filter: nil)
1544
+ # Pass arguments to `list_mirrors` via keyword arguments. Note that at
1545
+ # least one keyword argument is required. To specify no parameters, or to keep all
1546
+ # the default parameter values, pass an empty Hash as a request object (see above).
1547
+ #
1548
+ # @param parent [::String]
1549
+ # Required. Parent instance resource where the mirrors will be listed, in the
1550
+ # format: `projects/{project}/locations/{location}/instances/{instance}`
1551
+ # @param page_size [::Integer]
1552
+ # Optional. Requested page size. The server might return fewer items than
1553
+ # requested. If unspecified, the default page size is 10. The maximum value
1554
+ # is 1000.
1555
+ # @param page_token [::String]
1556
+ # Optional. A page token, received from a previous `ListMirrors` call.
1557
+ # Provide this to retrieve the subsequent page.
1558
+ # When paginating, all other parameters provided to `ListMirrors` must match
1559
+ # the call that provided the page token.
1560
+ # @param order_by [::String]
1561
+ # Optional. Desired order of results.
1562
+ # @param filter [::String]
1563
+ # Optional. Filtering results.
1564
+ #
1565
+ # @yield [response, operation] Access the result along with the RPC operation
1566
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Lustre::V1::Mirror>]
1567
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1568
+ #
1569
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Lustre::V1::Mirror>]
1570
+ #
1571
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1572
+ #
1573
+ # @example Basic example
1574
+ # require "google/cloud/lustre/v1"
1575
+ #
1576
+ # # Create a client object. The client can be reused for multiple calls.
1577
+ # client = Google::Cloud::Lustre::V1::Lustre::Client.new
1578
+ #
1579
+ # # Create a request. To set request fields, pass in keyword arguments.
1580
+ # request = Google::Cloud::Lustre::V1::ListMirrorsRequest.new
1581
+ #
1582
+ # # Call the list_mirrors method.
1583
+ # result = client.list_mirrors request
1584
+ #
1585
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
1586
+ # # over elements, and API calls will be issued to fetch pages as needed.
1587
+ # result.each do |item|
1588
+ # # Each element is of type ::Google::Cloud::Lustre::V1::Mirror.
1589
+ # p item
1590
+ # end
1591
+ #
1592
+ def list_mirrors request, options = nil
1593
+ raise ::ArgumentError, "request must be provided" if request.nil?
1594
+
1595
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Lustre::V1::ListMirrorsRequest
1596
+
1597
+ # Converts hash and nil to an options object
1598
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1599
+
1600
+ # Customize the options with defaults
1601
+ metadata = @config.rpcs.list_mirrors.metadata.to_h
1602
+
1603
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1604
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1605
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1606
+ gapic_version: ::Google::Cloud::Lustre::V1::VERSION
1607
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1608
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1609
+
1610
+ header_params = {}
1611
+ if request.parent
1612
+ header_params["parent"] = request.parent
1613
+ end
1614
+
1615
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1616
+ metadata[:"x-goog-request-params"] ||= request_params_header
1617
+
1618
+ options.apply_defaults timeout: @config.rpcs.list_mirrors.timeout,
1619
+ metadata: metadata,
1620
+ retry_policy: @config.rpcs.list_mirrors.retry_policy
1621
+
1622
+ options.apply_defaults timeout: @config.timeout,
1623
+ metadata: @config.metadata,
1624
+ retry_policy: @config.retry_policy
1625
+
1626
+ @lustre_stub.call_rpc :list_mirrors, request, options: options do |response, operation|
1627
+ response = ::Gapic::PagedEnumerable.new @lustre_stub, :list_mirrors, request, response, operation, options
1628
+ yield response, operation if block_given?
1629
+ throw :response, response
1630
+ end
1631
+ rescue ::GRPC::BadStatus => e
1632
+ raise ::Google::Cloud::Error.from_error(e)
1633
+ end
1634
+
1635
+ ##
1636
+ # Creates a directory policy resource.
1637
+ #
1638
+ # @overload create_directory_policy(request, options = nil)
1639
+ # Pass arguments to `create_directory_policy` via a request object, either of type
1640
+ # {::Google::Cloud::Lustre::V1::CreateDirectoryPolicyRequest} or an equivalent Hash.
1641
+ #
1642
+ # @param request [::Google::Cloud::Lustre::V1::CreateDirectoryPolicyRequest, ::Hash]
1643
+ # A request object representing the call parameters. Required. To specify no
1644
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1645
+ # @param options [::Gapic::CallOptions, ::Hash]
1646
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1647
+ #
1648
+ # @overload create_directory_policy(parent: nil, directory_policy_id: nil, directory_policy: nil)
1649
+ # Pass arguments to `create_directory_policy` via keyword arguments. Note that at
1650
+ # least one keyword argument is required. To specify no parameters, or to keep all
1651
+ # the default parameter values, pass an empty Hash as a request object (see above).
1652
+ #
1653
+ # @param parent [::String]
1654
+ # Required. The parent instance.
1655
+ # It must be in the format of
1656
+ # `projects/{project}/locations/{location}/instances/{instance}`.
1657
+ # @param directory_policy_id [::String]
1658
+ # Required. The ID for the DirectoryPolicy to create.
1659
+ # @param directory_policy [::Google::Cloud::Lustre::V1::DirectoryPolicy, ::Hash]
1660
+ # Required. The directory policy to create.
1661
+ #
1662
+ # @yield [response, operation] Access the result along with the RPC operation
1663
+ # @yieldparam response [::Gapic::Operation]
1664
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1665
+ #
1666
+ # @return [::Gapic::Operation]
1667
+ #
1668
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1669
+ #
1670
+ # @example Basic example
1671
+ # require "google/cloud/lustre/v1"
1672
+ #
1673
+ # # Create a client object. The client can be reused for multiple calls.
1674
+ # client = Google::Cloud::Lustre::V1::Lustre::Client.new
1675
+ #
1676
+ # # Create a request. To set request fields, pass in keyword arguments.
1677
+ # request = Google::Cloud::Lustre::V1::CreateDirectoryPolicyRequest.new
1678
+ #
1679
+ # # Call the create_directory_policy method.
1680
+ # result = client.create_directory_policy request
1681
+ #
1682
+ # # The returned object is of type Gapic::Operation. You can use it to
1683
+ # # check the status of an operation, cancel it, or wait for results.
1684
+ # # Here is how to wait for a response.
1685
+ # result.wait_until_done! timeout: 60
1686
+ # if result.response?
1687
+ # p result.response
1688
+ # else
1689
+ # puts "No response received."
1690
+ # end
1691
+ #
1692
+ def create_directory_policy request, options = nil
1693
+ raise ::ArgumentError, "request must be provided" if request.nil?
1694
+
1695
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Lustre::V1::CreateDirectoryPolicyRequest
1696
+
1697
+ # Converts hash and nil to an options object
1698
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1699
+
1700
+ # Customize the options with defaults
1701
+ metadata = @config.rpcs.create_directory_policy.metadata.to_h
1702
+
1703
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1704
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1705
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1706
+ gapic_version: ::Google::Cloud::Lustre::V1::VERSION
1707
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1708
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1709
+
1710
+ header_params = {}
1711
+ if request.parent
1712
+ header_params["parent"] = request.parent
1713
+ end
1714
+
1715
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1716
+ metadata[:"x-goog-request-params"] ||= request_params_header
1717
+
1718
+ options.apply_defaults timeout: @config.rpcs.create_directory_policy.timeout,
1719
+ metadata: metadata,
1720
+ retry_policy: @config.rpcs.create_directory_policy.retry_policy
1721
+
1722
+ options.apply_defaults timeout: @config.timeout,
1723
+ metadata: @config.metadata,
1724
+ retry_policy: @config.retry_policy
1725
+
1726
+ @lustre_stub.call_rpc :create_directory_policy, request, options: options do |response, operation|
1727
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1728
+ yield response, operation if block_given?
1729
+ throw :response, response
1730
+ end
1731
+ rescue ::GRPC::BadStatus => e
1732
+ raise ::Google::Cloud::Error.from_error(e)
1733
+ end
1734
+
1735
+ ##
1736
+ # Deletes a directory policy resource.
1737
+ #
1738
+ # @overload delete_directory_policy(request, options = nil)
1739
+ # Pass arguments to `delete_directory_policy` via a request object, either of type
1740
+ # {::Google::Cloud::Lustre::V1::DeleteDirectoryPolicyRequest} or an equivalent Hash.
1741
+ #
1742
+ # @param request [::Google::Cloud::Lustre::V1::DeleteDirectoryPolicyRequest, ::Hash]
1743
+ # A request object representing the call parameters. Required. To specify no
1744
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1745
+ # @param options [::Gapic::CallOptions, ::Hash]
1746
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1747
+ #
1748
+ # @overload delete_directory_policy(name: nil)
1749
+ # Pass arguments to `delete_directory_policy` via keyword arguments. Note that at
1750
+ # least one keyword argument is required. To specify no parameters, or to keep all
1751
+ # the default parameter values, pass an empty Hash as a request object (see above).
1752
+ #
1753
+ # @param name [::String]
1754
+ # Required. The resource name of the directory policy.
1755
+ # DirectoryPolicy names have the form
1756
+ # `projects/{project}/locations/{location}/instances/{instance}/directoryPolicies/{id}`.
1757
+ #
1758
+ # @yield [response, operation] Access the result along with the RPC operation
1759
+ # @yieldparam response [::Gapic::Operation]
1760
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1761
+ #
1762
+ # @return [::Gapic::Operation]
1763
+ #
1764
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1765
+ #
1766
+ # @example Basic example
1767
+ # require "google/cloud/lustre/v1"
1768
+ #
1769
+ # # Create a client object. The client can be reused for multiple calls.
1770
+ # client = Google::Cloud::Lustre::V1::Lustre::Client.new
1771
+ #
1772
+ # # Create a request. To set request fields, pass in keyword arguments.
1773
+ # request = Google::Cloud::Lustre::V1::DeleteDirectoryPolicyRequest.new
1774
+ #
1775
+ # # Call the delete_directory_policy method.
1776
+ # result = client.delete_directory_policy request
1777
+ #
1778
+ # # The returned object is of type Gapic::Operation. You can use it to
1779
+ # # check the status of an operation, cancel it, or wait for results.
1780
+ # # Here is how to wait for a response.
1781
+ # result.wait_until_done! timeout: 60
1782
+ # if result.response?
1783
+ # p result.response
1784
+ # else
1785
+ # puts "No response received."
1786
+ # end
1787
+ #
1788
+ def delete_directory_policy request, options = nil
1789
+ raise ::ArgumentError, "request must be provided" if request.nil?
1790
+
1791
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Lustre::V1::DeleteDirectoryPolicyRequest
1792
+
1793
+ # Converts hash and nil to an options object
1794
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1795
+
1796
+ # Customize the options with defaults
1797
+ metadata = @config.rpcs.delete_directory_policy.metadata.to_h
1798
+
1799
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1800
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1801
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1802
+ gapic_version: ::Google::Cloud::Lustre::V1::VERSION
1803
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1804
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1805
+
1806
+ header_params = {}
1807
+ if request.name
1808
+ header_params["name"] = request.name
1809
+ end
1810
+
1811
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1812
+ metadata[:"x-goog-request-params"] ||= request_params_header
1813
+
1814
+ options.apply_defaults timeout: @config.rpcs.delete_directory_policy.timeout,
1815
+ metadata: metadata,
1816
+ retry_policy: @config.rpcs.delete_directory_policy.retry_policy
1817
+
1818
+ options.apply_defaults timeout: @config.timeout,
1819
+ metadata: @config.metadata,
1820
+ retry_policy: @config.retry_policy
1821
+
1822
+ @lustre_stub.call_rpc :delete_directory_policy, request, options: options do |response, operation|
1823
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1824
+ yield response, operation if block_given?
1825
+ throw :response, response
1826
+ end
1827
+ rescue ::GRPC::BadStatus => e
1828
+ raise ::Google::Cloud::Error.from_error(e)
1829
+ end
1830
+
1831
+ ##
1832
+ # Gets details of a single directory policy.
1833
+ #
1834
+ # @overload get_directory_policy(request, options = nil)
1835
+ # Pass arguments to `get_directory_policy` via a request object, either of type
1836
+ # {::Google::Cloud::Lustre::V1::GetDirectoryPolicyRequest} or an equivalent Hash.
1837
+ #
1838
+ # @param request [::Google::Cloud::Lustre::V1::GetDirectoryPolicyRequest, ::Hash]
1839
+ # A request object representing the call parameters. Required. To specify no
1840
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1841
+ # @param options [::Gapic::CallOptions, ::Hash]
1842
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1843
+ #
1844
+ # @overload get_directory_policy(name: nil)
1845
+ # Pass arguments to `get_directory_policy` via keyword arguments. Note that at
1846
+ # least one keyword argument is required. To specify no parameters, or to keep all
1847
+ # the default parameter values, pass an empty Hash as a request object (see above).
1848
+ #
1849
+ # @param name [::String]
1850
+ # Required. The resource name of the directory policy.
1851
+ # DirectoryPolicy names have the form
1852
+ # `projects/{project}/locations/{location}/instances/{instance}/directoryPolicies/{id}`.
1853
+ #
1854
+ # @yield [response, operation] Access the result along with the RPC operation
1855
+ # @yieldparam response [::Google::Cloud::Lustre::V1::DirectoryPolicy]
1856
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1857
+ #
1858
+ # @return [::Google::Cloud::Lustre::V1::DirectoryPolicy]
1859
+ #
1860
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1861
+ #
1862
+ # @example Basic example
1863
+ # require "google/cloud/lustre/v1"
1864
+ #
1865
+ # # Create a client object. The client can be reused for multiple calls.
1866
+ # client = Google::Cloud::Lustre::V1::Lustre::Client.new
1867
+ #
1868
+ # # Create a request. To set request fields, pass in keyword arguments.
1869
+ # request = Google::Cloud::Lustre::V1::GetDirectoryPolicyRequest.new
1870
+ #
1871
+ # # Call the get_directory_policy method.
1872
+ # result = client.get_directory_policy request
1873
+ #
1874
+ # # The returned object is of type Google::Cloud::Lustre::V1::DirectoryPolicy.
1875
+ # p result
1876
+ #
1877
+ def get_directory_policy request, options = nil
1878
+ raise ::ArgumentError, "request must be provided" if request.nil?
1879
+
1880
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Lustre::V1::GetDirectoryPolicyRequest
1881
+
1882
+ # Converts hash and nil to an options object
1883
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1884
+
1885
+ # Customize the options with defaults
1886
+ metadata = @config.rpcs.get_directory_policy.metadata.to_h
1887
+
1888
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1889
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1890
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1891
+ gapic_version: ::Google::Cloud::Lustre::V1::VERSION
1892
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1893
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1894
+
1895
+ header_params = {}
1896
+ if request.name
1897
+ header_params["name"] = request.name
1898
+ end
1899
+
1900
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1901
+ metadata[:"x-goog-request-params"] ||= request_params_header
1902
+
1903
+ options.apply_defaults timeout: @config.rpcs.get_directory_policy.timeout,
1904
+ metadata: metadata,
1905
+ retry_policy: @config.rpcs.get_directory_policy.retry_policy
1906
+
1907
+ options.apply_defaults timeout: @config.timeout,
1908
+ metadata: @config.metadata,
1909
+ retry_policy: @config.retry_policy
1910
+
1911
+ @lustre_stub.call_rpc :get_directory_policy, request, options: options do |response, operation|
1912
+ yield response, operation if block_given?
1913
+ end
1914
+ rescue ::GRPC::BadStatus => e
1915
+ raise ::Google::Cloud::Error.from_error(e)
1916
+ end
1917
+
1918
+ ##
1919
+ # Gets details of multiple directory policies under a given instance.
1920
+ #
1921
+ # @overload list_directory_policies(request, options = nil)
1922
+ # Pass arguments to `list_directory_policies` via a request object, either of type
1923
+ # {::Google::Cloud::Lustre::V1::ListDirectoryPoliciesRequest} or an equivalent Hash.
1924
+ #
1925
+ # @param request [::Google::Cloud::Lustre::V1::ListDirectoryPoliciesRequest, ::Hash]
1926
+ # A request object representing the call parameters. Required. To specify no
1927
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1928
+ # @param options [::Gapic::CallOptions, ::Hash]
1929
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1930
+ #
1931
+ # @overload list_directory_policies(parent: nil, page_size: nil, page_token: nil)
1932
+ # Pass arguments to `list_directory_policies` via keyword arguments. Note that at
1933
+ # least one keyword argument is required. To specify no parameters, or to keep all
1934
+ # the default parameter values, pass an empty Hash as a request object (see above).
1935
+ #
1936
+ # @param parent [::String]
1937
+ # Required. The parent instance.
1938
+ # It must be in the format of
1939
+ # `projects/{project}/locations/{location}/instances/{instance}`.
1940
+ # @param page_size [::Integer]
1941
+ # Optional. Requested page size. Server might return fewer items than
1942
+ # requested. If unspecified, the server will pick an appropriate default. The
1943
+ # maximum value is 1000; values above 1000 will be coerced to 1000.
1944
+ # @param page_token [::String]
1945
+ # Optional. A page token, received from a previous `ListDirectoryPolicies`
1946
+ # call. Provide this to retrieve the subsequent page. When paginating, all
1947
+ # other parameters provided to `ListDirectoryPolicies` must match the call
1948
+ # that provided the page token.
1949
+ #
1950
+ # @yield [response, operation] Access the result along with the RPC operation
1951
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Lustre::V1::DirectoryPolicy>]
1952
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1953
+ #
1954
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Lustre::V1::DirectoryPolicy>]
1955
+ #
1956
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1957
+ #
1958
+ # @example Basic example
1959
+ # require "google/cloud/lustre/v1"
1960
+ #
1961
+ # # Create a client object. The client can be reused for multiple calls.
1962
+ # client = Google::Cloud::Lustre::V1::Lustre::Client.new
1963
+ #
1964
+ # # Create a request. To set request fields, pass in keyword arguments.
1965
+ # request = Google::Cloud::Lustre::V1::ListDirectoryPoliciesRequest.new
1966
+ #
1967
+ # # Call the list_directory_policies method.
1968
+ # result = client.list_directory_policies request
1969
+ #
1970
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
1971
+ # # over elements, and API calls will be issued to fetch pages as needed.
1972
+ # result.each do |item|
1973
+ # # Each element is of type ::Google::Cloud::Lustre::V1::DirectoryPolicy.
1974
+ # p item
1975
+ # end
1976
+ #
1977
+ def list_directory_policies request, options = nil
1978
+ raise ::ArgumentError, "request must be provided" if request.nil?
1979
+
1980
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Lustre::V1::ListDirectoryPoliciesRequest
1981
+
1982
+ # Converts hash and nil to an options object
1983
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1984
+
1985
+ # Customize the options with defaults
1986
+ metadata = @config.rpcs.list_directory_policies.metadata.to_h
1987
+
1988
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1989
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1990
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1991
+ gapic_version: ::Google::Cloud::Lustre::V1::VERSION
1992
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1993
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1994
+
1995
+ header_params = {}
1996
+ if request.parent
1997
+ header_params["parent"] = request.parent
1998
+ end
1999
+
2000
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
2001
+ metadata[:"x-goog-request-params"] ||= request_params_header
2002
+
2003
+ options.apply_defaults timeout: @config.rpcs.list_directory_policies.timeout,
2004
+ metadata: metadata,
2005
+ retry_policy: @config.rpcs.list_directory_policies.retry_policy
2006
+
2007
+ options.apply_defaults timeout: @config.timeout,
2008
+ metadata: @config.metadata,
2009
+ retry_policy: @config.retry_policy
2010
+
2011
+ @lustre_stub.call_rpc :list_directory_policies, request, options: options do |response, operation|
2012
+ response = ::Gapic::PagedEnumerable.new @lustre_stub, :list_directory_policies, request, response, operation, options
2013
+ yield response, operation if block_given?
2014
+ throw :response, response
2015
+ end
2016
+ rescue ::GRPC::BadStatus => e
2017
+ raise ::Google::Cloud::Error.from_error(e)
2018
+ end
2019
+
2020
+ ##
2021
+ # Configuration class for the Lustre API.
2022
+ #
2023
+ # This class represents the configuration for Lustre,
2024
+ # providing control over timeouts, retry behavior, logging, transport
2025
+ # parameters, and other low-level controls. Certain parameters can also be
2026
+ # applied individually to specific RPCs. See
2027
+ # {::Google::Cloud::Lustre::V1::Lustre::Client::Configuration::Rpcs}
2028
+ # for a list of RPCs that can be configured independently.
2029
+ #
2030
+ # Configuration can be applied globally to all clients, or to a single client
2031
+ # on construction.
2032
+ #
2033
+ # @example
2034
+ #
2035
+ # # Modify the global config, setting the timeout for
2036
+ # # list_instances to 20 seconds,
2037
+ # # and all remaining timeouts to 10 seconds.
2038
+ # ::Google::Cloud::Lustre::V1::Lustre::Client.configure do |config|
2039
+ # config.timeout = 10.0
2040
+ # config.rpcs.list_instances.timeout = 20.0
2041
+ # end
2042
+ #
2043
+ # # Apply the above configuration only to a new client.
2044
+ # client = ::Google::Cloud::Lustre::V1::Lustre::Client.new do |config|
2045
+ # config.timeout = 10.0
2046
+ # config.rpcs.list_instances.timeout = 20.0
2047
+ # end
2048
+ #
2049
+ # @!attribute [rw] endpoint
2050
+ # A custom service endpoint, as a hostname or hostname:port. The default is
2051
+ # nil, indicating to use the default endpoint in the current universe domain.
2052
+ # @return [::String,nil]
2053
+ # @!attribute [rw] credentials
2054
+ # Credentials to send with calls. You may provide any of the following types:
2055
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
2056
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
2057
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
2058
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
2059
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
2060
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
2061
+ # * (`nil`) indicating no credentials
2062
+ #
2063
+ # @note Warning: Passing a `String` to a keyfile path or a `Hash` of credentials
2064
+ # is deprecated. Providing an unvalidated credential configuration to
2065
+ # Google APIs can compromise the security of your systems and data.
2066
+ #
2067
+ # @example
2068
+ #
2069
+ # # The recommended way to provide credentials is to use the `make_creds` method
2070
+ # # on the appropriate credentials class for your environment.
2071
+ #
2072
+ # require "googleauth"
2073
+ #
2074
+ # credentials = ::Google::Auth::ServiceAccountCredentials.make_creds(
2075
+ # json_key_io: ::File.open("/path/to/keyfile.json")
2076
+ # )
2077
+ #
2078
+ # client = ::Google::Cloud::Lustre::V1::Lustre::Client.new do |config|
2079
+ # config.credentials = credentials
2080
+ # end
2081
+ #
2082
+ # @note Warning: If you accept a credential configuration (JSON file or Hash) from an
2083
+ # external source for authentication to Google Cloud, you must validate it before
2084
+ # providing it to a Google API client library. Providing an unvalidated credential
2085
+ # configuration to Google APIs can compromise the security of your systems and data.
2086
+ # For more information, refer to [Validate credential configurations from external
2087
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
2088
+ # @return [::Object]
2089
+ # @!attribute [rw] scope
2090
+ # The OAuth scopes
2091
+ # @return [::Array<::String>]
2092
+ # @!attribute [rw] lib_name
2093
+ # The library name as recorded in instrumentation and logging
2094
+ # @return [::String]
2095
+ # @!attribute [rw] lib_version
2096
+ # The library version as recorded in instrumentation and logging
2097
+ # @return [::String]
2098
+ # @!attribute [rw] channel_args
2099
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
2100
+ # `GRPC::Core::Channel` object is provided as the credential.
2101
+ # @return [::Hash]
2102
+ # @!attribute [rw] interceptors
2103
+ # An array of interceptors that are run before calls are executed.
2104
+ # @return [::Array<::GRPC::ClientInterceptor>]
2105
+ # @!attribute [rw] timeout
2106
+ # The call timeout in seconds.
2107
+ # @return [::Numeric]
2108
+ # @!attribute [rw] metadata
2109
+ # Additional gRPC headers to be sent with the call.
2110
+ # @return [::Hash{::Symbol=>::String}]
2111
+ # @!attribute [rw] retry_policy
2112
+ # The retry policy. The value is a hash with the following keys:
2113
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
2114
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
2115
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
2116
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
2117
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
2118
+ # trigger a retry.
2119
+ # @return [::Hash]
2120
+ # @!attribute [rw] quota_project
2121
+ # A separate project against which to charge quota.
2122
+ # @return [::String]
2123
+ # @!attribute [rw] universe_domain
2124
+ # The universe domain within which to make requests. This determines the
2125
+ # default endpoint URL. The default value of nil uses the environment
2126
+ # universe (usually the default "googleapis.com" universe).
2127
+ # @return [::String,nil]
2128
+ # @!attribute [rw] logger
2129
+ # A custom logger to use for request/response debug logging, or the value
2130
+ # `:default` (the default) to construct a default logger, or `nil` to
2131
+ # explicitly disable logging.
2132
+ # @return [::Logger,:default,nil]
2133
+ #
2134
+ class Configuration
2135
+ extend ::Gapic::Config
2136
+
2137
+ # @private
2138
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
2139
+ DEFAULT_ENDPOINT = "lustre.googleapis.com"
2140
+
2141
+ config_attr :endpoint, nil, ::String, nil
2142
+ config_attr :credentials, nil do |value|
2143
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Google::Auth::BaseClient, ::Signet::OAuth2::Client, nil]
2144
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC::Core::Channel
2145
+ allowed.any? { |klass| klass === value }
2146
+ end
2147
+ config_attr :scope, nil, ::String, ::Array, nil
2148
+ config_attr :lib_name, nil, ::String, nil
2149
+ config_attr :lib_version, nil, ::String, nil
2150
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
2151
+ config_attr :interceptors, nil, ::Array, nil
2152
+ config_attr :timeout, nil, ::Numeric, nil
2153
+ config_attr :metadata, nil, ::Hash, nil
2154
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
2155
+ config_attr :quota_project, nil, ::String, nil
2156
+ config_attr :universe_domain, nil, ::String, nil
2157
+ config_attr :logger, :default, ::Logger, nil, :default
2158
+
2159
+ # @private
1105
2160
  def initialize parent_config = nil
1106
2161
  @parent_config = parent_config unless parent_config.nil?
1107
2162
 
@@ -1173,6 +2228,11 @@ module Google
1173
2228
  #
1174
2229
  attr_reader :delete_instance
1175
2230
  ##
2231
+ # RPC-specific configuration for `reschedule_maintenance`
2232
+ # @return [::Gapic::Config::Method]
2233
+ #
2234
+ attr_reader :reschedule_maintenance
2235
+ ##
1176
2236
  # RPC-specific configuration for `import_data`
1177
2237
  # @return [::Gapic::Config::Method]
1178
2238
  #
@@ -1182,6 +2242,51 @@ module Google
1182
2242
  # @return [::Gapic::Config::Method]
1183
2243
  #
1184
2244
  attr_reader :export_data
2245
+ ##
2246
+ # RPC-specific configuration for `create_mirror`
2247
+ # @return [::Gapic::Config::Method]
2248
+ #
2249
+ attr_reader :create_mirror
2250
+ ##
2251
+ # RPC-specific configuration for `update_mirror`
2252
+ # @return [::Gapic::Config::Method]
2253
+ #
2254
+ attr_reader :update_mirror
2255
+ ##
2256
+ # RPC-specific configuration for `delete_mirror`
2257
+ # @return [::Gapic::Config::Method]
2258
+ #
2259
+ attr_reader :delete_mirror
2260
+ ##
2261
+ # RPC-specific configuration for `get_mirror`
2262
+ # @return [::Gapic::Config::Method]
2263
+ #
2264
+ attr_reader :get_mirror
2265
+ ##
2266
+ # RPC-specific configuration for `list_mirrors`
2267
+ # @return [::Gapic::Config::Method]
2268
+ #
2269
+ attr_reader :list_mirrors
2270
+ ##
2271
+ # RPC-specific configuration for `create_directory_policy`
2272
+ # @return [::Gapic::Config::Method]
2273
+ #
2274
+ attr_reader :create_directory_policy
2275
+ ##
2276
+ # RPC-specific configuration for `delete_directory_policy`
2277
+ # @return [::Gapic::Config::Method]
2278
+ #
2279
+ attr_reader :delete_directory_policy
2280
+ ##
2281
+ # RPC-specific configuration for `get_directory_policy`
2282
+ # @return [::Gapic::Config::Method]
2283
+ #
2284
+ attr_reader :get_directory_policy
2285
+ ##
2286
+ # RPC-specific configuration for `list_directory_policies`
2287
+ # @return [::Gapic::Config::Method]
2288
+ #
2289
+ attr_reader :list_directory_policies
1185
2290
 
1186
2291
  # @private
1187
2292
  def initialize parent_rpcs = nil
@@ -1195,10 +2300,30 @@ module Google
1195
2300
  @update_instance = ::Gapic::Config::Method.new update_instance_config
1196
2301
  delete_instance_config = parent_rpcs.delete_instance if parent_rpcs.respond_to? :delete_instance
1197
2302
  @delete_instance = ::Gapic::Config::Method.new delete_instance_config
2303
+ reschedule_maintenance_config = parent_rpcs.reschedule_maintenance if parent_rpcs.respond_to? :reschedule_maintenance
2304
+ @reschedule_maintenance = ::Gapic::Config::Method.new reschedule_maintenance_config
1198
2305
  import_data_config = parent_rpcs.import_data if parent_rpcs.respond_to? :import_data
1199
2306
  @import_data = ::Gapic::Config::Method.new import_data_config
1200
2307
  export_data_config = parent_rpcs.export_data if parent_rpcs.respond_to? :export_data
1201
2308
  @export_data = ::Gapic::Config::Method.new export_data_config
2309
+ create_mirror_config = parent_rpcs.create_mirror if parent_rpcs.respond_to? :create_mirror
2310
+ @create_mirror = ::Gapic::Config::Method.new create_mirror_config
2311
+ update_mirror_config = parent_rpcs.update_mirror if parent_rpcs.respond_to? :update_mirror
2312
+ @update_mirror = ::Gapic::Config::Method.new update_mirror_config
2313
+ delete_mirror_config = parent_rpcs.delete_mirror if parent_rpcs.respond_to? :delete_mirror
2314
+ @delete_mirror = ::Gapic::Config::Method.new delete_mirror_config
2315
+ get_mirror_config = parent_rpcs.get_mirror if parent_rpcs.respond_to? :get_mirror
2316
+ @get_mirror = ::Gapic::Config::Method.new get_mirror_config
2317
+ list_mirrors_config = parent_rpcs.list_mirrors if parent_rpcs.respond_to? :list_mirrors
2318
+ @list_mirrors = ::Gapic::Config::Method.new list_mirrors_config
2319
+ create_directory_policy_config = parent_rpcs.create_directory_policy if parent_rpcs.respond_to? :create_directory_policy
2320
+ @create_directory_policy = ::Gapic::Config::Method.new create_directory_policy_config
2321
+ delete_directory_policy_config = parent_rpcs.delete_directory_policy if parent_rpcs.respond_to? :delete_directory_policy
2322
+ @delete_directory_policy = ::Gapic::Config::Method.new delete_directory_policy_config
2323
+ get_directory_policy_config = parent_rpcs.get_directory_policy if parent_rpcs.respond_to? :get_directory_policy
2324
+ @get_directory_policy = ::Gapic::Config::Method.new get_directory_policy_config
2325
+ list_directory_policies_config = parent_rpcs.list_directory_policies if parent_rpcs.respond_to? :list_directory_policies
2326
+ @list_directory_policies = ::Gapic::Config::Method.new list_directory_policies_config
1202
2327
 
1203
2328
  yield self if block_given?
1204
2329
  end