234 lines
8.8 KiB
Ruby
234 lines
8.8 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 BaremetalsolutionV1alpha1
|
|
|
|
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 ListProvisioningQuotasResponse
|
|
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 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 NfsExport
|
|
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 SubmitProvisioningConfigRequest
|
|
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 VolumeConfig
|
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
|
|
include Google::Apis::Core::JsonObjectSupport
|
|
end
|
|
|
|
class InstanceConfig
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :client_network, as: 'clientNetwork', class: Google::Apis::BaremetalsolutionV1alpha1::NetworkAddress, decorator: Google::Apis::BaremetalsolutionV1alpha1::NetworkAddress::Representation
|
|
|
|
property :hyperthreading, as: 'hyperthreading'
|
|
property :id, as: 'id'
|
|
property :instance_type, as: 'instanceType'
|
|
property :location, as: 'location'
|
|
property :os_image, as: 'osImage'
|
|
property :private_network, as: 'privateNetwork', class: Google::Apis::BaremetalsolutionV1alpha1::NetworkAddress, decorator: Google::Apis::BaremetalsolutionV1alpha1::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'
|
|
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::BaremetalsolutionV1alpha1::ProvisioningQuota, decorator: Google::Apis::BaremetalsolutionV1alpha1::ProvisioningQuota::Representation
|
|
|
|
end
|
|
end
|
|
|
|
class LunRange
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :quantity, as: 'quantity'
|
|
property :size_gb, as: 'sizeGb'
|
|
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 :id, as: 'id'
|
|
property :location, as: 'location'
|
|
property :service_cidr, as: 'serviceCidr'
|
|
property :type, as: 'type'
|
|
property :user_note, as: 'userNote'
|
|
collection :vlan_attachments, as: 'vlanAttachments', class: Google::Apis::BaremetalsolutionV1alpha1::VlanAttachment, decorator: Google::Apis::BaremetalsolutionV1alpha1::VlanAttachment::Representation
|
|
|
|
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 ProvisioningConfig
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
collection :instances, as: 'instances', class: Google::Apis::BaremetalsolutionV1alpha1::InstanceConfig, decorator: Google::Apis::BaremetalsolutionV1alpha1::InstanceConfig::Representation
|
|
|
|
collection :networks, as: 'networks', class: Google::Apis::BaremetalsolutionV1alpha1::NetworkConfig, decorator: Google::Apis::BaremetalsolutionV1alpha1::NetworkConfig::Representation
|
|
|
|
property :ticket_id, as: 'ticketId'
|
|
collection :volumes, as: 'volumes', class: Google::Apis::BaremetalsolutionV1alpha1::VolumeConfig, decorator: Google::Apis::BaremetalsolutionV1alpha1::VolumeConfig::Representation
|
|
|
|
end
|
|
end
|
|
|
|
class ProvisioningQuota
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :instance_quota, as: 'instanceQuota', class: Google::Apis::BaremetalsolutionV1alpha1::InstanceQuota, decorator: Google::Apis::BaremetalsolutionV1alpha1::InstanceQuota::Representation
|
|
|
|
end
|
|
end
|
|
|
|
class SubmitProvisioningConfigRequest
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :email, as: 'email'
|
|
property :provisioning_config, as: 'provisioningConfig', class: Google::Apis::BaremetalsolutionV1alpha1::ProvisioningConfig, decorator: Google::Apis::BaremetalsolutionV1alpha1::ProvisioningConfig::Representation
|
|
|
|
end
|
|
end
|
|
|
|
class VlanAttachment
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :id, as: 'id'
|
|
property :pairing_key, as: 'pairingKey'
|
|
end
|
|
end
|
|
|
|
class VolumeConfig
|
|
# @private
|
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
property :id, as: 'id'
|
|
property :location, as: 'location'
|
|
collection :lun_ranges, as: 'lunRanges', class: Google::Apis::BaremetalsolutionV1alpha1::LunRange, decorator: Google::Apis::BaremetalsolutionV1alpha1::LunRange::Representation
|
|
|
|
collection :machine_ids, as: 'machineIds'
|
|
collection :nfs_exports, as: 'nfsExports', class: Google::Apis::BaremetalsolutionV1alpha1::NfsExport, decorator: Google::Apis::BaremetalsolutionV1alpha1::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
|
|
end
|
|
end
|
|
end
|