Class: Fog::Kubevirt::Compute::Networkattachmentdefs

Inherits:
Collection
  • Object
show all
Defined in:
lib/fog/kubevirt/compute/models/networkattachmentdefs.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#kindObject (readonly)

Returns the value of attribute kind.



8
9
10
# File 'lib/fog/kubevirt/compute/models/networkattachmentdefs.rb', line 8

def kind
  @kind
end

#resource_versionObject (readonly)

Returns the value of attribute resource_version.



8
9
10
# File 'lib/fog/kubevirt/compute/models/networkattachmentdefs.rb', line 8

def resource_version
  @resource_version
end

Instance Method Details

#all(filters = {}) ⇒ Object



12
13
14
15
16
17
# File 'lib/fog/kubevirt/compute/models/networkattachmentdefs.rb', line 12

def all(filters = {})
  networkattachmentdefs = service.list_networkattachmentdefs(filters)
  @kind = networkattachmentdefs.kind
  @resource_version = networkattachmentdefs.resource_version
  load networkattachmentdefs
end

#create(args = {}) ⇒ Object

Creates network attachment definition using provided parameters: name - name of the network attachment config - the configuration of the attachment, i.e.:

'{ :cniVersion => "0.3.1", :type => "ovs", :bridge => "red" }'

Parameters:

  • args (Hash) (defaults to: {})

    contains attachment definition



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/fog/kubevirt/compute/models/networkattachmentdefs.rb', line 29

def create(args = {})
  name = args[:name]
  config = args[:config]

  net_att_def = {
    :metadata => {
      :name      => name,
      :namespace => service.namespace
    },
    :spec => {
      :config => config
    }
  }

  service.create_networkattachmentdef(net_att_def)
end

#delete(name) ⇒ Object



46
47
48
49
50
51
52
53
54
55
# File 'lib/fog/kubevirt/compute/models/networkattachmentdefs.rb', line 46

def delete(name)
  begin
    net_att_def = get(name)
  rescue ::Fog::Kubevirt::Errors::ClientError
    # the network attachment definition doesn't exist
    net_att_def = nil
  end

  service.delete_networkattachmentdef(name, service.namespace) unless net_att_def.nil?
end

#get(name) ⇒ Object



19
20
21
# File 'lib/fog/kubevirt/compute/models/networkattachmentdefs.rb', line 19

def get(name)
  new service.get_networkattachmentdef(name)
end