# frozen_string_literal: true # Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Auto-generated by gapic-generator-ruby. DO NOT EDIT! module Google module Cloud module BareMetalSolution module V2 # An NFS share. # @!attribute [r] name # @return [::String] # Output only. The name of the NFS share. # @!attribute [r] nfs_share_id # @return [::String] # Output only. An identifier for the NFS share, generated by the backend. # @!attribute [rw] state # @return [::Google::Cloud::BareMetalSolution::V2::NfsShare::State] # The state of the NFS share. # @!attribute [rw] volume # @return [::String] # The volume containing the share. # @!attribute [rw] allowed_clients # @return [::Array<::Google::Cloud::BareMetalSolution::V2::NfsShare::AllowedClient>] # List of allowed access points. # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # Labels as key value pairs. class NfsShare include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Represents an 'access point' for the share. # @!attribute [rw] network # @return [::String] # The network the access point sits on. # @!attribute [rw] share_ip # @return [::String] # The IP address of the share on this network. # @!attribute [rw] allowed_clients_cidr # @return [::String] # The subnet of IP addresses permitted to access the share. # @!attribute [rw] mount_permissions # @return [::Google::Cloud::BareMetalSolution::V2::NfsShare::MountPermissions] # Mount permissions. # @!attribute [rw] allow_dev # @return [::Boolean] # Allow dev flag. Which controls whether to allow creation of devices. # @!attribute [rw] allow_suid # @return [::Boolean] # Allow the setuid flag. # @!attribute [rw] no_root_squash # @return [::Boolean] # Disable root squashing, which is a feature of NFS. # Root squash is a special mapping of the remote superuser (root) identity # when using identity authentication. class AllowedClient include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The possible states for this NFS share. module State # The share is in an unknown state. STATE_UNSPECIFIED = 0 # The share has been provisioned. PROVISIONED = 1 end # The possible mount permissions. module MountPermissions # Permissions were not specified. MOUNT_PERMISSIONS_UNSPECIFIED = 0 # NFS share can be mount with read-only permissions. READ = 1 # NFS share can be mount with read-write permissions. READ_WRITE = 2 end end # Message for requesting NFS share information. # @!attribute [rw] name # @return [::String] # Required. Name of the resource. class GetNfsShareRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Message for requesting a list of NFS shares. # @!attribute [rw] parent # @return [::String] # Required. Parent value for ListNfsSharesRequest. # @!attribute [rw] page_size # @return [::Integer] # Requested page size. The server might return fewer items than requested. # If unspecified, server will pick an appropriate default. # @!attribute [rw] page_token # @return [::String] # A token identifying a page of results from the server. # @!attribute [rw] filter # @return [::String] # List filter. class ListNfsSharesRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message containing the list of NFS shares. # @!attribute [rw] nfs_shares # @return [::Array<::Google::Cloud::BareMetalSolution::V2::NfsShare>] # The list of NFS shares. # @!attribute [rw] next_page_token # @return [::String] # A token identifying a page of results from the server. # @!attribute [rw] unreachable # @return [::Array<::String>] # Locations that could not be reached. class ListNfsSharesResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Message requesting to updating a NFS share. # @!attribute [rw] nfs_share # @return [::Google::Cloud::BareMetalSolution::V2::NfsShare] # Required. The NFS share to update. # # The `name` field is used to identify the NFS share to update. # Format: projects/\\{project}/locations/\\{location}/nfsShares/\\{nfs_share} # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # The list of fields to update. # The only currently supported fields are: # `labels` class UpdateNfsShareRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end end end end