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.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/Gemfile +3 -3
  4. data/Rakefile +16 -8
  5. data/lib/kube-dsl/dsl/apiextensions/v1/json_schema_props.rb +3 -0
  6. data/lib/kube-dsl/dsl/{storage/v1alpha1/volume_error.rb → apiextensions/v1/validation_rule.rb} +7 -7
  7. data/lib/kube-dsl/dsl/apiextensions/v1.rb +1 -0
  8. data/lib/kube-dsl/dsl/apps/v1/stateful_set_persistent_volume_claim_retention_policy.rb +28 -0
  9. data/lib/kube-dsl/dsl/apps/v1/stateful_set_spec.rb +3 -0
  10. data/lib/kube-dsl/dsl/apps/v1.rb +1 -0
  11. data/lib/kube-dsl/dsl/autoscaling/v2/container_resource_metric_source.rb +31 -0
  12. data/lib/kube-dsl/dsl/autoscaling/v2/container_resource_metric_status.rb +31 -0
  13. data/lib/kube-dsl/dsl/{rbac/v1alpha1/subject.rb → autoscaling/v2/cross_version_object_reference.rb} +4 -7
  14. data/lib/kube-dsl/dsl/autoscaling/v2/external_metric_source.rb +28 -0
  15. data/lib/kube-dsl/dsl/autoscaling/v2/external_metric_status.rb +28 -0
  16. data/lib/kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler.rb +33 -0
  17. data/lib/kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_behavior.rb +28 -0
  18. data/lib/kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_condition.rb +37 -0
  19. data/lib/kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_list.rb +30 -0
  20. data/lib/kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_spec.rb +37 -0
  21. data/lib/kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_status.rb +40 -0
  22. data/lib/kube-dsl/dsl/autoscaling/v2/hpa_scaling_policy.rb +31 -0
  23. data/lib/kube-dsl/dsl/autoscaling/v2/hpa_scaling_rules.rb +31 -0
  24. data/lib/kube-dsl/dsl/autoscaling/v2/metric_identifier.rb +28 -0
  25. data/lib/kube-dsl/dsl/autoscaling/v2/metric_spec.rb +40 -0
  26. data/lib/kube-dsl/dsl/autoscaling/v2/metric_status.rb +40 -0
  27. data/lib/kube-dsl/dsl/autoscaling/v2/metric_target.rb +34 -0
  28. data/lib/kube-dsl/dsl/autoscaling/v2/metric_value_status.rb +31 -0
  29. data/lib/kube-dsl/dsl/autoscaling/v2/object_metric_source.rb +31 -0
  30. data/lib/kube-dsl/dsl/autoscaling/v2/object_metric_status.rb +31 -0
  31. data/lib/kube-dsl/dsl/autoscaling/v2/pods_metric_source.rb +28 -0
  32. data/lib/kube-dsl/dsl/autoscaling/v2/pods_metric_status.rb +28 -0
  33. data/lib/kube-dsl/dsl/autoscaling/v2/resource_metric_source.rb +28 -0
  34. data/lib/kube-dsl/dsl/autoscaling/v2/resource_metric_status.rb +28 -0
  35. data/lib/kube-dsl/dsl/autoscaling/v2.rb +26 -0
  36. data/lib/kube-dsl/dsl/autoscaling.rb +1 -0
  37. data/lib/kube-dsl/dsl/batch/v1/job_status.rb +3 -0
  38. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/flow_distinguisher_method.rb +25 -0
  39. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/flow_schema.rb +33 -0
  40. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/flow_schema_condition.rb +37 -0
  41. data/lib/kube-dsl/dsl/{rbac/v1alpha1/cluster_role_list.rb → flowcontrol/v1beta2/flow_schema_list.rb} +8 -8
  42. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/flow_schema_spec.rb +34 -0
  43. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/flow_schema_status.rb +25 -0
  44. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/group_subject.rb +25 -0
  45. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/limit_response.rb +28 -0
  46. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/limited_priority_level_configuration.rb +28 -0
  47. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/non_resource_policy_rule.rb +28 -0
  48. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/policy_rules_with_subjects.rb +31 -0
  49. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration.rb +33 -0
  50. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_condition.rb +37 -0
  51. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_list.rb +30 -0
  52. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_reference.rb +25 -0
  53. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_spec.rb +28 -0
  54. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/priority_level_configuration_status.rb +25 -0
  55. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/queuing_configuration.rb +31 -0
  56. data/lib/kube-dsl/dsl/{rbac/v1alpha1/policy_rule.rb → flowcontrol/v1beta2/resource_policy_rule.rb} +10 -10
  57. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/service_account_subject.rb +28 -0
  58. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/subject.rb +34 -0
  59. data/lib/kube-dsl/dsl/flowcontrol/v1beta2/user_subject.rb +25 -0
  60. data/lib/kube-dsl/dsl/flowcontrol/v1beta2.rb +24 -0
  61. data/lib/kube-dsl/dsl/flowcontrol.rb +1 -0
  62. data/lib/kube-dsl/dsl/rbac.rb +0 -1
  63. data/lib/kube-dsl/dsl/scheduling.rb +0 -1
  64. data/lib/kube-dsl/dsl/storage/v1alpha1.rb +0 -6
  65. data/lib/kube-dsl/dsl/v1/grpc_action.rb +26 -0
  66. data/lib/kube-dsl/dsl/v1/lifecycle.rb +4 -4
  67. data/lib/kube-dsl/dsl/v1/{handler.rb → lifecycle_handler.rb} +2 -2
  68. data/lib/kube-dsl/dsl/v1/persistent_volume_claim_status.rb +6 -0
  69. data/lib/kube-dsl/dsl/v1/pod_os.rb +23 -0
  70. data/lib/kube-dsl/dsl/v1/pod_spec.rb +3 -0
  71. data/lib/kube-dsl/dsl/v1/probe.rb +3 -0
  72. data/lib/kube-dsl/dsl/v1.rb +3 -1
  73. data/lib/kube-dsl/entrypoint.rb +121 -9
  74. data/lib/kube-dsl/key_value_fields.rb +1 -1
  75. data/lib/kube-dsl/resource.rb +1 -1
  76. data/lib/kube-dsl/validations.rb +2 -2
  77. data/lib/kube-dsl/version.rb +1 -1
  78. data/lib/kube-dsl.rb +1 -1
  79. data/rbi/kube-dsl.rbi +2345 -1523
  80. metadata +59 -29
  81. data/lib/kube-dsl/dsl/rbac/v1alpha1/aggregation_rule.rb +0 -25
  82. data/lib/kube-dsl/dsl/rbac/v1alpha1/cluster_role.rb +0 -33
  83. data/lib/kube-dsl/dsl/rbac/v1alpha1/cluster_role_binding.rb +0 -33
  84. data/lib/kube-dsl/dsl/rbac/v1alpha1/cluster_role_binding_list.rb +0 -30
  85. data/lib/kube-dsl/dsl/rbac/v1alpha1/role.rb +0 -30
  86. data/lib/kube-dsl/dsl/rbac/v1alpha1/role_binding.rb +0 -33
  87. data/lib/kube-dsl/dsl/rbac/v1alpha1/role_binding_list.rb +0 -30
  88. data/lib/kube-dsl/dsl/rbac/v1alpha1/role_list.rb +0 -30
  89. data/lib/kube-dsl/dsl/rbac/v1alpha1/role_ref.rb +0 -31
  90. data/lib/kube-dsl/dsl/rbac/v1alpha1.rb +0 -14
  91. data/lib/kube-dsl/dsl/scheduling/v1alpha1/priority_class.rb +0 -39
  92. data/lib/kube-dsl/dsl/scheduling/v1alpha1/priority_class_list.rb +0 -30
  93. data/lib/kube-dsl/dsl/scheduling/v1alpha1.rb +0 -4
  94. data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment.rb +0 -33
  95. data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment_list.rb +0 -30
  96. data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment_source.rb +0 -28
  97. data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment_spec.rb +0 -31
  98. data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment_status.rb +0 -34
@@ -0,0 +1,40 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Autoscaling
6
+ module V2
7
+ class MetricSpec < ::KubeDSL::DSLObject
8
+ object_field(:container_resource) { KubeDSL::DSL::Autoscaling::V2::ContainerResourceMetricSource.new }
9
+ object_field(:external) { KubeDSL::DSL::Autoscaling::V2::ExternalMetricSource.new }
10
+ object_field(:object) { KubeDSL::DSL::Autoscaling::V2::ObjectMetricSource.new }
11
+ object_field(:pods) { KubeDSL::DSL::Autoscaling::V2::PodsMetricSource.new }
12
+ object_field(:resource) { KubeDSL::DSL::Autoscaling::V2::ResourceMetricSource.new }
13
+ value_field :type
14
+
15
+ validates :container_resource, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::ContainerResourceMetricSource }
16
+ validates :external, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::ExternalMetricSource }
17
+ validates :object, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::ObjectMetricSource }
18
+ validates :pods, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::PodsMetricSource }
19
+ validates :resource, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::ResourceMetricSource }
20
+ validates :type, field: { format: :string }, presence: false
21
+
22
+ def serialize
23
+ {}.tap do |result|
24
+ result[:containerResource] = container_resource.serialize
25
+ result[:external] = external.serialize
26
+ result[:object] = object.serialize
27
+ result[:pods] = pods.serialize
28
+ result[:resource] = resource.serialize
29
+ result[:type] = type
30
+ end
31
+ end
32
+
33
+ def kind_sym
34
+ :metric_spec
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,40 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Autoscaling
6
+ module V2
7
+ class MetricStatus < ::KubeDSL::DSLObject
8
+ object_field(:container_resource) { KubeDSL::DSL::Autoscaling::V2::ContainerResourceMetricStatus.new }
9
+ object_field(:external) { KubeDSL::DSL::Autoscaling::V2::ExternalMetricStatus.new }
10
+ object_field(:object) { KubeDSL::DSL::Autoscaling::V2::ObjectMetricStatus.new }
11
+ object_field(:pods) { KubeDSL::DSL::Autoscaling::V2::PodsMetricStatus.new }
12
+ object_field(:resource) { KubeDSL::DSL::Autoscaling::V2::ResourceMetricStatus.new }
13
+ value_field :type
14
+
15
+ validates :container_resource, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::ContainerResourceMetricStatus }
16
+ validates :external, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::ExternalMetricStatus }
17
+ validates :object, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::ObjectMetricStatus }
18
+ validates :pods, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::PodsMetricStatus }
19
+ validates :resource, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::ResourceMetricStatus }
20
+ validates :type, field: { format: :string }, presence: false
21
+
22
+ def serialize
23
+ {}.tap do |result|
24
+ result[:containerResource] = container_resource.serialize
25
+ result[:external] = external.serialize
26
+ result[:object] = object.serialize
27
+ result[:pods] = pods.serialize
28
+ result[:resource] = resource.serialize
29
+ result[:type] = type
30
+ end
31
+ end
32
+
33
+ def kind_sym
34
+ :metric_status
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,34 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Autoscaling
6
+ module V2
7
+ class MetricTarget < ::KubeDSL::DSLObject
8
+ value_field :average_utilization
9
+ value_field :average_value
10
+ value_field :type
11
+ value_field :value
12
+
13
+ validates :average_utilization, field: { format: :integer }, presence: false
14
+ validates :average_value, field: { format: :string }, presence: false
15
+ validates :type, field: { format: :string }, presence: false
16
+ validates :value, field: { format: :string }, presence: false
17
+
18
+ def serialize
19
+ {}.tap do |result|
20
+ result[:averageUtilization] = average_utilization
21
+ result[:averageValue] = average_value
22
+ result[:type] = type
23
+ result[:value] = value
24
+ end
25
+ end
26
+
27
+ def kind_sym
28
+ :metric_target
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,31 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Autoscaling
6
+ module V2
7
+ class MetricValueStatus < ::KubeDSL::DSLObject
8
+ value_field :average_utilization
9
+ value_field :average_value
10
+ value_field :value
11
+
12
+ validates :average_utilization, field: { format: :integer }, presence: false
13
+ validates :average_value, field: { format: :string }, presence: false
14
+ validates :value, field: { format: :string }, presence: false
15
+
16
+ def serialize
17
+ {}.tap do |result|
18
+ result[:averageUtilization] = average_utilization
19
+ result[:averageValue] = average_value
20
+ result[:value] = value
21
+ end
22
+ end
23
+
24
+ def kind_sym
25
+ :metric_value_status
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Autoscaling
6
+ module V2
7
+ class ObjectMetricSource < ::KubeDSL::DSLObject
8
+ object_field(:described_object) { KubeDSL::DSL::Autoscaling::V2::CrossVersionObjectReference.new }
9
+ object_field(:metric) { KubeDSL::DSL::Autoscaling::V2::MetricIdentifier.new }
10
+ object_field(:target) { KubeDSL::DSL::Autoscaling::V2::MetricTarget.new }
11
+
12
+ validates :described_object, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::CrossVersionObjectReference }
13
+ validates :metric, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::MetricIdentifier }
14
+ validates :target, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::MetricTarget }
15
+
16
+ def serialize
17
+ {}.tap do |result|
18
+ result[:describedObject] = described_object.serialize
19
+ result[:metric] = metric.serialize
20
+ result[:target] = target.serialize
21
+ end
22
+ end
23
+
24
+ def kind_sym
25
+ :object_metric_source
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Autoscaling
6
+ module V2
7
+ class ObjectMetricStatus < ::KubeDSL::DSLObject
8
+ object_field(:current) { KubeDSL::DSL::Autoscaling::V2::MetricValueStatus.new }
9
+ object_field(:described_object) { KubeDSL::DSL::Autoscaling::V2::CrossVersionObjectReference.new }
10
+ object_field(:metric) { KubeDSL::DSL::Autoscaling::V2::MetricIdentifier.new }
11
+
12
+ validates :current, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::MetricValueStatus }
13
+ validates :described_object, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::CrossVersionObjectReference }
14
+ validates :metric, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::MetricIdentifier }
15
+
16
+ def serialize
17
+ {}.tap do |result|
18
+ result[:current] = current.serialize
19
+ result[:describedObject] = described_object.serialize
20
+ result[:metric] = metric.serialize
21
+ end
22
+ end
23
+
24
+ def kind_sym
25
+ :object_metric_status
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,28 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Autoscaling
6
+ module V2
7
+ class PodsMetricSource < ::KubeDSL::DSLObject
8
+ object_field(:metric) { KubeDSL::DSL::Autoscaling::V2::MetricIdentifier.new }
9
+ object_field(:target) { KubeDSL::DSL::Autoscaling::V2::MetricTarget.new }
10
+
11
+ validates :metric, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::MetricIdentifier }
12
+ validates :target, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::MetricTarget }
13
+
14
+ def serialize
15
+ {}.tap do |result|
16
+ result[:metric] = metric.serialize
17
+ result[:target] = target.serialize
18
+ end
19
+ end
20
+
21
+ def kind_sym
22
+ :pods_metric_source
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Autoscaling
6
+ module V2
7
+ class PodsMetricStatus < ::KubeDSL::DSLObject
8
+ object_field(:current) { KubeDSL::DSL::Autoscaling::V2::MetricValueStatus.new }
9
+ object_field(:metric) { KubeDSL::DSL::Autoscaling::V2::MetricIdentifier.new }
10
+
11
+ validates :current, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::MetricValueStatus }
12
+ validates :metric, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::MetricIdentifier }
13
+
14
+ def serialize
15
+ {}.tap do |result|
16
+ result[:current] = current.serialize
17
+ result[:metric] = metric.serialize
18
+ end
19
+ end
20
+
21
+ def kind_sym
22
+ :pods_metric_status
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Autoscaling
6
+ module V2
7
+ class ResourceMetricSource < ::KubeDSL::DSLObject
8
+ value_field :name
9
+ object_field(:target) { KubeDSL::DSL::Autoscaling::V2::MetricTarget.new }
10
+
11
+ validates :name, field: { format: :string }, presence: false
12
+ validates :target, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::MetricTarget }
13
+
14
+ def serialize
15
+ {}.tap do |result|
16
+ result[:name] = name
17
+ result[:target] = target.serialize
18
+ end
19
+ end
20
+
21
+ def kind_sym
22
+ :resource_metric_source
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Autoscaling
6
+ module V2
7
+ class ResourceMetricStatus < ::KubeDSL::DSLObject
8
+ object_field(:current) { KubeDSL::DSL::Autoscaling::V2::MetricValueStatus.new }
9
+ value_field :name
10
+
11
+ validates :current, object: { kind_of: KubeDSL::DSL::Autoscaling::V2::MetricValueStatus }
12
+ validates :name, field: { format: :string }, presence: false
13
+
14
+ def serialize
15
+ {}.tap do |result|
16
+ result[:current] = current.serialize
17
+ result[:name] = name
18
+ end
19
+ end
20
+
21
+ def kind_sym
22
+ :resource_metric_status
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,26 @@
1
+ module KubeDSL::DSL::Autoscaling::V2
2
+ autoload :ContainerResourceMetricSource, 'kube-dsl/dsl/autoscaling/v2/container_resource_metric_source'
3
+ autoload :ContainerResourceMetricStatus, 'kube-dsl/dsl/autoscaling/v2/container_resource_metric_status'
4
+ autoload :CrossVersionObjectReference, 'kube-dsl/dsl/autoscaling/v2/cross_version_object_reference'
5
+ autoload :ExternalMetricSource, 'kube-dsl/dsl/autoscaling/v2/external_metric_source'
6
+ autoload :ExternalMetricStatus, 'kube-dsl/dsl/autoscaling/v2/external_metric_status'
7
+ autoload :HPAScalingPolicy, 'kube-dsl/dsl/autoscaling/v2/hpa_scaling_policy'
8
+ autoload :HPAScalingRules, 'kube-dsl/dsl/autoscaling/v2/hpa_scaling_rules'
9
+ autoload :HorizontalPodAutoscaler, 'kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler'
10
+ autoload :HorizontalPodAutoscalerBehavior, 'kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_behavior'
11
+ autoload :HorizontalPodAutoscalerCondition, 'kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_condition'
12
+ autoload :HorizontalPodAutoscalerList, 'kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_list'
13
+ autoload :HorizontalPodAutoscalerSpec, 'kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_spec'
14
+ autoload :HorizontalPodAutoscalerStatus, 'kube-dsl/dsl/autoscaling/v2/horizontal_pod_autoscaler_status'
15
+ autoload :MetricIdentifier, 'kube-dsl/dsl/autoscaling/v2/metric_identifier'
16
+ autoload :MetricSpec, 'kube-dsl/dsl/autoscaling/v2/metric_spec'
17
+ autoload :MetricStatus, 'kube-dsl/dsl/autoscaling/v2/metric_status'
18
+ autoload :MetricTarget, 'kube-dsl/dsl/autoscaling/v2/metric_target'
19
+ autoload :MetricValueStatus, 'kube-dsl/dsl/autoscaling/v2/metric_value_status'
20
+ autoload :ObjectMetricSource, 'kube-dsl/dsl/autoscaling/v2/object_metric_source'
21
+ autoload :ObjectMetricStatus, 'kube-dsl/dsl/autoscaling/v2/object_metric_status'
22
+ autoload :PodsMetricSource, 'kube-dsl/dsl/autoscaling/v2/pods_metric_source'
23
+ autoload :PodsMetricStatus, 'kube-dsl/dsl/autoscaling/v2/pods_metric_status'
24
+ autoload :ResourceMetricSource, 'kube-dsl/dsl/autoscaling/v2/resource_metric_source'
25
+ autoload :ResourceMetricStatus, 'kube-dsl/dsl/autoscaling/v2/resource_metric_status'
26
+ end
@@ -1,5 +1,6 @@
1
1
  module KubeDSL::DSL::Autoscaling
2
2
  autoload :V1, 'kube-dsl/dsl/autoscaling/v1'
3
+ autoload :V2, 'kube-dsl/dsl/autoscaling/v2'
3
4
  autoload :V2beta1, 'kube-dsl/dsl/autoscaling/v2beta1'
4
5
  autoload :V2beta2, 'kube-dsl/dsl/autoscaling/v2beta2'
5
6
  end
@@ -10,6 +10,7 @@ module KubeDSL
10
10
  value_field :completion_time
11
11
  array_field(:condition) { KubeDSL::DSL::Batch::V1::JobCondition.new }
12
12
  value_field :failed
13
+ value_field :ready
13
14
  value_field :start_time
14
15
  value_field :succeeded
15
16
  object_field(:uncounted_terminated_pods) { KubeDSL::DSL::Batch::V1::UncountedTerminatedPods.new }
@@ -19,6 +20,7 @@ module KubeDSL
19
20
  validates :completion_time, field: { format: :string }, presence: false
20
21
  validates :conditions, array: { kind_of: KubeDSL::DSL::Batch::V1::JobCondition }, presence: false
21
22
  validates :failed, field: { format: :integer }, presence: false
23
+ validates :ready, field: { format: :integer }, presence: false
22
24
  validates :start_time, field: { format: :string }, presence: false
23
25
  validates :succeeded, field: { format: :integer }, presence: false
24
26
  validates :uncounted_terminated_pods, object: { kind_of: KubeDSL::DSL::Batch::V1::UncountedTerminatedPods }
@@ -30,6 +32,7 @@ module KubeDSL
30
32
  result[:completionTime] = completion_time
31
33
  result[:conditions] = conditions.map(&:serialize)
32
34
  result[:failed] = failed
35
+ result[:ready] = ready
33
36
  result[:startTime] = start_time
34
37
  result[:succeeded] = succeeded
35
38
  result[:uncountedTerminatedPods] = uncounted_terminated_pods.serialize
@@ -0,0 +1,25 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Flowcontrol
6
+ module V1beta2
7
+ class FlowDistinguisherMethod < ::KubeDSL::DSLObject
8
+ value_field :type
9
+
10
+ validates :type, field: { format: :string }, presence: false
11
+
12
+ def serialize
13
+ {}.tap do |result|
14
+ result[:type] = type
15
+ end
16
+ end
17
+
18
+ def kind_sym
19
+ :flow_distinguisher_method
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,33 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Flowcontrol
6
+ module V1beta2
7
+ class FlowSchema < ::KubeDSL::DSLObject
8
+ object_field(:metadata) { KubeDSL::DSL::Meta::V1::ObjectMeta.new }
9
+ object_field(:spec) { KubeDSL::DSL::Flowcontrol::V1beta2::FlowSchemaSpec.new }
10
+ object_field(:status) { KubeDSL::DSL::Flowcontrol::V1beta2::FlowSchemaStatus.new }
11
+
12
+ validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ObjectMeta }
13
+ validates :spec, object: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::FlowSchemaSpec }
14
+ validates :status, object: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::FlowSchemaStatus }
15
+
16
+ def serialize
17
+ {}.tap do |result|
18
+ result[:apiVersion] = "flowcontrol.apiserver.k8s.io/v1beta2"
19
+ result[:kind] = "FlowSchema"
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
+ :flow_schema
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 FlowSchemaCondition < ::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
+ :flow_schema_condition
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -2,26 +2,26 @@
2
2
 
3
3
  module KubeDSL
4
4
  module DSL
5
- module Rbac
6
- module V1alpha1
7
- class ClusterRoleList < ::KubeDSL::DSLObject
8
- array_field(:item) { KubeDSL::DSL::Rbac::V1alpha1::ClusterRole.new }
5
+ module Flowcontrol
6
+ module V1beta2
7
+ class FlowSchemaList < ::KubeDSL::DSLObject
8
+ array_field(:item) { KubeDSL::DSL::Flowcontrol::V1beta2::FlowSchema.new }
9
9
  object_field(:metadata) { KubeDSL::DSL::Meta::V1::ListMeta.new }
10
10
 
11
- validates :items, array: { kind_of: KubeDSL::DSL::Rbac::V1alpha1::ClusterRole }, presence: false
11
+ validates :items, array: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::FlowSchema }, presence: false
12
12
  validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ListMeta }
13
13
 
14
14
  def serialize
15
15
  {}.tap do |result|
16
- result[:apiVersion] = "rbac.authorization.k8s.io/v1alpha1"
16
+ result[:apiVersion] = "flowcontrol.apiserver.k8s.io/v1beta2"
17
17
  result[:items] = items.map(&:serialize)
18
- result[:kind] = "ClusterRoleList"
18
+ result[:kind] = "FlowSchemaList"
19
19
  result[:metadata] = metadata.serialize
20
20
  end
21
21
  end
22
22
 
23
23
  def kind_sym
24
- :cluster_role_list
24
+ :flow_schema_list
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,34 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Flowcontrol
6
+ module V1beta2
7
+ class FlowSchemaSpec < ::KubeDSL::DSLObject
8
+ object_field(:distinguisher_method) { KubeDSL::DSL::Flowcontrol::V1beta2::FlowDistinguisherMethod.new }
9
+ value_field :matching_precedence
10
+ object_field(:priority_level_configuration) { KubeDSL::DSL::Flowcontrol::V1beta2::PriorityLevelConfigurationReference.new }
11
+ array_field(:rule) { KubeDSL::DSL::Flowcontrol::V1beta2::PolicyRulesWithSubjects.new }
12
+
13
+ validates :distinguisher_method, object: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::FlowDistinguisherMethod }
14
+ validates :matching_precedence, field: { format: :integer }, presence: false
15
+ validates :priority_level_configuration, object: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::PriorityLevelConfigurationReference }
16
+ validates :rules, array: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::PolicyRulesWithSubjects }, presence: false
17
+
18
+ def serialize
19
+ {}.tap do |result|
20
+ result[:distinguisherMethod] = distinguisher_method.serialize
21
+ result[:matchingPrecedence] = matching_precedence
22
+ result[:priorityLevelConfiguration] = priority_level_configuration.serialize
23
+ result[:rules] = rules.map(&:serialize)
24
+ end
25
+ end
26
+
27
+ def kind_sym
28
+ :flow_schema_spec
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 FlowSchemaStatus < ::KubeDSL::DSLObject
8
+ array_field(:condition) { KubeDSL::DSL::Flowcontrol::V1beta2::FlowSchemaCondition.new }
9
+
10
+ validates :conditions, array: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::FlowSchemaCondition }, 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
+ :flow_schema_status
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Flowcontrol
6
+ module V1beta2
7
+ class GroupSubject < ::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
+ :group_subject
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 LimitResponse < ::KubeDSL::DSLObject
8
+ object_field(:queuing) { KubeDSL::DSL::Flowcontrol::V1beta2::QueuingConfiguration.new }
9
+ value_field :type
10
+
11
+ validates :queuing, object: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::QueuingConfiguration }
12
+ validates :type, field: { format: :string }, presence: false
13
+
14
+ def serialize
15
+ {}.tap do |result|
16
+ result[:queuing] = queuing.serialize
17
+ result[:type] = type
18
+ end
19
+ end
20
+
21
+ def kind_sym
22
+ :limit_response
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # typed: true
2
+
3
+ module KubeDSL
4
+ module DSL
5
+ module Flowcontrol
6
+ module V1beta2
7
+ class LimitedPriorityLevelConfiguration < ::KubeDSL::DSLObject
8
+ value_field :assured_concurrency_shares
9
+ object_field(:limit_response) { KubeDSL::DSL::Flowcontrol::V1beta2::LimitResponse.new }
10
+
11
+ validates :assured_concurrency_shares, field: { format: :integer }, presence: false
12
+ validates :limit_response, object: { kind_of: KubeDSL::DSL::Flowcontrol::V1beta2::LimitResponse }
13
+
14
+ def serialize
15
+ {}.tap do |result|
16
+ result[:assuredConcurrencyShares] = assured_concurrency_shares
17
+ result[:limitResponse] = limit_response.serialize
18
+ end
19
+ end
20
+
21
+ def kind_sym
22
+ :limited_priority_level_configuration
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end