google-cloud-netapp-v1 2.7.0 → 2.8.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.
@@ -0,0 +1,193 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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
+ # ListHostGroupsRequest for listing host groups.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. Parent value for ListHostGroupsRequest
28
+ # @!attribute [rw] page_size
29
+ # @return [::Integer]
30
+ # Optional. Requested page size. Server may return fewer items than
31
+ # requested. If unspecified, the server will pick an appropriate default.
32
+ # @!attribute [rw] page_token
33
+ # @return [::String]
34
+ # Optional. A token identifying a page of results the server should return.
35
+ # @!attribute [rw] filter
36
+ # @return [::String]
37
+ # Optional. Filter to apply to the request.
38
+ # @!attribute [rw] order_by
39
+ # @return [::String]
40
+ # Optional. Hint for how to order the results
41
+ class ListHostGroupsRequest
42
+ include ::Google::Protobuf::MessageExts
43
+ extend ::Google::Protobuf::MessageExts::ClassMethods
44
+ end
45
+
46
+ # ListHostGroupsResponse is the response to a ListHostGroupsRequest.
47
+ # @!attribute [rw] host_groups
48
+ # @return [::Array<::Google::Cloud::NetApp::V1::HostGroup>]
49
+ # The list of host groups.
50
+ # @!attribute [rw] next_page_token
51
+ # @return [::String]
52
+ # A token identifying a page of results the server should return.
53
+ # @!attribute [rw] unreachable
54
+ # @return [::Array<::String>]
55
+ # Locations that could not be reached.
56
+ class ListHostGroupsResponse
57
+ include ::Google::Protobuf::MessageExts
58
+ extend ::Google::Protobuf::MessageExts::ClassMethods
59
+ end
60
+
61
+ # GetHostGroupRequest for getting a host group.
62
+ # @!attribute [rw] name
63
+ # @return [::String]
64
+ # Required. The resource name of the host group.
65
+ # Format:
66
+ # `projects/{project_number}/locations/{location_id}/hostGroups/{host_group_id}`.
67
+ class GetHostGroupRequest
68
+ include ::Google::Protobuf::MessageExts
69
+ extend ::Google::Protobuf::MessageExts::ClassMethods
70
+ end
71
+
72
+ # CreateHostGroupRequest for creating a host group.
73
+ # @!attribute [rw] parent
74
+ # @return [::String]
75
+ # Required. Parent value for CreateHostGroupRequest
76
+ # @!attribute [rw] host_group
77
+ # @return [::Google::Cloud::NetApp::V1::HostGroup]
78
+ # Required. Fields of the host group to create.
79
+ # @!attribute [rw] host_group_id
80
+ # @return [::String]
81
+ # Required. ID of the host group to create. Must be unique within the parent
82
+ # resource. Must contain only letters, numbers, and hyphen, with
83
+ # the first character a letter or underscore, the last a letter or underscore
84
+ # or a number, and a 63 character maximum.
85
+ class CreateHostGroupRequest
86
+ include ::Google::Protobuf::MessageExts
87
+ extend ::Google::Protobuf::MessageExts::ClassMethods
88
+ end
89
+
90
+ # UpdateHostGroupRequest for updating a host group.
91
+ # @!attribute [rw] host_group
92
+ # @return [::Google::Cloud::NetApp::V1::HostGroup]
93
+ # Required. The host group to update.
94
+ # The host group's `name` field is used to identify the host group.
95
+ # Format:
96
+ # `projects/{project_number}/locations/{location_id}/hostGroups/{host_group_id}`.
97
+ # @!attribute [rw] update_mask
98
+ # @return [::Google::Protobuf::FieldMask]
99
+ # Optional. The list of fields to update.
100
+ class UpdateHostGroupRequest
101
+ include ::Google::Protobuf::MessageExts
102
+ extend ::Google::Protobuf::MessageExts::ClassMethods
103
+ end
104
+
105
+ # DeleteHostGroupRequest for deleting a single host group.
106
+ # @!attribute [rw] name
107
+ # @return [::String]
108
+ # Required. The resource name of the host group.
109
+ # Format:
110
+ # `projects/{project_number}/locations/{location_id}/hostGroups/{host_group_id}`.
111
+ class DeleteHostGroupRequest
112
+ include ::Google::Protobuf::MessageExts
113
+ extend ::Google::Protobuf::MessageExts::ClassMethods
114
+ end
115
+
116
+ # Host group is a collection of hosts that can be used for accessing a Block
117
+ # Volume.
118
+ # @!attribute [rw] name
119
+ # @return [::String]
120
+ # Identifier. The resource name of the host group.
121
+ # Format:
122
+ # `projects/{project_number}/locations/{location_id}/hostGroups/{host_group_id}`.
123
+ # @!attribute [rw] type
124
+ # @return [::Google::Cloud::NetApp::V1::HostGroup::Type]
125
+ # Required. Type of the host group.
126
+ # @!attribute [r] state
127
+ # @return [::Google::Cloud::NetApp::V1::HostGroup::State]
128
+ # Output only. State of the host group.
129
+ # @!attribute [r] create_time
130
+ # @return [::Google::Protobuf::Timestamp]
131
+ # Output only. Create time of the host group.
132
+ # @!attribute [rw] hosts
133
+ # @return [::Array<::String>]
134
+ # Required. The list of hosts associated with the host group.
135
+ # @!attribute [rw] os_type
136
+ # @return [::Google::Cloud::NetApp::V1::OsType]
137
+ # Required. The OS type of the host group. It indicates the type of operating
138
+ # system used by all of the hosts in the HostGroup. All hosts in a HostGroup
139
+ # must be of the same OS type. This can be set only when creating a
140
+ # HostGroup.
141
+ # @!attribute [rw] description
142
+ # @return [::String]
143
+ # Optional. Description of the host group.
144
+ # @!attribute [rw] labels
145
+ # @return [::Google::Protobuf::Map{::String => ::String}]
146
+ # Optional. Labels of the host group.
147
+ class HostGroup
148
+ include ::Google::Protobuf::MessageExts
149
+ extend ::Google::Protobuf::MessageExts::ClassMethods
150
+
151
+ # @!attribute [rw] key
152
+ # @return [::String]
153
+ # @!attribute [rw] value
154
+ # @return [::String]
155
+ class LabelsEntry
156
+ include ::Google::Protobuf::MessageExts
157
+ extend ::Google::Protobuf::MessageExts::ClassMethods
158
+ end
159
+
160
+ # Types of host group.
161
+ module Type
162
+ # Unspecified type for host group.
163
+ TYPE_UNSPECIFIED = 0
164
+
165
+ # iSCSI initiator host group.
166
+ ISCSI_INITIATOR = 1
167
+ end
168
+
169
+ # Host group states.
170
+ module State
171
+ # Unspecified state for host group.
172
+ STATE_UNSPECIFIED = 0
173
+
174
+ # Host group is creating.
175
+ CREATING = 1
176
+
177
+ # Host group is ready.
178
+ READY = 2
179
+
180
+ # Host group is updating.
181
+ UPDATING = 3
182
+
183
+ # Host group is deleting.
184
+ DELETING = 4
185
+
186
+ # Host group is disabled.
187
+ DISABLED = 5
188
+ end
189
+ end
190
+ end
191
+ end
192
+ end
193
+ end
@@ -146,14 +146,15 @@ module Google
146
146
  extend ::Google::Protobuf::MessageExts::ClassMethods
147
147
  end
148
148
 
149
- # KmsConfig is the customer managed encryption key(CMEK) configuration.
149
+ # KmsConfig is the customer-managed encryption key(CMEK) configuration.
150
150
  # @!attribute [rw] name
151
151
  # @return [::String]
152
152
  # Identifier. Name of the KmsConfig.
153
+ # Format: `projects/{project}/locations/{location}/kmsConfigs/{kms_config}`
153
154
  # @!attribute [rw] crypto_key_name
154
155
  # @return [::String]
155
- # Required. Customer managed crypto key resource full name. Format:
156
- # projects/\\{project}/locations/\\{location}/keyRings/\\{key_ring}/cryptoKeys/\\{key}.
156
+ # Required. Customer-managed crypto key resource full name. Format:
157
+ # `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`
157
158
  # @!attribute [r] state
158
159
  # @return [::Google::Cloud::NetApp::V1::KmsConfig::State]
159
160
  # Output only. State of the KmsConfig.
@@ -234,6 +234,13 @@ module Google
234
234
  # @return [::Integer]
235
235
  # Output only. Total hot tier data rounded down to the nearest GiB used by
236
236
  # the storage pool.
237
+ # @!attribute [rw] type
238
+ # @return [::Google::Cloud::NetApp::V1::StoragePoolType]
239
+ # Optional. Type of the storage pool. This field is used to control whether
240
+ # the pool supports `FILE` based volumes only or `UNIFIED` (both `FILE` and
241
+ # `BLOCK`) volumes or `UNIFIED_LARGE_CAPACITY` (both `FILE` and `BLOCK`)
242
+ # volumes with large capacity. If not specified during creation, it defaults
243
+ # to `FILE`.
237
244
  class StoragePool
238
245
  include ::Google::Protobuf::MessageExts
239
246
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -261,10 +261,17 @@ module Google
261
261
  # @!attribute [rw] throughput_mibps
262
262
  # @return [::Float]
263
263
  # Optional. Throughput of the volume (in MiB/s)
264
+ # @!attribute [rw] cache_parameters
265
+ # @return [::Google::Cloud::NetApp::V1::CacheParameters]
266
+ # Optional. Cache parameters for the volume.
264
267
  # @!attribute [r] hot_tier_size_used_gib
265
268
  # @return [::Integer]
266
269
  # Output only. Total hot tier data rounded down to the nearest GiB used by
267
270
  # the Volume. This field is only used for flex Service Level
271
+ # @!attribute [rw] block_devices
272
+ # @return [::Array<::Google::Cloud::NetApp::V1::BlockDevice>]
273
+ # Optional. Block devices for the volume.
274
+ # Currently, only one block device is permitted per Volume.
268
275
  class Volume
269
276
  include ::Google::Protobuf::MessageExts
270
277
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -380,16 +387,16 @@ module Google
380
387
  # @!attribute [rw] anon_uid
381
388
  # @return [::Integer]
382
389
  # Optional. An integer representing the anonymous user ID. Range is 0 to
383
- # 4294967295. Required when squash_mode is ROOT_SQUASH or ALL_SQUASH.
390
+ # `4294967295`. Required when `squash_mode` is `ROOT_SQUASH` or `ALL_SQUASH`.
384
391
  class SimpleExportPolicyRule
385
392
  include ::Google::Protobuf::MessageExts
386
393
  extend ::Google::Protobuf::MessageExts::ClassMethods
387
394
 
388
- # SquashMode defines how remote user privileges are restricted when accessing
389
- # an NFS export. It controls how user identities (like root) are mapped to
390
- # anonymous users to limit access and enforce security.
395
+ # `SquashMode` defines how remote user privileges are restricted when
396
+ # accessing an NFS export. It controls how user identities (like root) are
397
+ # mapped to anonymous users to limit access and enforce security.
391
398
  module SquashMode
392
- # Defaults to NO_ROOT_SQUASH.
399
+ # Defaults to `NO_ROOT_SQUASH`.
393
400
  SQUASH_MODE_UNSPECIFIED = 0
394
401
 
395
402
  # The root user (UID 0) retains full access. Other users are
@@ -664,6 +671,193 @@ module Google
664
671
  end
665
672
  end
666
673
 
674
+ # Cache Parameters for the volume.
675
+ # @!attribute [rw] peer_volume_name
676
+ # @return [::String]
677
+ # Required. Name of the origin volume for the cache volume.
678
+ # @!attribute [rw] peer_cluster_name
679
+ # @return [::String]
680
+ # Required. Name of the origin volume's ONTAP cluster.
681
+ # @!attribute [rw] peer_svm_name
682
+ # @return [::String]
683
+ # Required. Name of the origin volume's SVM.
684
+ # @!attribute [rw] peer_ip_addresses
685
+ # @return [::Array<::String>]
686
+ # Required. List of IC LIF addresses of the origin volume's ONTAP cluster.
687
+ # @!attribute [rw] enable_global_file_lock
688
+ # @return [::Boolean]
689
+ # Optional. Indicates whether the cache volume has global file lock enabled.
690
+ # @!attribute [rw] cache_config
691
+ # @return [::Google::Cloud::NetApp::V1::CacheConfig]
692
+ # Optional. Configuration of the cache volume.
693
+ # @!attribute [r] cache_state
694
+ # @return [::Google::Cloud::NetApp::V1::CacheParameters::CacheState]
695
+ # Output only. State of the cache volume indicating the peering status.
696
+ # @!attribute [r] command
697
+ # @return [::String]
698
+ # Output only. Copy-paste-able commands to be used on user's ONTAP to accept
699
+ # peering requests.
700
+ # @!attribute [rw] peering_command_expiry_time
701
+ # @return [::Google::Protobuf::Timestamp]
702
+ # Optional. Expiration time for the peering command to be executed on user's
703
+ # ONTAP.
704
+ # @!attribute [r] passphrase
705
+ # @return [::String]
706
+ # Output only. Temporary passphrase generated to accept cluster peering
707
+ # command.
708
+ # @!attribute [r] state_details
709
+ # @return [::String]
710
+ # Output only. Detailed description of the current cache state.
711
+ class CacheParameters
712
+ include ::Google::Protobuf::MessageExts
713
+ extend ::Google::Protobuf::MessageExts::ClassMethods
714
+
715
+ # State of the cache volume indicating the peering status.
716
+ module CacheState
717
+ # Default unspecified state.
718
+ CACHE_STATE_UNSPECIFIED = 0
719
+
720
+ # State indicating waiting for cluster peering to be established.
721
+ PENDING_CLUSTER_PEERING = 1
722
+
723
+ # State indicating waiting for SVM peering to be established.
724
+ PENDING_SVM_PEERING = 2
725
+
726
+ # State indicating successful establishment of peering with origin
727
+ # volumes's ONTAP cluster.
728
+ PEERED = 3
729
+
730
+ # Terminal state wherein peering with origin volume's ONTAP cluster
731
+ # has failed.
732
+ ERROR = 4
733
+ end
734
+ end
735
+
736
+ # Configuration of the cache volume.
737
+ # @!attribute [rw] cache_pre_populate
738
+ # @return [::Google::Cloud::NetApp::V1::CachePrePopulate]
739
+ # Optional. Pre-populate cache volume with data from the origin volume.
740
+ # @!attribute [rw] writeback_enabled
741
+ # @return [::Boolean]
742
+ # Optional. Flag indicating whether writeback is enabled for the FlexCache
743
+ # volume.
744
+ # @!attribute [rw] cifs_change_notify_enabled
745
+ # @return [::Boolean]
746
+ # Optional. Flag indicating whether a CIFS change notification is enabled for
747
+ # the FlexCache volume.
748
+ # @!attribute [r] cache_pre_populate_state
749
+ # @return [::Google::Cloud::NetApp::V1::CacheConfig::CachePrePopulateState]
750
+ # Output only. State of the prepopulation job indicating how the
751
+ # prepopulation is progressing.
752
+ class CacheConfig
753
+ include ::Google::Protobuf::MessageExts
754
+ extend ::Google::Protobuf::MessageExts::ClassMethods
755
+
756
+ # State of the prepopulation job indicating how the prepopulation is
757
+ # progressing.
758
+ module CachePrePopulateState
759
+ # Default unspecified state.
760
+ CACHE_PRE_POPULATE_STATE_UNSPECIFIED = 0
761
+
762
+ # State representing when the most recent create or update request did not
763
+ # require a prepopulation job.
764
+ NOT_NEEDED = 1
765
+
766
+ # State representing when the most recent update request requested a
767
+ # prepopulation job but it has not yet completed.
768
+ IN_PROGRESS = 2
769
+
770
+ # State representing when the most recent update request requested a
771
+ # prepopulation job and it has completed successfully.
772
+ COMPLETE = 3
773
+
774
+ # State representing when the most recent update request requested a
775
+ # prepopulation job but the prepopulate job failed.
776
+ ERROR = 4
777
+ end
778
+ end
779
+
780
+ # Pre-populate cache volume with data from the origin volume.
781
+ # @!attribute [rw] path_list
782
+ # @return [::Array<::String>]
783
+ # Optional. List of directory-paths to be pre-populated for the FlexCache
784
+ # volume.
785
+ # @!attribute [rw] exclude_path_list
786
+ # @return [::Array<::String>]
787
+ # Optional. List of directory-paths to be excluded for pre-population for the
788
+ # FlexCache volume.
789
+ # @!attribute [rw] recursion
790
+ # @return [::Boolean]
791
+ # Optional. Flag indicating whether the directories listed with the
792
+ # `path_list` need to be recursively pre-populated.
793
+ class CachePrePopulate
794
+ include ::Google::Protobuf::MessageExts
795
+ extend ::Google::Protobuf::MessageExts::ClassMethods
796
+ end
797
+
798
+ # Block device represents the device(s) which are stored in the block volume.
799
+ # @!attribute [rw] name
800
+ # @return [::String]
801
+ # Optional. User-defined name for the block device, unique within the volume.
802
+ # In case no user input is provided, name will be auto-generated in the
803
+ # backend. The name must meet the following requirements:
804
+ # * Be between 1 and 255 characters long.
805
+ # * Contain only uppercase or lowercase letters (A-Z, a-z), numbers (0-9),
806
+ # and the following special characters: "-", "_", "}", "{", ".".
807
+ # * Spaces are not allowed.
808
+ # @!attribute [rw] host_groups
809
+ # @return [::Array<::String>]
810
+ # Optional. A list of host groups that identify hosts that can mount the
811
+ # block volume. Format:
812
+ # `projects/{project_id}/locations/{location}/hostGroups/{host_group_id}`
813
+ # This field can be updated after the block device is created.
814
+ # @!attribute [r] identifier
815
+ # @return [::String]
816
+ # Output only. Device identifier of the block volume. This represents
817
+ # `lun_serial_number` for iSCSI volumes.
818
+ # @!attribute [rw] size_gib
819
+ # @return [::Integer]
820
+ # Optional. The size of the block device in GiB.
821
+ # Any value provided for the `size_gib` field during volume creation is
822
+ # ignored. The block device's size is system-managed and will be set to match
823
+ # the parent Volume's `capacity_gib`.
824
+ # @!attribute [rw] os_type
825
+ # @return [::Google::Cloud::NetApp::V1::OsType]
826
+ # Required. Immutable. The OS type of the volume.
827
+ # This field can't be changed after the block device is created.
828
+ class BlockDevice
829
+ include ::Google::Protobuf::MessageExts
830
+ extend ::Google::Protobuf::MessageExts::ClassMethods
831
+ end
832
+
833
+ # RestoreBackupFilesRequest restores files from a backup to a volume.
834
+ # @!attribute [rw] name
835
+ # @return [::String]
836
+ # Required. The volume resource name, in the format
837
+ # `projects/{project_id}/locations/{location}/volumes/{volume_id}`
838
+ # @!attribute [rw] backup
839
+ # @return [::String]
840
+ # Required. The backup resource name, in the format
841
+ # `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`
842
+ # @!attribute [rw] file_list
843
+ # @return [::Array<::String>]
844
+ # Required. List of files to be restored, specified by their absolute path in
845
+ # the source volume.
846
+ # @!attribute [rw] restore_destination_path
847
+ # @return [::String]
848
+ # Optional. Absolute directory path in the destination volume. This is
849
+ # required if the `file_list` is provided.
850
+ class RestoreBackupFilesRequest
851
+ include ::Google::Protobuf::MessageExts
852
+ extend ::Google::Protobuf::MessageExts::ClassMethods
853
+ end
854
+
855
+ # RestoreBackupFilesResponse is the result of RestoreBackupFilesRequest.
856
+ class RestoreBackupFilesResponse
857
+ include ::Google::Protobuf::MessageExts
858
+ extend ::Google::Protobuf::MessageExts::ClassMethods
859
+ end
860
+
667
861
  # Protocols is an enum of all the supported network protocols for a volume.
668
862
  module Protocols
669
863
  # Unspecified protocol
@@ -677,6 +871,9 @@ module Google
677
871
 
678
872
  # SMB protocol
679
873
  SMB = 3
874
+
875
+ # ISCSI protocol
876
+ ISCSI = 4
680
877
  end
681
878
 
682
879
  # AccessType is an enum of all the supported access types for a volume.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-netapp-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 2.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
@@ -75,6 +75,7 @@ files:
75
75
  - lib/google/cloud/netapp/v1/cloud_netapp_service_pb.rb
76
76
  - lib/google/cloud/netapp/v1/cloud_netapp_service_services_pb.rb
77
77
  - lib/google/cloud/netapp/v1/common_pb.rb
78
+ - lib/google/cloud/netapp/v1/host_group_pb.rb
78
79
  - lib/google/cloud/netapp/v1/kms_pb.rb
79
80
  - lib/google/cloud/netapp/v1/netapp.rb
80
81
  - lib/google/cloud/netapp/v1/netapp/client.rb
@@ -104,6 +105,7 @@ files:
104
105
  - proto_docs/google/cloud/netapp/v1/backup_vault.rb
105
106
  - proto_docs/google/cloud/netapp/v1/cloud_netapp_service.rb
106
107
  - proto_docs/google/cloud/netapp/v1/common.rb
108
+ - proto_docs/google/cloud/netapp/v1/host_group.rb
107
109
  - proto_docs/google/cloud/netapp/v1/kms.rb
108
110
  - proto_docs/google/cloud/netapp/v1/quota_rule.rb
109
111
  - proto_docs/google/cloud/netapp/v1/replication.rb