google-cloud-netapp-v1 0.a → 0.2.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/netapp/v1/active_directory_pb.rb +56 -0
  6. data/lib/google/cloud/netapp/v1/bindings_override.rb +102 -0
  7. data/lib/google/cloud/netapp/v1/cloud_netapp_service_pb.rb +57 -0
  8. data/lib/google/cloud/netapp/v1/cloud_netapp_service_services_pb.rb +120 -0
  9. data/lib/google/cloud/netapp/v1/common_pb.rb +43 -0
  10. data/lib/google/cloud/netapp/v1/kms_pb.rb +59 -0
  11. data/lib/google/cloud/netapp/v1/netapp/client.rb +4119 -0
  12. data/lib/google/cloud/netapp/v1/netapp/credentials.rb +47 -0
  13. data/lib/google/cloud/netapp/v1/netapp/operations.rb +779 -0
  14. data/lib/google/cloud/netapp/v1/netapp/paths.rb +185 -0
  15. data/lib/google/cloud/netapp/v1/netapp/rest/client.rb +3840 -0
  16. data/lib/google/cloud/netapp/v1/netapp/rest/operations.rb +870 -0
  17. data/lib/google/cloud/netapp/v1/netapp/rest/service_stub.rb +2190 -0
  18. data/lib/google/cloud/netapp/v1/netapp/rest.rb +54 -0
  19. data/lib/google/cloud/netapp/v1/netapp.rb +56 -0
  20. data/lib/google/cloud/netapp/v1/replication_pb.rb +66 -0
  21. data/lib/google/cloud/netapp/v1/rest.rb +38 -0
  22. data/lib/google/cloud/netapp/v1/snapshot_pb.rb +56 -0
  23. data/lib/google/cloud/netapp/v1/storage_pool_pb.rb +57 -0
  24. data/lib/google/cloud/netapp/v1/version.rb +8 -3
  25. data/lib/google/cloud/netapp/v1/volume_pb.rb +72 -0
  26. data/lib/google/cloud/netapp/v1.rb +45 -0
  27. data/lib/google-cloud-netapp-v1.rb +21 -0
  28. data/proto_docs/README.md +4 -0
  29. data/proto_docs/google/api/client.rb +381 -0
  30. data/proto_docs/google/api/field_behavior.rb +85 -0
  31. data/proto_docs/google/api/launch_stage.rb +71 -0
  32. data/proto_docs/google/api/resource.rb +222 -0
  33. data/proto_docs/google/cloud/netapp/v1/active_directory.rb +222 -0
  34. data/proto_docs/google/cloud/netapp/v1/cloud_netapp_service.rb +57 -0
  35. data/proto_docs/google/cloud/netapp/v1/common.rb +50 -0
  36. data/proto_docs/google/cloud/netapp/v1/kms.rb +236 -0
  37. data/proto_docs/google/cloud/netapp/v1/replication.rb +349 -0
  38. data/proto_docs/google/cloud/netapp/v1/snapshot.rb +180 -0
  39. data/proto_docs/google/cloud/netapp/v1/storage_pool.rb +211 -0
  40. data/proto_docs/google/cloud/netapp/v1/volume.rb +542 -0
  41. data/proto_docs/google/longrunning/operations.rb +164 -0
  42. data/proto_docs/google/protobuf/any.rb +144 -0
  43. data/proto_docs/google/protobuf/duration.rb +98 -0
  44. data/proto_docs/google/protobuf/empty.rb +34 -0
  45. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  46. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  47. data/proto_docs/google/rpc/status.rb +48 -0
  48. metadata +225 -13
@@ -0,0 +1,236 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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 NetApp
23
+ module V1
24
+ # GetKmsConfigRequest gets a KMS Config.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Required. Name of the KmsConfig
28
+ class GetKmsConfigRequest
29
+ include ::Google::Protobuf::MessageExts
30
+ extend ::Google::Protobuf::MessageExts::ClassMethods
31
+ end
32
+
33
+ # ListKmsConfigsRequest lists KMS Configs.
34
+ # @!attribute [rw] parent
35
+ # @return [::String]
36
+ # Required. Parent value
37
+ # @!attribute [rw] page_size
38
+ # @return [::Integer]
39
+ # The maximum number of items to return.
40
+ # @!attribute [rw] page_token
41
+ # @return [::String]
42
+ # The next_page_token value to use if there are additional
43
+ # results to retrieve for this list request.
44
+ # @!attribute [rw] order_by
45
+ # @return [::String]
46
+ # Sort results. Supported values are "name", "name desc" or "" (unsorted).
47
+ # @!attribute [rw] filter
48
+ # @return [::String]
49
+ # List filter.
50
+ class ListKmsConfigsRequest
51
+ include ::Google::Protobuf::MessageExts
52
+ extend ::Google::Protobuf::MessageExts::ClassMethods
53
+ end
54
+
55
+ # ListKmsConfigsResponse is the response to a ListKmsConfigsRequest.
56
+ # @!attribute [rw] kms_configs
57
+ # @return [::Array<::Google::Cloud::NetApp::V1::KmsConfig>]
58
+ # The list of KmsConfigs
59
+ # @!attribute [rw] next_page_token
60
+ # @return [::String]
61
+ # A token identifying a page of results the server should return.
62
+ # @!attribute [rw] unreachable
63
+ # @return [::Array<::String>]
64
+ # Locations that could not be reached.
65
+ class ListKmsConfigsResponse
66
+ include ::Google::Protobuf::MessageExts
67
+ extend ::Google::Protobuf::MessageExts::ClassMethods
68
+ end
69
+
70
+ # CreateKmsConfigRequest creates a KMS Config.
71
+ # @!attribute [rw] parent
72
+ # @return [::String]
73
+ # Required. Value for parent.
74
+ # @!attribute [rw] kms_config_id
75
+ # @return [::String]
76
+ # Required. Id of the requesting KmsConfig
77
+ # If auto-generating Id server-side, remove this field and
78
+ # id from the method_signature of Create RPC
79
+ # @!attribute [rw] kms_config
80
+ # @return [::Google::Cloud::NetApp::V1::KmsConfig]
81
+ # Required. The required parameters to create a new KmsConfig.
82
+ class CreateKmsConfigRequest
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
+ end
86
+
87
+ # UpdateKmsConfigRequest updates a KMS Config.
88
+ # @!attribute [rw] update_mask
89
+ # @return [::Google::Protobuf::FieldMask]
90
+ # Required. Field mask is used to specify the fields to be overwritten in the
91
+ # KmsConfig resource by the update.
92
+ # The fields specified in the update_mask are relative to the resource, not
93
+ # the full request. A field will be overwritten if it is in the mask. If the
94
+ # user does not provide a mask then all fields will be overwritten.
95
+ # @!attribute [rw] kms_config
96
+ # @return [::Google::Cloud::NetApp::V1::KmsConfig]
97
+ # Required. The KmsConfig being updated
98
+ class UpdateKmsConfigRequest
99
+ include ::Google::Protobuf::MessageExts
100
+ extend ::Google::Protobuf::MessageExts::ClassMethods
101
+ end
102
+
103
+ # DeleteKmsConfigRequest deletes a KMS Config.
104
+ # @!attribute [rw] name
105
+ # @return [::String]
106
+ # Required. Name of the KmsConfig.
107
+ class DeleteKmsConfigRequest
108
+ include ::Google::Protobuf::MessageExts
109
+ extend ::Google::Protobuf::MessageExts::ClassMethods
110
+ end
111
+
112
+ # EncryptVolumesRequest specifies the KMS config to encrypt existing volumes.
113
+ # @!attribute [rw] name
114
+ # @return [::String]
115
+ # Required. Name of the KmsConfig.
116
+ class EncryptVolumesRequest
117
+ include ::Google::Protobuf::MessageExts
118
+ extend ::Google::Protobuf::MessageExts::ClassMethods
119
+ end
120
+
121
+ # VerifyKmsConfigRequest specifies the KMS config to be validated.
122
+ # @!attribute [rw] name
123
+ # @return [::String]
124
+ # Required. Name of the KMS Config to be verified.
125
+ class VerifyKmsConfigRequest
126
+ include ::Google::Protobuf::MessageExts
127
+ extend ::Google::Protobuf::MessageExts::ClassMethods
128
+ end
129
+
130
+ # VerifyKmsConfigResponse contains the information if the config is correctly
131
+ # and error message.
132
+ # @!attribute [r] healthy
133
+ # @return [::Boolean]
134
+ # Output only. If the customer key configured correctly to the encrypt
135
+ # volume.
136
+ # @!attribute [r] health_error
137
+ # @return [::String]
138
+ # Output only. Error message if config is not healthy.
139
+ # @!attribute [r] instructions
140
+ # @return [::String]
141
+ # Output only. Instructions for the customers to provide the access to the
142
+ # encryption key.
143
+ class VerifyKmsConfigResponse
144
+ include ::Google::Protobuf::MessageExts
145
+ extend ::Google::Protobuf::MessageExts::ClassMethods
146
+ end
147
+
148
+ # KmsConfig is the customer managed encryption key(CMEK) configuration.
149
+ # @!attribute [r] name
150
+ # @return [::String]
151
+ # Output only. Name of the KmsConfig.
152
+ # @!attribute [rw] crypto_key_name
153
+ # @return [::String]
154
+ # Required. Customer managed crypto key resource full name. Format:
155
+ # projects/\\{project}/locations/\\{location}/keyRings/\\{key_ring}/cryptoKeys/\\{key}.
156
+ # @!attribute [r] state
157
+ # @return [::Google::Cloud::NetApp::V1::KmsConfig::State]
158
+ # Output only. State of the KmsConfig.
159
+ # @!attribute [r] state_details
160
+ # @return [::String]
161
+ # Output only. State details of the KmsConfig.
162
+ # @!attribute [r] create_time
163
+ # @return [::Google::Protobuf::Timestamp]
164
+ # Output only. Create time of the KmsConfig.
165
+ # @!attribute [rw] description
166
+ # @return [::String]
167
+ # Description of the KmsConfig.
168
+ # @!attribute [rw] labels
169
+ # @return [::Google::Protobuf::Map{::String => ::String}]
170
+ # Labels as key value pairs
171
+ # @!attribute [r] instructions
172
+ # @return [::String]
173
+ # Output only. Instructions to provide the access to the customer provided
174
+ # encryption key.
175
+ # @!attribute [r] service_account
176
+ # @return [::String]
177
+ # Output only. The Service account which will have access to the customer
178
+ # provided encryption key.
179
+ class KmsConfig
180
+ include ::Google::Protobuf::MessageExts
181
+ extend ::Google::Protobuf::MessageExts::ClassMethods
182
+
183
+ # @!attribute [rw] key
184
+ # @return [::String]
185
+ # @!attribute [rw] value
186
+ # @return [::String]
187
+ class LabelsEntry
188
+ include ::Google::Protobuf::MessageExts
189
+ extend ::Google::Protobuf::MessageExts::ClassMethods
190
+ end
191
+
192
+ # The KmsConfig States
193
+ module State
194
+ # Unspecified KmsConfig State
195
+ STATE_UNSPECIFIED = 0
196
+
197
+ # KmsConfig State is Ready
198
+ READY = 1
199
+
200
+ # KmsConfig State is Creating
201
+ CREATING = 2
202
+
203
+ # KmsConfig State is Deleting
204
+ DELETING = 3
205
+
206
+ # KmsConfig State is Updating
207
+ UPDATING = 4
208
+
209
+ # KmsConfig State is In Use.
210
+ IN_USE = 5
211
+
212
+ # KmsConfig State is Error
213
+ ERROR = 6
214
+
215
+ # KmsConfig State is Pending to verify crypto key access.
216
+ KEY_CHECK_PENDING = 7
217
+
218
+ # KmsConfig State is Not accessbile by the SDE service account to the
219
+ # crypto key.
220
+ KEY_NOT_REACHABLE = 8
221
+
222
+ # KmsConfig State is Disabling.
223
+ DISABLING = 9
224
+
225
+ # KmsConfig State is Disabled.
226
+ DISABLED = 10
227
+
228
+ # KmsConfig State is Migrating.
229
+ # The existing volumes are migrating from SMEK to CMEK.
230
+ MIGRATING = 11
231
+ end
232
+ end
233
+ end
234
+ end
235
+ end
236
+ end
@@ -0,0 +1,349 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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 NetApp
23
+ module V1
24
+ # TransferStats reports all statistics related to replication transfer.
25
+ # @!attribute [rw] transfer_bytes
26
+ # @return [::Integer]
27
+ # bytes trasferred so far in current transfer.
28
+ # @!attribute [rw] total_transfer_duration
29
+ # @return [::Google::Protobuf::Duration]
30
+ # Total time taken during transfer.
31
+ # @!attribute [rw] last_transfer_bytes
32
+ # @return [::Integer]
33
+ # Last transfer size in bytes.
34
+ # @!attribute [rw] last_transfer_duration
35
+ # @return [::Google::Protobuf::Duration]
36
+ # Time taken during last transfer.
37
+ # @!attribute [rw] lag_duration
38
+ # @return [::Google::Protobuf::Duration]
39
+ # Lag duration indicates the duration by which Destination region volume
40
+ # content lags behind the primary region volume content.
41
+ # @!attribute [rw] update_time
42
+ # @return [::Google::Protobuf::Timestamp]
43
+ # Time when progress was updated last.
44
+ # @!attribute [rw] last_transfer_end_time
45
+ # @return [::Google::Protobuf::Timestamp]
46
+ # Time when last transfer completed.
47
+ # @!attribute [rw] last_transfer_error
48
+ # @return [::String]
49
+ # A message describing the cause of the last transfer failure.
50
+ class TransferStats
51
+ include ::Google::Protobuf::MessageExts
52
+ extend ::Google::Protobuf::MessageExts::ClassMethods
53
+ end
54
+
55
+ # Replication is a nested resource under Volume, that describes a
56
+ # cross-region replication relationship between 2 volumes in different
57
+ # regions.
58
+ # @!attribute [r] name
59
+ # @return [::String]
60
+ # Output only. The resource name of the Replication.
61
+ # Format:
62
+ # `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.
63
+ # @!attribute [r] state
64
+ # @return [::Google::Cloud::NetApp::V1::Replication::State]
65
+ # Output only. State of the replication.
66
+ # @!attribute [r] state_details
67
+ # @return [::String]
68
+ # Output only. State details of the replication.
69
+ # @!attribute [r] role
70
+ # @return [::Google::Cloud::NetApp::V1::Replication::ReplicationRole]
71
+ # Output only. Indicates whether this points to source or destination.
72
+ # @!attribute [rw] replication_schedule
73
+ # @return [::Google::Cloud::NetApp::V1::Replication::ReplicationSchedule]
74
+ # Required. Indicates the schedule for replication.
75
+ # @!attribute [r] mirror_state
76
+ # @return [::Google::Cloud::NetApp::V1::Replication::MirrorState]
77
+ # Output only. Indicates the state of mirroring.
78
+ # @!attribute [r] healthy
79
+ # @return [::Boolean]
80
+ # Output only. Condition of the relationship. Can be one of the following:
81
+ # - true: The replication relationship is healthy. It has not missed the most
82
+ # recent scheduled transfer.
83
+ # - false: The replication relationship is not healthy. It has missed the
84
+ # most recent scheduled transfer.
85
+ # @!attribute [r] create_time
86
+ # @return [::Google::Protobuf::Timestamp]
87
+ # Output only. Replication create time.
88
+ # @!attribute [r] destination_volume
89
+ # @return [::String]
90
+ # Output only. Full name of destination volume resource.
91
+ # Example : "projects/\\{project}/locations/\\{location}/volumes/\\{volume_id}"
92
+ # @!attribute [r] transfer_stats
93
+ # @return [::Google::Cloud::NetApp::V1::TransferStats]
94
+ # Output only. Replication transfer statistics.
95
+ # @!attribute [rw] labels
96
+ # @return [::Google::Protobuf::Map{::String => ::String}]
97
+ # Resource labels to represent user provided metadata.
98
+ # @!attribute [rw] description
99
+ # @return [::String]
100
+ # A description about this replication relationship.
101
+ # @!attribute [rw] destination_volume_parameters
102
+ # @return [::Google::Cloud::NetApp::V1::DestinationVolumeParameters]
103
+ # Required. Input only. Destination volume parameters
104
+ # @!attribute [r] source_volume
105
+ # @return [::String]
106
+ # Output only. Full name of source volume resource.
107
+ # Example : "projects/\\{project}/locations/\\{location}/volumes/\\{volume_id}"
108
+ class Replication
109
+ include ::Google::Protobuf::MessageExts
110
+ extend ::Google::Protobuf::MessageExts::ClassMethods
111
+
112
+ # @!attribute [rw] key
113
+ # @return [::String]
114
+ # @!attribute [rw] value
115
+ # @return [::String]
116
+ class LabelsEntry
117
+ include ::Google::Protobuf::MessageExts
118
+ extend ::Google::Protobuf::MessageExts::ClassMethods
119
+ end
120
+
121
+ # The replication states
122
+ # New enum values may be added in future to indicate possible new states.
123
+ module State
124
+ # Unspecified replication State
125
+ STATE_UNSPECIFIED = 0
126
+
127
+ # Replication is creating.
128
+ CREATING = 1
129
+
130
+ # Replication is ready.
131
+ READY = 2
132
+
133
+ # Replication is updating.
134
+ UPDATING = 3
135
+
136
+ # Replication is deleting.
137
+ DELETING = 5
138
+
139
+ # Replication is in error state.
140
+ ERROR = 6
141
+ end
142
+
143
+ # New enum values may be added in future to support different replication
144
+ # topology.
145
+ module ReplicationRole
146
+ # Unspecified replication role
147
+ REPLICATION_ROLE_UNSPECIFIED = 0
148
+
149
+ # Indicates Source volume.
150
+ SOURCE = 1
151
+
152
+ # Indicates Destination volume.
153
+ DESTINATION = 2
154
+ end
155
+
156
+ # Schedule for Replication.
157
+ # New enum values may be added in future to support different frequency of
158
+ # replication.
159
+ module ReplicationSchedule
160
+ # Unspecified ReplicationSchedule
161
+ REPLICATION_SCHEDULE_UNSPECIFIED = 0
162
+
163
+ # Replication happens once every 10 minutes.
164
+ EVERY_10_MINUTES = 1
165
+
166
+ # Replication happens once every hour.
167
+ HOURLY = 2
168
+
169
+ # Replication happens once every day.
170
+ DAILY = 3
171
+ end
172
+
173
+ # Mirroring states.
174
+ # No new value is expected to be added in future.
175
+ module MirrorState
176
+ # Unspecified MirrorState
177
+ MIRROR_STATE_UNSPECIFIED = 0
178
+
179
+ # Destination volume is being prepared.
180
+ PREPARING = 1
181
+
182
+ # Destination volume has been initialized and is ready to receive
183
+ # replication transfers.
184
+ MIRRORED = 2
185
+
186
+ # Destination volume is not receiving replication transfers.
187
+ STOPPED = 3
188
+
189
+ # Replication is in progress.
190
+ TRANSFERRING = 4
191
+ end
192
+ end
193
+
194
+ # ListReplications lists replications.
195
+ # @!attribute [rw] parent
196
+ # @return [::String]
197
+ # Required. The volume for which to retrieve replication information,
198
+ # in the format
199
+ # `projects/{project_id}/locations/{location}/volumes/{volume_id}`.
200
+ # @!attribute [rw] page_size
201
+ # @return [::Integer]
202
+ # The maximum number of items to return.
203
+ # @!attribute [rw] page_token
204
+ # @return [::String]
205
+ # The next_page_token value to use if there are additional
206
+ # results to retrieve for this list request.
207
+ # @!attribute [rw] order_by
208
+ # @return [::String]
209
+ # Sort results. Supported values are "name", "name desc" or "" (unsorted).
210
+ # @!attribute [rw] filter
211
+ # @return [::String]
212
+ # List filter.
213
+ class ListReplicationsRequest
214
+ include ::Google::Protobuf::MessageExts
215
+ extend ::Google::Protobuf::MessageExts::ClassMethods
216
+ end
217
+
218
+ # ListReplicationsResponse is the result of ListReplicationsRequest.
219
+ # @!attribute [rw] replications
220
+ # @return [::Array<::Google::Cloud::NetApp::V1::Replication>]
221
+ # A list of replications in the project for the specified volume.
222
+ # @!attribute [rw] next_page_token
223
+ # @return [::String]
224
+ # The token you can use to retrieve the next page of results. Not returned
225
+ # if there are no more results in the list.
226
+ # @!attribute [rw] unreachable
227
+ # @return [::Array<::String>]
228
+ # Locations that could not be reached.
229
+ class ListReplicationsResponse
230
+ include ::Google::Protobuf::MessageExts
231
+ extend ::Google::Protobuf::MessageExts::ClassMethods
232
+ end
233
+
234
+ # GetReplicationRequest gets the state of a replication.
235
+ # @!attribute [rw] name
236
+ # @return [::String]
237
+ # Required. The replication resource name, in the format
238
+ # `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`
239
+ class GetReplicationRequest
240
+ include ::Google::Protobuf::MessageExts
241
+ extend ::Google::Protobuf::MessageExts::ClassMethods
242
+ end
243
+
244
+ # DestinationVolumeParameters specify input parameters used for creating
245
+ # destination volume.
246
+ # @!attribute [rw] storage_pool
247
+ # @return [::String]
248
+ # Required. Existing destination StoragePool name.
249
+ # @!attribute [rw] volume_id
250
+ # @return [::String]
251
+ # Desired destination volume resource id. If not specified, source volume's
252
+ # resource id will be used.
253
+ # This value must start with a lowercase letter followed by up to 62
254
+ # lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
255
+ # @!attribute [rw] share_name
256
+ # @return [::String]
257
+ # Destination volume's share name. If not specified, source volume's share
258
+ # name will be used.
259
+ # @!attribute [rw] description
260
+ # @return [::String]
261
+ # Description for the destination volume.
262
+ class DestinationVolumeParameters
263
+ include ::Google::Protobuf::MessageExts
264
+ extend ::Google::Protobuf::MessageExts::ClassMethods
265
+ end
266
+
267
+ # CreateReplicationRequest creates a replication.
268
+ # @!attribute [rw] parent
269
+ # @return [::String]
270
+ # Required. The NetApp volume to create the replications of, in the format
271
+ # `projects/{project_id}/locations/{location}/volumes/{volume_id}`
272
+ # @!attribute [rw] replication
273
+ # @return [::Google::Cloud::NetApp::V1::Replication]
274
+ # Required. A replication resource
275
+ # @!attribute [rw] replication_id
276
+ # @return [::String]
277
+ # Required. ID of the replication to create.
278
+ # This value must start with a lowercase letter followed by up to 62
279
+ # lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
280
+ class CreateReplicationRequest
281
+ include ::Google::Protobuf::MessageExts
282
+ extend ::Google::Protobuf::MessageExts::ClassMethods
283
+ end
284
+
285
+ # DeleteReplicationRequest deletes a replication.
286
+ # @!attribute [rw] name
287
+ # @return [::String]
288
+ # Required. The replication resource name, in the format
289
+ # `projects/*/locations/*/volumes/*/replications/{replication_id}`
290
+ class DeleteReplicationRequest
291
+ include ::Google::Protobuf::MessageExts
292
+ extend ::Google::Protobuf::MessageExts::ClassMethods
293
+ end
294
+
295
+ # UpdateReplicationRequest updates description and/or labels for a replication.
296
+ # @!attribute [rw] update_mask
297
+ # @return [::Google::Protobuf::FieldMask]
298
+ # Required. Mask of fields to update. At least one path must be supplied in
299
+ # this field.
300
+ # @!attribute [rw] replication
301
+ # @return [::Google::Cloud::NetApp::V1::Replication]
302
+ # Required. A replication resource
303
+ class UpdateReplicationRequest
304
+ include ::Google::Protobuf::MessageExts
305
+ extend ::Google::Protobuf::MessageExts::ClassMethods
306
+ end
307
+
308
+ # StopReplicationRequest stops a replication until resumed.
309
+ # @!attribute [rw] name
310
+ # @return [::String]
311
+ # Required. The resource name of the replication, in the format of
312
+ # projects/\\{project_id}/locations/\\{location}/volumes/\\{volume_id}/replications/\\{replication_id}.
313
+ # @!attribute [rw] force
314
+ # @return [::Boolean]
315
+ # Indicates whether to stop replication forcefully while data transfer is in
316
+ # progress.
317
+ # Warning! if force is true, this will abort any current transfers
318
+ # and can lead to data loss due to partial transfer.
319
+ # If force is false, stop replication will fail while data transfer is in
320
+ # progress and you will need to retry later.
321
+ class StopReplicationRequest
322
+ include ::Google::Protobuf::MessageExts
323
+ extend ::Google::Protobuf::MessageExts::ClassMethods
324
+ end
325
+
326
+ # ResumeReplicationRequest resumes a stopped replication.
327
+ # @!attribute [rw] name
328
+ # @return [::String]
329
+ # Required. The resource name of the replication, in the format of
330
+ # projects/\\{project_id}/locations/\\{location}/volumes/\\{volume_id}/replications/\\{replication_id}.
331
+ class ResumeReplicationRequest
332
+ include ::Google::Protobuf::MessageExts
333
+ extend ::Google::Protobuf::MessageExts::ClassMethods
334
+ end
335
+
336
+ # ReverseReplicationDirectionRequest reverses direction of replication. Source
337
+ # becomes destination and destination becomes source.
338
+ # @!attribute [rw] name
339
+ # @return [::String]
340
+ # Required. The resource name of the replication, in the format of
341
+ # projects/\\{project_id}/locations/\\{location}/volumes/\\{volume_id}/replications/\\{replication_id}.
342
+ class ReverseReplicationDirectionRequest
343
+ include ::Google::Protobuf::MessageExts
344
+ extend ::Google::Protobuf::MessageExts::ClassMethods
345
+ end
346
+ end
347
+ end
348
+ end
349
+ end