kube-dsl 0.7.4 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/Gemfile +3 -3
- data/Rakefile +16 -8
- data/lib/kube-dsl/dsl/apiextensions/v1/json_schema_props.rb +3 -0
- data/lib/kube-dsl/dsl/{storage/v1alpha1/volume_error.rb → apiextensions/v1/validation_rule.rb} +7 -7
- data/lib/kube-dsl/dsl/apiextensions/v1.rb +1 -0
- data/lib/kube-dsl/dsl/apps/v1/stateful_set_persistent_volume_claim_retention_policy.rb +28 -0
- data/lib/kube-dsl/dsl/apps/v1/stateful_set_spec.rb +3 -0
- data/lib/kube-dsl/dsl/apps/v1.rb +1 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/container_resource_metric_source.rb +31 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/container_resource_metric_status.rb +31 -0
- data/lib/kube-dsl/dsl/{rbac/v1alpha1/subject.rb → autoscaling/v2/cross_version_object_reference.rb} +4 -7
- data/lib/kube-dsl/dsl/autoscaling/v2/external_metric_source.rb +28 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/external_metric_status.rb +28 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler.rb +33 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_behavior.rb +28 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_condition.rb +37 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_list.rb +30 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_spec.rb +37 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_status.rb +40 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/hpa_scaling_policy.rb +31 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/hpa_scaling_rules.rb +31 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/metric_identifier.rb +28 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/metric_spec.rb +40 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/metric_status.rb +40 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/metric_target.rb +34 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/metric_value_status.rb +31 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/object_metric_source.rb +31 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/object_metric_status.rb +31 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/pods_metric_source.rb +28 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/pods_metric_status.rb +28 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/resource_metric_source.rb +28 -0
- data/lib/kube-dsl/dsl/autoscaling/v2/resource_metric_status.rb +28 -0
- data/lib/kube-dsl/dsl/autoscaling/v2.rb +26 -0
- data/lib/kube-dsl/dsl/autoscaling.rb +1 -0
- data/lib/kube-dsl/dsl/batch/v1/job_status.rb +3 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/flow_distinguisher_method.rb +25 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/flow_schema.rb +33 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/flow_schema_condition.rb +37 -0
- data/lib/kube-dsl/dsl/{rbac/v1alpha1/cluster_role_list.rb → flowcontrol/v1beta2/flow_schema_list.rb} +8 -8
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/flow_schema_spec.rb +34 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/flow_schema_status.rb +25 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/group_subject.rb +25 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/limit_response.rb +28 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/limited_priority_level_configuration.rb +28 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/non_resource_policy_rule.rb +28 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/policy_rules_with_subjects.rb +31 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration.rb +33 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_condition.rb +37 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_list.rb +30 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_reference.rb +25 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_spec.rb +28 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_status.rb +25 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/queuing_configuration.rb +31 -0
- data/lib/kube-dsl/dsl/{rbac/v1alpha1/policy_rule.rb → flowcontrol/v1beta2/resource_policy_rule.rb} +10 -10
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/service_account_subject.rb +28 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/subject.rb +34 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2/user_subject.rb +25 -0
- data/lib/kube-dsl/dsl/flowcontrol/v1beta2.rb +24 -0
- data/lib/kube-dsl/dsl/flowcontrol.rb +1 -0
- data/lib/kube-dsl/dsl/rbac.rb +0 -1
- data/lib/kube-dsl/dsl/scheduling.rb +0 -1
- data/lib/kube-dsl/dsl/storage/v1alpha1.rb +0 -6
- data/lib/kube-dsl/dsl/v1/grpc_action.rb +26 -0
- data/lib/kube-dsl/dsl/v1/lifecycle.rb +4 -4
- data/lib/kube-dsl/dsl/v1/{handler.rb → lifecycle_handler.rb} +2 -2
- data/lib/kube-dsl/dsl/v1/persistent_volume_claim_status.rb +6 -0
- data/lib/kube-dsl/dsl/v1/pod_os.rb +23 -0
- data/lib/kube-dsl/dsl/v1/pod_spec.rb +3 -0
- data/lib/kube-dsl/dsl/v1/probe.rb +3 -0
- data/lib/kube-dsl/dsl/v1.rb +3 -1
- data/lib/kube-dsl/entrypoint.rb +121 -9
- data/lib/kube-dsl/key_value_fields.rb +1 -1
- data/lib/kube-dsl/resource.rb +1 -1
- data/lib/kube-dsl/validations.rb +2 -2
- data/lib/kube-dsl/version.rb +1 -1
- data/lib/kube-dsl.rb +1 -1
- data/rbi/kube-dsl.rbi +2345 -1523
- metadata +59 -29
- data/lib/kube-dsl/dsl/rbac/v1alpha1/aggregation_rule.rb +0 -25
- data/lib/kube-dsl/dsl/rbac/v1alpha1/cluster_role.rb +0 -33
- data/lib/kube-dsl/dsl/rbac/v1alpha1/cluster_role_binding.rb +0 -33
- data/lib/kube-dsl/dsl/rbac/v1alpha1/cluster_role_binding_list.rb +0 -30
- data/lib/kube-dsl/dsl/rbac/v1alpha1/role.rb +0 -30
- data/lib/kube-dsl/dsl/rbac/v1alpha1/role_binding.rb +0 -33
- data/lib/kube-dsl/dsl/rbac/v1alpha1/role_binding_list.rb +0 -30
- data/lib/kube-dsl/dsl/rbac/v1alpha1/role_list.rb +0 -30
- data/lib/kube-dsl/dsl/rbac/v1alpha1/role_ref.rb +0 -31
- data/lib/kube-dsl/dsl/rbac/v1alpha1.rb +0 -14
- data/lib/kube-dsl/dsl/scheduling/v1alpha1/priority_class.rb +0 -39
- data/lib/kube-dsl/dsl/scheduling/v1alpha1/priority_class_list.rb +0 -30
- data/lib/kube-dsl/dsl/scheduling/v1alpha1.rb +0 -4
- data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment.rb +0 -33
- data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment_list.rb +0 -30
- data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment_source.rb +0 -28
- data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment_spec.rb +0 -31
- data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment_status.rb +0 -34
@@ -0,0 +1,28 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module Flowcontrol
|
6
|
+
module V1beta2
|
7
|
+
class NonResourcePolicyRule < ::KubeDSL::DSLObject
|
8
|
+
value_field :non_resource_ur_ls
|
9
|
+
value_field :verbs
|
10
|
+
|
11
|
+
validates :non_resource_ur_ls, field: { format: :string }, presence: false
|
12
|
+
validates :verbs, field: { format: :string }, presence: false
|
13
|
+
|
14
|
+
def serialize
|
15
|
+
{}.tap do |result|
|
16
|
+
result[:nonResourceURLs] = non_resource_ur_ls
|
17
|
+
result[:verbs] = verbs
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def kind_sym
|
22
|
+
:non_resource_policy_rule
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module Flowcontrol
|
6
|
+
module V1beta2
|
7
|
+
class PolicyRulesWithSubjects < ::KubeDSL::DSLObject
|
8
|
+
array_field(:non_resource_rule) { KubeDSL::DSL::Flowcontrol::V1beta2::NonResourcePolicyRule.new }
|
9
|
+
array_field(:resource_rule) { KubeDSL::DSL::Flowcontrol::V1beta2::ResourcePolicyRule.new }
|
10
|
+
array_field(:subject) { KubeDSL::DSL::Flowcontrol::V1beta2::Subject.new }
|
11
|
+
|
12
|
+
validates :non_resource_rules, array: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::NonResourcePolicyRule }, presence: false
|
13
|
+
validates :resource_rules, array: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::ResourcePolicyRule }, presence: false
|
14
|
+
validates :subjects, array: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::Subject }, presence: false
|
15
|
+
|
16
|
+
def serialize
|
17
|
+
{}.tap do |result|
|
18
|
+
result[:nonResourceRules] = non_resource_rules.map(&:serialize)
|
19
|
+
result[:resourceRules] = resource_rules.map(&:serialize)
|
20
|
+
result[:subjects] = subjects.map(&:serialize)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def kind_sym
|
25
|
+
:policy_rules_with_subjects
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module Flowcontrol
|
6
|
+
module V1beta2
|
7
|
+
class PriorityLevelConfiguration < ::KubeDSL::DSLObject
|
8
|
+
object_field(:metadata) { KubeDSL::DSL::Meta::V1::ObjectMeta.new }
|
9
|
+
object_field(:spec) { KubeDSL::DSL::Flowcontrol::V1beta2::PriorityLevelConfigurationSpec.new }
|
10
|
+
object_field(:status) { KubeDSL::DSL::Flowcontrol::V1beta2::PriorityLevelConfigurationStatus.new }
|
11
|
+
|
12
|
+
validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ObjectMeta }
|
13
|
+
validates :spec, object: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::PriorityLevelConfigurationSpec }
|
14
|
+
validates :status, object: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::PriorityLevelConfigurationStatus }
|
15
|
+
|
16
|
+
def serialize
|
17
|
+
{}.tap do |result|
|
18
|
+
result[:apiVersion] = "flowcontrol.apiserver.k8s.io/v1beta2"
|
19
|
+
result[:kind] = "PriorityLevelConfiguration"
|
20
|
+
result[:metadata] = metadata.serialize
|
21
|
+
result[:spec] = spec.serialize
|
22
|
+
result[:status] = status.serialize
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def kind_sym
|
27
|
+
:priority_level_configuration
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module Flowcontrol
|
6
|
+
module V1beta2
|
7
|
+
class PriorityLevelConfigurationCondition < ::KubeDSL::DSLObject
|
8
|
+
value_field :last_transition_time
|
9
|
+
value_field :message
|
10
|
+
value_field :reason
|
11
|
+
value_field :status
|
12
|
+
value_field :type
|
13
|
+
|
14
|
+
validates :last_transition_time, field: { format: :string }, presence: false
|
15
|
+
validates :message, field: { format: :string }, presence: false
|
16
|
+
validates :reason, field: { format: :string }, presence: false
|
17
|
+
validates :status, field: { format: :string }, presence: false
|
18
|
+
validates :type, field: { format: :string }, presence: false
|
19
|
+
|
20
|
+
def serialize
|
21
|
+
{}.tap do |result|
|
22
|
+
result[:lastTransitionTime] = last_transition_time
|
23
|
+
result[:message] = message
|
24
|
+
result[:reason] = reason
|
25
|
+
result[:status] = status
|
26
|
+
result[:type] = type
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def kind_sym
|
31
|
+
:priority_level_configuration_condition
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module Flowcontrol
|
6
|
+
module V1beta2
|
7
|
+
class PriorityLevelConfigurationList < ::KubeDSL::DSLObject
|
8
|
+
array_field(:item) { KubeDSL::DSL::Flowcontrol::V1beta2::PriorityLevelConfiguration.new }
|
9
|
+
object_field(:metadata) { KubeDSL::DSL::Meta::V1::ListMeta.new }
|
10
|
+
|
11
|
+
validates :items, array: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::PriorityLevelConfiguration }, presence: false
|
12
|
+
validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ListMeta }
|
13
|
+
|
14
|
+
def serialize
|
15
|
+
{}.tap do |result|
|
16
|
+
result[:apiVersion] = "flowcontrol.apiserver.k8s.io/v1beta2"
|
17
|
+
result[:items] = items.map(&:serialize)
|
18
|
+
result[:kind] = "PriorityLevelConfigurationList"
|
19
|
+
result[:metadata] = metadata.serialize
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def kind_sym
|
24
|
+
:priority_level_configuration_list
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module Flowcontrol
|
6
|
+
module V1beta2
|
7
|
+
class PriorityLevelConfigurationReference < ::KubeDSL::DSLObject
|
8
|
+
value_field :name
|
9
|
+
|
10
|
+
validates :name, field: { format: :string }, presence: false
|
11
|
+
|
12
|
+
def serialize
|
13
|
+
{}.tap do |result|
|
14
|
+
result[:name] = name
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def kind_sym
|
19
|
+
:priority_level_configuration_reference
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module Flowcontrol
|
6
|
+
module V1beta2
|
7
|
+
class PriorityLevelConfigurationSpec < ::KubeDSL::DSLObject
|
8
|
+
object_field(:limited) { KubeDSL::DSL::Flowcontrol::V1beta2::LimitedPriorityLevelConfiguration.new }
|
9
|
+
value_field :type
|
10
|
+
|
11
|
+
validates :limited, object: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::LimitedPriorityLevelConfiguration }
|
12
|
+
validates :type, field: { format: :string }, presence: false
|
13
|
+
|
14
|
+
def serialize
|
15
|
+
{}.tap do |result|
|
16
|
+
result[:limited] = limited.serialize
|
17
|
+
result[:type] = type
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def kind_sym
|
22
|
+
:priority_level_configuration_spec
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module Flowcontrol
|
6
|
+
module V1beta2
|
7
|
+
class PriorityLevelConfigurationStatus < ::KubeDSL::DSLObject
|
8
|
+
array_field(:condition) { KubeDSL::DSL::Flowcontrol::V1beta2::PriorityLevelConfigurationCondition.new }
|
9
|
+
|
10
|
+
validates :conditions, array: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::PriorityLevelConfigurationCondition }, presence: false
|
11
|
+
|
12
|
+
def serialize
|
13
|
+
{}.tap do |result|
|
14
|
+
result[:conditions] = conditions.map(&:serialize)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def kind_sym
|
19
|
+
:priority_level_configuration_status
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module Flowcontrol
|
6
|
+
module V1beta2
|
7
|
+
class QueuingConfiguration < ::KubeDSL::DSLObject
|
8
|
+
value_field :hand_size
|
9
|
+
value_field :queue_length_limit
|
10
|
+
value_field :queues
|
11
|
+
|
12
|
+
validates :hand_size, field: { format: :integer }, presence: false
|
13
|
+
validates :queue_length_limit, field: { format: :integer }, presence: false
|
14
|
+
validates :queues, field: { format: :integer }, presence: false
|
15
|
+
|
16
|
+
def serialize
|
17
|
+
{}.tap do |result|
|
18
|
+
result[:handSize] = hand_size
|
19
|
+
result[:queueLengthLimit] = queue_length_limit
|
20
|
+
result[:queues] = queues
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def kind_sym
|
25
|
+
:queuing_configuration
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/lib/kube-dsl/dsl/{rbac/v1alpha1/policy_rule.rb → flowcontrol/v1beta2/resource_policy_rule.rb}
RENAMED
@@ -2,33 +2,33 @@
|
|
2
2
|
|
3
3
|
module KubeDSL
|
4
4
|
module DSL
|
5
|
-
module
|
6
|
-
module
|
7
|
-
class
|
5
|
+
module Flowcontrol
|
6
|
+
module V1beta2
|
7
|
+
class ResourcePolicyRule < ::KubeDSL::DSLObject
|
8
8
|
value_field :api_groups
|
9
|
-
value_field :
|
10
|
-
value_field :
|
9
|
+
value_field :cluster_scope
|
10
|
+
value_field :namespaces
|
11
11
|
value_field :resources
|
12
12
|
value_field :verbs
|
13
13
|
|
14
14
|
validates :api_groups, field: { format: :string }, presence: false
|
15
|
-
validates :
|
16
|
-
validates :
|
15
|
+
validates :cluster_scope, field: { format: :boolean }, presence: false
|
16
|
+
validates :namespaces, field: { format: :string }, presence: false
|
17
17
|
validates :resources, field: { format: :string }, presence: false
|
18
18
|
validates :verbs, field: { format: :string }, presence: false
|
19
19
|
|
20
20
|
def serialize
|
21
21
|
{}.tap do |result|
|
22
22
|
result[:apiGroups] = api_groups
|
23
|
-
result[:
|
24
|
-
result[:
|
23
|
+
result[:clusterScope] = cluster_scope
|
24
|
+
result[:namespaces] = namespaces
|
25
25
|
result[:resources] = resources
|
26
26
|
result[:verbs] = verbs
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
30
|
def kind_sym
|
31
|
-
:
|
31
|
+
:resource_policy_rule
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module Flowcontrol
|
6
|
+
module V1beta2
|
7
|
+
class ServiceAccountSubject < ::KubeDSL::DSLObject
|
8
|
+
value_field :name
|
9
|
+
value_field :namespace
|
10
|
+
|
11
|
+
validates :name, field: { format: :string }, presence: false
|
12
|
+
validates :namespace, field: { format: :string }, presence: false
|
13
|
+
|
14
|
+
def serialize
|
15
|
+
{}.tap do |result|
|
16
|
+
result[:name] = name
|
17
|
+
result[:namespace] = namespace
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def kind_sym
|
22
|
+
:service_account_subject
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module Flowcontrol
|
6
|
+
module V1beta2
|
7
|
+
class Subject < ::KubeDSL::DSLObject
|
8
|
+
object_field(:group) { KubeDSL::DSL::Flowcontrol::V1beta2::GroupSubject.new }
|
9
|
+
value_field :kind
|
10
|
+
object_field(:service_account) { KubeDSL::DSL::Flowcontrol::V1beta2::ServiceAccountSubject.new }
|
11
|
+
object_field(:user) { KubeDSL::DSL::Flowcontrol::V1beta2::UserSubject.new }
|
12
|
+
|
13
|
+
validates :group, object: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::GroupSubject }
|
14
|
+
validates :kind, field: { format: :string }, presence: false
|
15
|
+
validates :service_account, object: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::ServiceAccountSubject }
|
16
|
+
validates :user, object: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::UserSubject }
|
17
|
+
|
18
|
+
def serialize
|
19
|
+
{}.tap do |result|
|
20
|
+
result[:group] = group.serialize
|
21
|
+
result[:kind] = kind
|
22
|
+
result[:serviceAccount] = service_account.serialize
|
23
|
+
result[:user] = user.serialize
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def kind_sym
|
28
|
+
:subject
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module Flowcontrol
|
6
|
+
module V1beta2
|
7
|
+
class UserSubject < ::KubeDSL::DSLObject
|
8
|
+
value_field :name
|
9
|
+
|
10
|
+
validates :name, field: { format: :string }, presence: false
|
11
|
+
|
12
|
+
def serialize
|
13
|
+
{}.tap do |result|
|
14
|
+
result[:name] = name
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def kind_sym
|
19
|
+
:user_subject
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module KubeDSL::DSL::Flowcontrol::V1beta2
|
2
|
+
autoload :FlowDistinguisherMethod, 'kube-dsl/dsl/flowcontrol/v1beta2/flow_distinguisher_method'
|
3
|
+
autoload :FlowSchema, 'kube-dsl/dsl/flowcontrol/v1beta2/flow_schema'
|
4
|
+
autoload :FlowSchemaCondition, 'kube-dsl/dsl/flowcontrol/v1beta2/flow_schema_condition'
|
5
|
+
autoload :FlowSchemaList, 'kube-dsl/dsl/flowcontrol/v1beta2/flow_schema_list'
|
6
|
+
autoload :FlowSchemaSpec, 'kube-dsl/dsl/flowcontrol/v1beta2/flow_schema_spec'
|
7
|
+
autoload :FlowSchemaStatus, 'kube-dsl/dsl/flowcontrol/v1beta2/flow_schema_status'
|
8
|
+
autoload :GroupSubject, 'kube-dsl/dsl/flowcontrol/v1beta2/group_subject'
|
9
|
+
autoload :LimitResponse, 'kube-dsl/dsl/flowcontrol/v1beta2/limit_response'
|
10
|
+
autoload :LimitedPriorityLevelConfiguration, 'kube-dsl/dsl/flowcontrol/v1beta2/limited_priority_level_configuration'
|
11
|
+
autoload :NonResourcePolicyRule, 'kube-dsl/dsl/flowcontrol/v1beta2/non_resource_policy_rule'
|
12
|
+
autoload :PolicyRulesWithSubjects, 'kube-dsl/dsl/flowcontrol/v1beta2/policy_rules_with_subjects'
|
13
|
+
autoload :PriorityLevelConfiguration, 'kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration'
|
14
|
+
autoload :PriorityLevelConfigurationCondition, 'kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_condition'
|
15
|
+
autoload :PriorityLevelConfigurationList, 'kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_list'
|
16
|
+
autoload :PriorityLevelConfigurationReference, 'kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_reference'
|
17
|
+
autoload :PriorityLevelConfigurationSpec, 'kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_spec'
|
18
|
+
autoload :PriorityLevelConfigurationStatus, 'kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_status'
|
19
|
+
autoload :QueuingConfiguration, 'kube-dsl/dsl/flowcontrol/v1beta2/queuing_configuration'
|
20
|
+
autoload :ResourcePolicyRule, 'kube-dsl/dsl/flowcontrol/v1beta2/resource_policy_rule'
|
21
|
+
autoload :ServiceAccountSubject, 'kube-dsl/dsl/flowcontrol/v1beta2/service_account_subject'
|
22
|
+
autoload :Subject, 'kube-dsl/dsl/flowcontrol/v1beta2/subject'
|
23
|
+
autoload :UserSubject, 'kube-dsl/dsl/flowcontrol/v1beta2/user_subject'
|
24
|
+
end
|
data/lib/kube-dsl/dsl/rbac.rb
CHANGED
@@ -1,10 +1,4 @@
|
|
1
1
|
module KubeDSL::DSL::Storage::V1alpha1
|
2
2
|
autoload :CSIStorageCapacity, 'kube-dsl/dsl/storage/v1alpha1/csi_storage_capacity'
|
3
3
|
autoload :CSIStorageCapacityList, 'kube-dsl/dsl/storage/v1alpha1/csi_storage_capacity_list'
|
4
|
-
autoload :VolumeAttachment, 'kube-dsl/dsl/storage/v1alpha1/volume_attachment'
|
5
|
-
autoload :VolumeAttachmentList, 'kube-dsl/dsl/storage/v1alpha1/volume_attachment_list'
|
6
|
-
autoload :VolumeAttachmentSource, 'kube-dsl/dsl/storage/v1alpha1/volume_attachment_source'
|
7
|
-
autoload :VolumeAttachmentSpec, 'kube-dsl/dsl/storage/v1alpha1/volume_attachment_spec'
|
8
|
-
autoload :VolumeAttachmentStatus, 'kube-dsl/dsl/storage/v1alpha1/volume_attachment_status'
|
9
|
-
autoload :VolumeError, 'kube-dsl/dsl/storage/v1alpha1/volume_error'
|
10
4
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module V1
|
6
|
+
class GRPCAction < ::KubeDSL::DSLObject
|
7
|
+
value_field :port
|
8
|
+
value_field :service
|
9
|
+
|
10
|
+
validates :port, field: { format: :integer }, presence: false
|
11
|
+
validates :service, field: { format: :string }, presence: false
|
12
|
+
|
13
|
+
def serialize
|
14
|
+
{}.tap do |result|
|
15
|
+
result[:port] = port
|
16
|
+
result[:service] = service
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def kind_sym
|
21
|
+
:grpc_action
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -4,11 +4,11 @@ module KubeDSL
|
|
4
4
|
module DSL
|
5
5
|
module V1
|
6
6
|
class Lifecycle < ::KubeDSL::DSLObject
|
7
|
-
object_field(:post_start) { KubeDSL::DSL::V1::
|
8
|
-
object_field(:pre_stop) { KubeDSL::DSL::V1::
|
7
|
+
object_field(:post_start) { KubeDSL::DSL::V1::LifecycleHandler.new }
|
8
|
+
object_field(:pre_stop) { KubeDSL::DSL::V1::LifecycleHandler.new }
|
9
9
|
|
10
|
-
validates :post_start, object: { kind_of: KubeDSL::DSL::V1::
|
11
|
-
validates :pre_stop, object: { kind_of: KubeDSL::DSL::V1::
|
10
|
+
validates :post_start, object: { kind_of: KubeDSL::DSL::V1::LifecycleHandler }
|
11
|
+
validates :pre_stop, object: { kind_of: KubeDSL::DSL::V1::LifecycleHandler }
|
12
12
|
|
13
13
|
def serialize
|
14
14
|
{}.tap do |result|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module KubeDSL
|
4
4
|
module DSL
|
5
5
|
module V1
|
6
|
-
class
|
6
|
+
class LifecycleHandler < ::KubeDSL::DSLObject
|
7
7
|
object_field(:exec) { KubeDSL::DSL::V1::ExecAction.new }
|
8
8
|
object_field(:http_get) { KubeDSL::DSL::V1::HTTPGetAction.new }
|
9
9
|
object_field(:tcp_socket) { KubeDSL::DSL::V1::TCPSocketAction.new }
|
@@ -21,7 +21,7 @@ module KubeDSL
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def kind_sym
|
24
|
-
:
|
24
|
+
:lifecycle_handler
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
@@ -5,21 +5,27 @@ module KubeDSL
|
|
5
5
|
module V1
|
6
6
|
class PersistentVolumeClaimStatus < ::KubeDSL::DSLObject
|
7
7
|
value_field :access_modes
|
8
|
+
key_value_field(:allocated_resources, format: :string)
|
8
9
|
key_value_field(:capacity, format: :string)
|
9
10
|
array_field(:condition) { KubeDSL::DSL::V1::PersistentVolumeClaimCondition.new }
|
10
11
|
value_field :phase
|
12
|
+
value_field :resize_status
|
11
13
|
|
12
14
|
validates :access_modes, field: { format: :string }, presence: false
|
15
|
+
validates :allocated_resources, kv: { value_format: :string }, presence: false
|
13
16
|
validates :capacity, kv: { value_format: :string }, presence: false
|
14
17
|
validates :conditions, array: { kind_of: KubeDSL::DSL::V1::PersistentVolumeClaimCondition }, presence: false
|
15
18
|
validates :phase, field: { format: :string }, presence: false
|
19
|
+
validates :resize_status, field: { format: :string }, presence: false
|
16
20
|
|
17
21
|
def serialize
|
18
22
|
{}.tap do |result|
|
19
23
|
result[:accessModes] = access_modes
|
24
|
+
result[:allocatedResources] = allocated_resources.serialize
|
20
25
|
result[:capacity] = capacity.serialize
|
21
26
|
result[:conditions] = conditions.map(&:serialize)
|
22
27
|
result[:phase] = phase
|
28
|
+
result[:resizeStatus] = resize_status
|
23
29
|
end
|
24
30
|
end
|
25
31
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
module KubeDSL
|
4
|
+
module DSL
|
5
|
+
module V1
|
6
|
+
class PodOS < ::KubeDSL::DSLObject
|
7
|
+
value_field :name
|
8
|
+
|
9
|
+
validates :name, field: { format: :string }, presence: false
|
10
|
+
|
11
|
+
def serialize
|
12
|
+
{}.tap do |result|
|
13
|
+
result[:name] = name
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def kind_sym
|
18
|
+
:pod_os
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -21,6 +21,7 @@ module KubeDSL
|
|
21
21
|
array_field(:init_container) { KubeDSL::DSL::V1::Container.new }
|
22
22
|
value_field :node_name
|
23
23
|
key_value_field(:node_selector, format: :string)
|
24
|
+
object_field(:os) { KubeDSL::DSL::V1::PodOS.new }
|
24
25
|
key_value_field(:overhead, format: :string)
|
25
26
|
value_field :preemption_policy
|
26
27
|
value_field :priority
|
@@ -57,6 +58,7 @@ module KubeDSL
|
|
57
58
|
validates :init_containers, array: { kind_of: KubeDSL::DSL::V1::Container }, presence: false
|
58
59
|
validates :node_name, field: { format: :string }, presence: false
|
59
60
|
validates :node_selector, kv: { value_format: :string }, presence: false
|
61
|
+
validates :os, object: { kind_of: KubeDSL::DSL::V1::PodOS }
|
60
62
|
validates :overhead, kv: { value_format: :string }, presence: false
|
61
63
|
validates :preemption_policy, field: { format: :string }, presence: false
|
62
64
|
validates :priority, field: { format: :integer }, presence: false
|
@@ -95,6 +97,7 @@ module KubeDSL
|
|
95
97
|
result[:initContainers] = init_containers.map(&:serialize)
|
96
98
|
result[:nodeName] = node_name
|
97
99
|
result[:nodeSelector] = node_selector.serialize
|
100
|
+
result[:os] = os.serialize
|
98
101
|
result[:overhead] = overhead.serialize
|
99
102
|
result[:preemptionPolicy] = preemption_policy
|
100
103
|
result[:priority] = priority
|
@@ -6,6 +6,7 @@ module KubeDSL
|
|
6
6
|
class Probe < ::KubeDSL::DSLObject
|
7
7
|
object_field(:exec) { KubeDSL::DSL::V1::ExecAction.new }
|
8
8
|
value_field :failure_threshold
|
9
|
+
object_field(:grpc) { KubeDSL::DSL::V1::GRPCAction.new }
|
9
10
|
object_field(:http_get) { KubeDSL::DSL::V1::HTTPGetAction.new }
|
10
11
|
value_field :initial_delay_seconds
|
11
12
|
value_field :period_seconds
|
@@ -16,6 +17,7 @@ module KubeDSL
|
|
16
17
|
|
17
18
|
validates :exec, object: { kind_of: KubeDSL::DSL::V1::ExecAction }
|
18
19
|
validates :failure_threshold, field: { format: :integer }, presence: false
|
20
|
+
validates :grpc, object: { kind_of: KubeDSL::DSL::V1::GRPCAction }
|
19
21
|
validates :http_get, object: { kind_of: KubeDSL::DSL::V1::HTTPGetAction }
|
20
22
|
validates :initial_delay_seconds, field: { format: :integer }, presence: false
|
21
23
|
validates :period_seconds, field: { format: :integer }, presence: false
|
@@ -28,6 +30,7 @@ module KubeDSL
|
|
28
30
|
{}.tap do |result|
|
29
31
|
result[:exec] = exec.serialize
|
30
32
|
result[:failureThreshold] = failure_threshold
|
33
|
+
result[:grpc] = grpc.serialize
|
31
34
|
result[:httpGet] = http_get.serialize
|
32
35
|
result[:initialDelaySeconds] = initial_delay_seconds
|
33
36
|
result[:periodSeconds] = period_seconds
|
data/lib/kube-dsl/dsl/v1.rb
CHANGED
@@ -57,18 +57,19 @@ module KubeDSL::DSL::V1
|
|
57
57
|
autoload :FlexVolumeSource, 'kube-dsl/dsl/v1/flex_volume_source'
|
58
58
|
autoload :FlockerVolumeSource, 'kube-dsl/dsl/v1/flocker_volume_source'
|
59
59
|
autoload :GCEPersistentDiskVolumeSource, 'kube-dsl/dsl/v1/gce_persistent_disk_volume_source'
|
60
|
+
autoload :GRPCAction, 'kube-dsl/dsl/v1/grpc_action'
|
60
61
|
autoload :GitRepoVolumeSource, 'kube-dsl/dsl/v1/git_repo_volume_source'
|
61
62
|
autoload :GlusterfsPersistentVolumeSource, 'kube-dsl/dsl/v1/glusterfs_persistent_volume_source'
|
62
63
|
autoload :GlusterfsVolumeSource, 'kube-dsl/dsl/v1/glusterfs_volume_source'
|
63
64
|
autoload :HTTPGetAction, 'kube-dsl/dsl/v1/http_get_action'
|
64
65
|
autoload :HTTPHeader, 'kube-dsl/dsl/v1/http_header'
|
65
|
-
autoload :Handler, 'kube-dsl/dsl/v1/handler'
|
66
66
|
autoload :HostAlias, 'kube-dsl/dsl/v1/host_alias'
|
67
67
|
autoload :HostPathVolumeSource, 'kube-dsl/dsl/v1/host_path_volume_source'
|
68
68
|
autoload :ISCSIPersistentVolumeSource, 'kube-dsl/dsl/v1/iscsi_persistent_volume_source'
|
69
69
|
autoload :ISCSIVolumeSource, 'kube-dsl/dsl/v1/iscsi_volume_source'
|
70
70
|
autoload :KeyToPath, 'kube-dsl/dsl/v1/key_to_path'
|
71
71
|
autoload :Lifecycle, 'kube-dsl/dsl/v1/lifecycle'
|
72
|
+
autoload :LifecycleHandler, 'kube-dsl/dsl/v1/lifecycle_handler'
|
72
73
|
autoload :LimitRange, 'kube-dsl/dsl/v1/limit_range'
|
73
74
|
autoload :LimitRangeItem, 'kube-dsl/dsl/v1/limit_range_item'
|
74
75
|
autoload :LimitRangeList, 'kube-dsl/dsl/v1/limit_range_list'
|
@@ -120,6 +121,7 @@ module KubeDSL::DSL::V1
|
|
120
121
|
autoload :PodDNSConfigOption, 'kube-dsl/dsl/v1/pod_dns_config_option'
|
121
122
|
autoload :PodIP, 'kube-dsl/dsl/v1/pod_ip'
|
122
123
|
autoload :PodList, 'kube-dsl/dsl/v1/pod_list'
|
124
|
+
autoload :PodOS, 'kube-dsl/dsl/v1/pod_os'
|
123
125
|
autoload :PodReadinessGate, 'kube-dsl/dsl/v1/pod_readiness_gate'
|
124
126
|
autoload :PodSecurityContext, 'kube-dsl/dsl/v1/pod_security_context'
|
125
127
|
autoload :PodSpec, 'kube-dsl/dsl/v1/pod_spec'
|