google-api-ruby-client/generated/google-apis-baremetalsoluti.../lib/google/apis/baremetalsolution_v2/representations.rb

770 lines
28 KiB
Ruby

# Copyright 2020 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
#
# http://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.
require 'date'
require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'
module Google
module Apis
module BaremetalsolutionV2
class AllowedClient
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class Empty
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class Instance
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class InstanceConfig
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class InstanceQuota
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class IntakeVlanAttachment
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ListInstancesResponse
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ListLocationsResponse
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ListLunsResponse
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ListNetworkUsageResponse
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ListNetworksResponse
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ListNfsSharesResponse
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ListProvisioningQuotasResponse
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ListSnapshotSchedulePoliciesResponse
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ListVolumeSnapshotsResponse
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ListVolumesResponse
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class Location
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class Lun
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class LunRange
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class Network
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class NetworkAddress
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class NetworkConfig
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class NetworkUsage
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class NfsExport
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class NfsShare
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class Operation
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ProvisioningConfig
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ProvisioningQuota
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class QosPolicy
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ResetInstanceRequest
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class RestoreVolumeSnapshotRequest
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class Schedule
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class SnapshotReservationDetail
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class SnapshotSchedulePolicy
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class StartInstanceRequest
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class Status
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class SubmitProvisioningConfigRequest
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class SubmitProvisioningConfigResponse
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class Vrf
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class VlanAttachment
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class Volume
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class VolumeConfig
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class VolumeSnapshot
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class AllowedClient
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :allow_dev, as: 'allowDev'
property :allow_suid, as: 'allowSuid'
property :allowed_clients_cidr, as: 'allowedClientsCidr'
property :mount_permissions, as: 'mountPermissions'
property :network, as: 'network'
property :no_root_squash, as: 'noRootSquash'
property :share_ip, as: 'shareIp'
end
end
class Empty
# @private
class Representation < Google::Apis::Core::JsonRepresentation
end
end
class Instance
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :create_time, as: 'createTime'
property :hyperthreading_enabled, as: 'hyperthreadingEnabled'
property :id, as: 'id'
property :interactive_serial_console_enabled, as: 'interactiveSerialConsoleEnabled'
hash :labels, as: 'labels'
collection :luns, as: 'luns', class: Google::Apis::BaremetalsolutionV2::Lun, decorator: Google::Apis::BaremetalsolutionV2::Lun::Representation
property :machine_type, as: 'machineType'
property :name, as: 'name'
collection :networks, as: 'networks', class: Google::Apis::BaremetalsolutionV2::Network, decorator: Google::Apis::BaremetalsolutionV2::Network::Representation
property :state, as: 'state'
property :update_time, as: 'updateTime'
end
end
class InstanceConfig
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :account_networks_enabled, as: 'accountNetworksEnabled'
property :client_network, as: 'clientNetwork', class: Google::Apis::BaremetalsolutionV2::NetworkAddress, decorator: Google::Apis::BaremetalsolutionV2::NetworkAddress::Representation
property :hyperthreading, as: 'hyperthreading'
property :id, as: 'id'
property :instance_type, as: 'instanceType'
property :name, as: 'name'
property :os_image, as: 'osImage'
property :private_network, as: 'privateNetwork', class: Google::Apis::BaremetalsolutionV2::NetworkAddress, decorator: Google::Apis::BaremetalsolutionV2::NetworkAddress::Representation
property :user_note, as: 'userNote'
end
end
class InstanceQuota
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :available_machine_count, as: 'availableMachineCount'
property :instance_type, as: 'instanceType'
property :location, as: 'location'
property :name, as: 'name'
end
end
class IntakeVlanAttachment
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :id, as: 'id'
property :pairing_key, as: 'pairingKey'
end
end
class ListInstancesResponse
# @private
class Representation < Google::Apis::Core::JsonRepresentation
collection :instances, as: 'instances', class: Google::Apis::BaremetalsolutionV2::Instance, decorator: Google::Apis::BaremetalsolutionV2::Instance::Representation
property :next_page_token, as: 'nextPageToken'
collection :unreachable, as: 'unreachable'
end
end
class ListLocationsResponse
# @private
class Representation < Google::Apis::Core::JsonRepresentation
collection :locations, as: 'locations', class: Google::Apis::BaremetalsolutionV2::Location, decorator: Google::Apis::BaremetalsolutionV2::Location::Representation
property :next_page_token, as: 'nextPageToken'
end
end
class ListLunsResponse
# @private
class Representation < Google::Apis::Core::JsonRepresentation
collection :luns, as: 'luns', class: Google::Apis::BaremetalsolutionV2::Lun, decorator: Google::Apis::BaremetalsolutionV2::Lun::Representation
property :next_page_token, as: 'nextPageToken'
collection :unreachable, as: 'unreachable'
end
end
class ListNetworkUsageResponse
# @private
class Representation < Google::Apis::Core::JsonRepresentation
collection :networks, as: 'networks', class: Google::Apis::BaremetalsolutionV2::NetworkUsage, decorator: Google::Apis::BaremetalsolutionV2::NetworkUsage::Representation
end
end
class ListNetworksResponse
# @private
class Representation < Google::Apis::Core::JsonRepresentation
collection :networks, as: 'networks', class: Google::Apis::BaremetalsolutionV2::Network, decorator: Google::Apis::BaremetalsolutionV2::Network::Representation
property :next_page_token, as: 'nextPageToken'
collection :unreachable, as: 'unreachable'
end
end
class ListNfsSharesResponse
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :next_page_token, as: 'nextPageToken'
collection :nfs_shares, as: 'nfsShares', class: Google::Apis::BaremetalsolutionV2::NfsShare, decorator: Google::Apis::BaremetalsolutionV2::NfsShare::Representation
collection :unreachable, as: 'unreachable'
end
end
class ListProvisioningQuotasResponse
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :next_page_token, as: 'nextPageToken'
collection :provisioning_quotas, as: 'provisioningQuotas', class: Google::Apis::BaremetalsolutionV2::ProvisioningQuota, decorator: Google::Apis::BaremetalsolutionV2::ProvisioningQuota::Representation
end
end
class ListSnapshotSchedulePoliciesResponse
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :next_page_token, as: 'nextPageToken'
collection :snapshot_schedule_policies, as: 'snapshotSchedulePolicies', class: Google::Apis::BaremetalsolutionV2::SnapshotSchedulePolicy, decorator: Google::Apis::BaremetalsolutionV2::SnapshotSchedulePolicy::Representation
end
end
class ListVolumeSnapshotsResponse
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :next_page_token, as: 'nextPageToken'
collection :unreachable, as: 'unreachable'
collection :volume_snapshots, as: 'volumeSnapshots', class: Google::Apis::BaremetalsolutionV2::VolumeSnapshot, decorator: Google::Apis::BaremetalsolutionV2::VolumeSnapshot::Representation
end
end
class ListVolumesResponse
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :next_page_token, as: 'nextPageToken'
collection :unreachable, as: 'unreachable'
collection :volumes, as: 'volumes', class: Google::Apis::BaremetalsolutionV2::Volume, decorator: Google::Apis::BaremetalsolutionV2::Volume::Representation
end
end
class Location
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :display_name, as: 'displayName'
hash :labels, as: 'labels'
property :location_id, as: 'locationId'
hash :metadata, as: 'metadata'
property :name, as: 'name'
end
end
class Lun
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :boot_lun, as: 'bootLun'
property :id, as: 'id'
property :multiprotocol_type, as: 'multiprotocolType'
property :name, as: 'name'
property :shareable, as: 'shareable'
property :size_gb, :numeric_string => true, as: 'sizeGb'
property :state, as: 'state'
property :storage_type, as: 'storageType'
property :storage_volume, as: 'storageVolume'
property :wwid, as: 'wwid'
end
end
class LunRange
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :quantity, as: 'quantity'
property :size_gb, as: 'sizeGb'
end
end
class Network
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :cidr, as: 'cidr'
property :id, as: 'id'
property :ip_address, as: 'ipAddress'
hash :labels, as: 'labels'
collection :mac_address, as: 'macAddress'
property :name, as: 'name'
property :services_cidr, as: 'servicesCidr'
property :state, as: 'state'
property :type, as: 'type'
property :vlan_id, as: 'vlanId'
property :vrf, as: 'vrf', class: Google::Apis::BaremetalsolutionV2::Vrf, decorator: Google::Apis::BaremetalsolutionV2::Vrf::Representation
end
end
class NetworkAddress
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :address, as: 'address'
property :existing_network_id, as: 'existingNetworkId'
property :network_id, as: 'networkId'
end
end
class NetworkConfig
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :bandwidth, as: 'bandwidth'
property :cidr, as: 'cidr'
property :gcp_service, as: 'gcpService'
property :id, as: 'id'
property :name, as: 'name'
property :service_cidr, as: 'serviceCidr'
property :type, as: 'type'
property :user_note, as: 'userNote'
collection :vlan_attachments, as: 'vlanAttachments', class: Google::Apis::BaremetalsolutionV2::IntakeVlanAttachment, decorator: Google::Apis::BaremetalsolutionV2::IntakeVlanAttachment::Representation
property :vlan_same_project, as: 'vlanSameProject'
end
end
class NetworkUsage
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :network, as: 'network', class: Google::Apis::BaremetalsolutionV2::Network, decorator: Google::Apis::BaremetalsolutionV2::Network::Representation
collection :used_ips, as: 'usedIps'
end
end
class NfsExport
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :allow_dev, as: 'allowDev'
property :allow_suid, as: 'allowSuid'
property :cidr, as: 'cidr'
property :machine_id, as: 'machineId'
property :network_id, as: 'networkId'
property :no_root_squash, as: 'noRootSquash'
property :permissions, as: 'permissions'
end
end
class NfsShare
# @private
class Representation < Google::Apis::Core::JsonRepresentation
collection :allowed_clients, as: 'allowedClients', class: Google::Apis::BaremetalsolutionV2::AllowedClient, decorator: Google::Apis::BaremetalsolutionV2::AllowedClient::Representation
hash :labels, as: 'labels'
property :name, as: 'name'
property :nfs_share_id, as: 'nfsShareId'
property :state, as: 'state'
property :volume, as: 'volume'
end
end
class Operation
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :done, as: 'done'
property :error, as: 'error', class: Google::Apis::BaremetalsolutionV2::Status, decorator: Google::Apis::BaremetalsolutionV2::Status::Representation
hash :metadata, as: 'metadata'
property :name, as: 'name'
hash :response, as: 'response'
end
end
class ProvisioningConfig
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :cloud_console_uri, as: 'cloudConsoleUri'
property :email, as: 'email'
property :handover_service_account, as: 'handoverServiceAccount'
collection :instances, as: 'instances', class: Google::Apis::BaremetalsolutionV2::InstanceConfig, decorator: Google::Apis::BaremetalsolutionV2::InstanceConfig::Representation
property :location, as: 'location'
property :name, as: 'name'
collection :networks, as: 'networks', class: Google::Apis::BaremetalsolutionV2::NetworkConfig, decorator: Google::Apis::BaremetalsolutionV2::NetworkConfig::Representation
property :state, as: 'state'
property :ticket_id, as: 'ticketId'
property :update_time, as: 'updateTime'
collection :volumes, as: 'volumes', class: Google::Apis::BaremetalsolutionV2::VolumeConfig, decorator: Google::Apis::BaremetalsolutionV2::VolumeConfig::Representation
end
end
class ProvisioningQuota
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :asset_type, as: 'assetType'
property :available_count, as: 'availableCount'
property :gcp_service, as: 'gcpService'
property :instance_quota, as: 'instanceQuota', class: Google::Apis::BaremetalsolutionV2::InstanceQuota, decorator: Google::Apis::BaremetalsolutionV2::InstanceQuota::Representation
property :location, as: 'location'
property :name, as: 'name'
property :network_bandwidth, :numeric_string => true, as: 'networkBandwidth'
property :server_count, :numeric_string => true, as: 'serverCount'
property :storage_gib, :numeric_string => true, as: 'storageGib'
end
end
class QosPolicy
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :bandwidth_gbps, as: 'bandwidthGbps'
end
end
class ResetInstanceRequest
# @private
class Representation < Google::Apis::Core::JsonRepresentation
end
end
class RestoreVolumeSnapshotRequest
# @private
class Representation < Google::Apis::Core::JsonRepresentation
end
end
class Schedule
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :crontab_spec, as: 'crontabSpec'
property :prefix, as: 'prefix'
property :retention_count, as: 'retentionCount'
end
end
class SnapshotReservationDetail
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :reserved_space_gib, :numeric_string => true, as: 'reservedSpaceGib'
property :reserved_space_percent, as: 'reservedSpacePercent'
property :reserved_space_remaining_gib, :numeric_string => true, as: 'reservedSpaceRemainingGib'
property :reserved_space_used_percent, as: 'reservedSpaceUsedPercent'
end
end
class SnapshotSchedulePolicy
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :description, as: 'description'
property :id, as: 'id'
hash :labels, as: 'labels'
property :name, as: 'name'
collection :schedules, as: 'schedules', class: Google::Apis::BaremetalsolutionV2::Schedule, decorator: Google::Apis::BaremetalsolutionV2::Schedule::Representation
property :state, as: 'state'
end
end
class StartInstanceRequest
# @private
class Representation < Google::Apis::Core::JsonRepresentation
end
end
class Status
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :code, as: 'code'
collection :details, as: 'details'
property :message, as: 'message'
end
end
class SubmitProvisioningConfigRequest
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :email, as: 'email'
property :provisioning_config, as: 'provisioningConfig', class: Google::Apis::BaremetalsolutionV2::ProvisioningConfig, decorator: Google::Apis::BaremetalsolutionV2::ProvisioningConfig::Representation
end
end
class SubmitProvisioningConfigResponse
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :provisioning_config, as: 'provisioningConfig', class: Google::Apis::BaremetalsolutionV2::ProvisioningConfig, decorator: Google::Apis::BaremetalsolutionV2::ProvisioningConfig::Representation
end
end
class Vrf
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :name, as: 'name'
property :qos_policy, as: 'qosPolicy', class: Google::Apis::BaremetalsolutionV2::QosPolicy, decorator: Google::Apis::BaremetalsolutionV2::QosPolicy::Representation
property :state, as: 'state'
collection :vlan_attachments, as: 'vlanAttachments', class: Google::Apis::BaremetalsolutionV2::VlanAttachment, decorator: Google::Apis::BaremetalsolutionV2::VlanAttachment::Representation
end
end
class VlanAttachment
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :peer_ip, as: 'peerIp'
property :peer_vlan_id, :numeric_string => true, as: 'peerVlanId'
property :router_ip, as: 'routerIp'
end
end
class Volume
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :auto_grown_size_gib, :numeric_string => true, as: 'autoGrownSizeGib'
property :current_size_gib, :numeric_string => true, as: 'currentSizeGib'
property :id, as: 'id'
hash :labels, as: 'labels'
property :name, as: 'name'
property :remaining_space_gib, :numeric_string => true, as: 'remainingSpaceGib'
property :requested_size_gib, :numeric_string => true, as: 'requestedSizeGib'
property :snapshot_auto_delete_behavior, as: 'snapshotAutoDeleteBehavior'
property :snapshot_enabled, as: 'snapshotEnabled'
property :snapshot_reservation_detail, as: 'snapshotReservationDetail', class: Google::Apis::BaremetalsolutionV2::SnapshotReservationDetail, decorator: Google::Apis::BaremetalsolutionV2::SnapshotReservationDetail::Representation
property :snapshot_schedule_policy, as: 'snapshotSchedulePolicy'
property :state, as: 'state'
property :storage_type, as: 'storageType'
end
end
class VolumeConfig
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :gcp_service, as: 'gcpService'
property :id, as: 'id'
collection :lun_ranges, as: 'lunRanges', class: Google::Apis::BaremetalsolutionV2::LunRange, decorator: Google::Apis::BaremetalsolutionV2::LunRange::Representation
collection :machine_ids, as: 'machineIds'
property :name, as: 'name'
collection :nfs_exports, as: 'nfsExports', class: Google::Apis::BaremetalsolutionV2::NfsExport, decorator: Google::Apis::BaremetalsolutionV2::NfsExport::Representation
property :protocol, as: 'protocol'
property :size_gb, as: 'sizeGb'
property :snapshots_enabled, as: 'snapshotsEnabled'
property :type, as: 'type'
property :user_note, as: 'userNote'
end
end
class VolumeSnapshot
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :create_time, as: 'createTime'
property :description, as: 'description'
property :id, as: 'id'
property :name, as: 'name'
property :size_bytes, :numeric_string => true, as: 'sizeBytes'
property :storage_volume, as: 'storageVolume'
end
end
end
end
end