Class: Fog::HuaweiCloud::Collection

Inherits:
Collection
  • Object
show all
Defined in:
lib/fog/huaweicloud/models/collection.rb

Direct Known Subclasses

Baremetal::HuaweiCloud::ChassisCollection, Baremetal::HuaweiCloud::Drivers, Baremetal::HuaweiCloud::Nodes, Baremetal::HuaweiCloud::Ports, Compute::HuaweiCloud::Addresses, Compute::HuaweiCloud::Aggregates, Compute::HuaweiCloud::AvailabilityZones, Compute::HuaweiCloud::Flavors, Compute::HuaweiCloud::Hosts, Compute::HuaweiCloud::Images, Compute::HuaweiCloud::KeyPairs, Compute::HuaweiCloud::Metadata, Compute::HuaweiCloud::Networks, Compute::HuaweiCloud::OsInterfaces, Compute::HuaweiCloud::SecurityGroupRules, Compute::HuaweiCloud::SecurityGroups, Compute::HuaweiCloud::ServerGroups, Compute::HuaweiCloud::Servers, Compute::HuaweiCloud::Services, Compute::HuaweiCloud::Snapshots, Compute::HuaweiCloud::Tenants, Compute::HuaweiCloud::Volumes, ContainerInfra::HuaweiCloud::BayModels, ContainerInfra::HuaweiCloud::Bays, ContainerInfra::HuaweiCloud::Certificates, ContainerInfra::HuaweiCloud::ClusterTemplates, ContainerInfra::HuaweiCloud::Clusters, DNS::HuaweiCloud::V2::Pools, DNS::HuaweiCloud::V2::Recordsets, DNS::HuaweiCloud::V2::ZoneTransferAccepts, DNS::HuaweiCloud::V2::ZoneTransferRequests, DNS::HuaweiCloud::V2::Zones, Event::HuaweiCloud::Events, Planning::Plans, Planning::Roles, Identity::HuaweiCloud::V2::Ec2Credentials, Identity::HuaweiCloud::V2::Roles, Identity::HuaweiCloud::V2::Tenants, Identity::HuaweiCloud::V2::Users, Identity::HuaweiCloud::V3::Domains, Identity::HuaweiCloud::V3::Endpoints, Identity::HuaweiCloud::V3::Groups, Identity::HuaweiCloud::V3::OsCredentials, Identity::HuaweiCloud::V3::Policies, Identity::HuaweiCloud::V3::Projects, Identity::HuaweiCloud::V3::RoleAssignments, Identity::HuaweiCloud::V3::Roles, Identity::HuaweiCloud::V3::Services, Identity::HuaweiCloud::V3::Tokens, Identity::HuaweiCloud::V3::Users, Image::HuaweiCloud::V1::Images, Image::HuaweiCloud::V2::Images, Introspection::HuaweiCloud::RulesCollection, KeyManager::HuaweiCloud::Containers, KeyManager::HuaweiCloud::Secrets, Metering::HuaweiCloud::Events, Metering::HuaweiCloud::Resources, Metric::HuaweiCloud::Metrics, Metric::HuaweiCloud::Resources, Monitoring::HuaweiCloud::AlarmCounts, Monitoring::HuaweiCloud::AlarmDefinitions, Monitoring::HuaweiCloud::AlarmStates, Monitoring::HuaweiCloud::Alarms, Monitoring::HuaweiCloud::DimensionValues, Monitoring::HuaweiCloud::Measurements, Monitoring::HuaweiCloud::Metrics, Monitoring::HuaweiCloud::NotificationMethods, Monitoring::HuaweiCloud::Statistics, NFV::HuaweiCloud::Vnfds, NFV::HuaweiCloud::Vnfs, Network::HuaweiCloud::Extensions, Network::HuaweiCloud::FloatingIps, Network::HuaweiCloud::IkePolicies, Network::HuaweiCloud::IpsecPolicies, Network::HuaweiCloud::IpsecSiteConnections, Network::HuaweiCloud::LbHealthMonitors, Network::HuaweiCloud::LbMembers, Network::HuaweiCloud::LbPools, Network::HuaweiCloud::LbVips, Network::HuaweiCloud::NetworkIpAvailabilities, Network::HuaweiCloud::Networks, Network::HuaweiCloud::Ports, Network::HuaweiCloud::RbacPolicies, Network::HuaweiCloud::Routers, Network::HuaweiCloud::SecurityGroupRules, Network::HuaweiCloud::SecurityGroups, Network::HuaweiCloud::SubnetPools, Network::HuaweiCloud::Subnets, Network::HuaweiCloud::Vpcs, Network::HuaweiCloud::VpnServices, Orchestration::HuaweiCloud::Events, Orchestration::HuaweiCloud::ResourceSchemas, Orchestration::HuaweiCloud::Resources, Orchestration::HuaweiCloud::Stacks, Orchestration::HuaweiCloud::Templates, SharedFileSystem::HuaweiCloud::AvailabilityZones, SharedFileSystem::HuaweiCloud::Networks, SharedFileSystem::HuaweiCloud::ShareAccessRules, SharedFileSystem::HuaweiCloud::ShareExportLocations, SharedFileSystem::HuaweiCloud::Shares, SharedFileSystem::HuaweiCloud::Snapshots, Storage::HuaweiCloud::Directories, Storage::HuaweiCloud::Files, Volume::HuaweiCloud::V1::AvailabilityZones, Volume::HuaweiCloud::V1::Backups, Volume::HuaweiCloud::V1::Snapshots, Volume::HuaweiCloud::V1::Transfers, Volume::HuaweiCloud::V1::VolumeTypes, Volume::HuaweiCloud::V1::Volumes, Volume::HuaweiCloud::V2::AvailabilityZones, Volume::HuaweiCloud::V2::Backups, Volume::HuaweiCloud::V2::Snapshots, Volume::HuaweiCloud::V2::Transfers, Volume::HuaweiCloud::V2::VolumeTypes, Volume::HuaweiCloud::V2::Volumes

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#responseObject

It’s important to store the whole response, it contains e.g. important info about whether there is another page of data.



8
9
10
# File 'lib/fog/huaweicloud/models/collection.rb', line 8

def response
  @response
end

Instance Method Details

#all(options = {}) ⇒ Object

Returns detailed list of records



23
24
25
# File 'lib/fog/huaweicloud/models/collection.rb', line 23

def all(options = {})
  raise Fog::HuaweiCloud::Errors::InterfaceNotImplemented.new('Method :all is not implemented')
end

#destroy(uuid) ⇒ Object

Destroys record given record’s UUID



43
44
45
# File 'lib/fog/huaweicloud/models/collection.rb', line 43

def destroy(uuid)
  raise Fog::HuaweiCloud::Errors::InterfaceNotImplemented.new('Method :destroy is not implemented')
end

#find_by_id(uuid) ⇒ Object



38
39
40
# File 'lib/fog/huaweicloud/models/collection.rb', line 38

def find_by_id(uuid)
  get(uuid)
end

#get(uuid) ⇒ Object

Gets record given record’s UUID



34
35
36
# File 'lib/fog/huaweicloud/models/collection.rb', line 34

def get(uuid)
  raise Fog::HuaweiCloud::Errors::InterfaceNotImplemented.new('Method :get is not implemented')
end

#load_response(response, index = nil) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/fog/huaweicloud/models/collection.rb', line 10

def load_response(response, index = nil)
  # Delete it index if it's there, so we don't store response with data twice, but we store only metadata
  objects = index ? response.body.delete(index) : response.body

  clear && objects.each { |object| self << new(object) }
  self.response = response
  self
end

#summary(options = {}) ⇒ Object

Returns non detailed list of records, usually just subset of attributes, which makes this call more effective. Not all openstack services support non detailed list, so it delegates to :all by default.



29
30
31
# File 'lib/fog/huaweicloud/models/collection.rb', line 29

def summary(options = {})
  all(options)
end