Class: Fog::Kubevirt::Compute::Storageclasses
- Inherits:
-
Collection
- Object
- Collection
- Fog::Kubevirt::Compute::Storageclasses
- Defined in:
- lib/fog/kubevirt/compute/models/storageclasses.rb
Instance Attribute Summary collapse
-
#kind ⇒ Object
readonly
Returns the value of attribute kind.
-
#resource_version ⇒ Object
readonly
Returns the value of attribute resource_version.
Instance Method Summary collapse
- #all(filters = {}) ⇒ Object
-
#create(args = {}) ⇒ Object
Creates a storage class using provided paramters: kubernetes.io/docs/concepts/storage/storage-classes :name [String] - name of a storage class :parameters [Object] - parameters for the provisioner that should create volumes of this storage class :mount_options [Arr] - mount options for the dynamically provisioned PersistentVolumes of this storage class.
- #delete(name) ⇒ Object
- #get(name) ⇒ Object
Instance Attribute Details
#kind ⇒ Object (readonly)
Returns the value of attribute kind.
8 9 10 |
# File 'lib/fog/kubevirt/compute/models/storageclasses.rb', line 8 def kind @kind end |
#resource_version ⇒ Object (readonly)
Returns the value of attribute resource_version.
8 9 10 |
# File 'lib/fog/kubevirt/compute/models/storageclasses.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/storageclasses.rb', line 12 def all(filters = {}) storageclasses = service.list_storageclasses(filters) @kind = storageclasses.kind @resource_version = storageclasses.resource_version load storageclasses end |
#create(args = {}) ⇒ Object
Creates a storage class using provided paramters: kubernetes.io/docs/concepts/storage/storage-classes :name [String] - name of a storage class :parameters [Object] - parameters for the provisioner that should create volumes of this storage class :mount_options [Arr] - mount options for the dynamically provisioned PersistentVolumes of this storage class. :provisioner [String] - the type of the provisioner :volume_binding_mode [String] - indicates how PersistentVolumeClaims should be provisioned and bound :reclaim_policy [String] - the reclaim policy of the created PVs (Defaults to Delete).
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/fog/kubevirt/compute/models/storageclasses.rb', line 31 def create(args = {}) storageclass = { :apiVersion => "storage.k8s.io/v1", :kind => "StorageClass", :metadata => { :name => args[:name], }, :parameters => args[:parameters], :mount_options => args[:mount_options], :provisioner => args[:provisioner], :volume_binding_mode => args[:volume_binding_mode], :reclaim_policy => args[:reclaim_policy] } service.create_storageclass(storageclass) end |
#delete(name) ⇒ Object
48 49 50 51 52 53 54 55 56 57 |
# File 'lib/fog/kubevirt/compute/models/storageclasses.rb', line 48 def delete(name) begin storageclass = get(name) rescue ::Fog::Kubevirt::Errors::ClientError # the storageclass doesn't exist storageclass = nil end service.delete_storageclass(name) unless storageclass.nil? end |
#get(name) ⇒ Object
19 20 21 |
# File 'lib/fog/kubevirt/compute/models/storageclasses.rb', line 19 def get(name) new service.get_storageclass(name) end |