-
Notifications
You must be signed in to change notification settings - Fork 0
/
rbd_volume_source.cr
65 lines (54 loc) · 4.24 KB
/
rbd_volume_source.cr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# THIS FILE WAS AUTO GENERATED FROM THE K8S SWAGGER SPEC
require "yaml"
require "json"
module K8S
# Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volumes support ownership management and SELinux relabeling.
@[::K8S::Properties(
fs_type: {type: String, nilable: true, key: "fsType", getter: false, setter: false},
image: {type: String, nilable: false, key: "image", getter: false, setter: false},
keyring: {type: String, nilable: true, key: "keyring", getter: false, setter: false},
monitors: {type: Array(String), nilable: false, key: "monitors", getter: false, setter: false},
pool: {type: String, nilable: true, key: "pool", getter: false, setter: false},
read_only: {type: Bool, nilable: true, key: "readOnly", getter: false, setter: false},
secret_ref: {type: Api::Core::V1::LocalObjectReference, nilable: true, key: "secretRef", getter: false, setter: false},
user: {type: String, nilable: true, key: "user", getter: false, setter: false},
)]
class Api::Core::V1::RBDVolumeSource
include ::JSON::Serializable
include ::YAML::Serializable
# Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: [https://kubernetes.io/docs/concepts/storage/volumes#rbd](https://kubernetes.io/docs/concepts/storage/volumes#rbd)
@[::JSON::Field(key: "fsType", emit_null: false)]
@[::YAML::Field(key: "fsType", emit_null: false)]
property fs_type : String | Nil
# The rados image name. More info: [https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it](https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it)
@[::JSON::Field(key: "image", emit_null: true)]
@[::YAML::Field(key: "image", emit_null: true)]
property image : String
# Keyring is the path to key ring for RBDUser. Default is [/etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it](/etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it)
@[::JSON::Field(key: "keyring", emit_null: false)]
@[::YAML::Field(key: "keyring", emit_null: false)]
property keyring : String | Nil
# A collection of Ceph monitors. More info: [https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it](https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it)
@[::JSON::Field(key: "monitors", emit_null: true)]
@[::YAML::Field(key: "monitors", emit_null: true)]
property monitors : Array(String)
# The rados pool name. Default is rbd. More info: [https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it](https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it)
@[::JSON::Field(key: "pool", emit_null: false)]
@[::YAML::Field(key: "pool", emit_null: false)]
property pool : String | Nil
# ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: [https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it](https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it)
@[::JSON::Field(key: "readOnly", emit_null: false)]
@[::YAML::Field(key: "readOnly", emit_null: false)]
property read_only : Bool | Nil
# SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: [https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it](https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it)
@[::JSON::Field(key: "secretRef", emit_null: false)]
@[::YAML::Field(key: "secretRef", emit_null: false)]
property secret_ref : Api::Core::V1::LocalObjectReference | Nil
# The rados user name. Default is admin. More info: [https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it](https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it)
@[::JSON::Field(key: "user", emit_null: false)]
@[::YAML::Field(key: "user", emit_null: false)]
property user : String | Nil
def initialize(*, @image : String, @monitors : Array, @fs_type : String | Nil = nil, @keyring : String | Nil = nil, @pool : String | Nil = nil, @read_only : Bool | Nil = nil, @secret_ref : Api::Core::V1::LocalObjectReference | Nil = nil, @user : String | Nil = nil)
end
end
end