kube-dsl 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (689) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/Rakefile +4 -0
  4. data/lib/kube-dsl.rb +6 -0
  5. data/lib/kube-dsl/array_field_res.rb +41 -0
  6. data/lib/kube-dsl/builder.rb +22 -11
  7. data/lib/kube-dsl/default_field_res.rb +28 -0
  8. data/lib/kube-dsl/dsl/admissionregistration/v1/mutating_webhook.rb +24 -6
  9. data/lib/kube-dsl/dsl/admissionregistration/v1/mutating_webhook_configuration.rb +5 -2
  10. data/lib/kube-dsl/dsl/admissionregistration/v1/mutating_webhook_configuration_list.rb +4 -1
  11. data/lib/kube-dsl/dsl/admissionregistration/v1/rule_with_operations.rb +11 -1
  12. data/lib/kube-dsl/dsl/admissionregistration/v1/service_reference.rb +9 -1
  13. data/lib/kube-dsl/dsl/admissionregistration/v1/validating_webhook.rb +22 -6
  14. data/lib/kube-dsl/dsl/admissionregistration/v1/validating_webhook_configuration.rb +5 -2
  15. data/lib/kube-dsl/dsl/admissionregistration/v1/validating_webhook_configuration_list.rb +4 -1
  16. data/lib/kube-dsl/dsl/admissionregistration/v1/webhook_client_config.rb +7 -2
  17. data/lib/kube-dsl/dsl/admissionregistration/v1beta1/mutating_webhook.rb +24 -6
  18. data/lib/kube-dsl/dsl/admissionregistration/v1beta1/mutating_webhook_configuration.rb +5 -2
  19. data/lib/kube-dsl/dsl/admissionregistration/v1beta1/mutating_webhook_configuration_list.rb +4 -1
  20. data/lib/kube-dsl/dsl/admissionregistration/v1beta1/rule_with_operations.rb +11 -1
  21. data/lib/kube-dsl/dsl/admissionregistration/v1beta1/service_reference.rb +9 -1
  22. data/lib/kube-dsl/dsl/admissionregistration/v1beta1/validating_webhook.rb +22 -6
  23. data/lib/kube-dsl/dsl/admissionregistration/v1beta1/validating_webhook_configuration.rb +5 -2
  24. data/lib/kube-dsl/dsl/admissionregistration/v1beta1/validating_webhook_configuration_list.rb +4 -1
  25. data/lib/kube-dsl/dsl/admissionregistration/v1beta1/webhook_client_config.rb +7 -2
  26. data/lib/kube-dsl/dsl/apiextensions/v1/custom_resource_column_definition.rb +13 -1
  27. data/lib/kube-dsl/dsl/apiextensions/v1/custom_resource_conversion.rb +4 -1
  28. data/lib/kube-dsl/dsl/apiextensions/v1/custom_resource_definition.rb +4 -0
  29. data/lib/kube-dsl/dsl/apiextensions/v1/custom_resource_definition_condition.rb +11 -1
  30. data/lib/kube-dsl/dsl/apiextensions/v1/custom_resource_definition_list.rb +4 -1
  31. data/lib/kube-dsl/dsl/apiextensions/v1/custom_resource_definition_names.rb +13 -1
  32. data/lib/kube-dsl/dsl/apiextensions/v1/custom_resource_definition_spec.rb +13 -4
  33. data/lib/kube-dsl/dsl/apiextensions/v1/custom_resource_definition_status.rb +8 -4
  34. data/lib/kube-dsl/dsl/apiextensions/v1/custom_resource_definition_version.rb +12 -3
  35. data/lib/kube-dsl/dsl/apiextensions/v1/custom_resource_subresource_scale.rb +7 -1
  36. data/lib/kube-dsl/dsl/apiextensions/v1/custom_resource_subresources.rb +5 -2
  37. data/lib/kube-dsl/dsl/apiextensions/v1/custom_resource_validation.rb +2 -0
  38. data/lib/kube-dsl/dsl/apiextensions/v1/external_documentation.rb +5 -1
  39. data/lib/kube-dsl/dsl/apiextensions/v1/json_schema_props.rb +87 -17
  40. data/lib/kube-dsl/dsl/apiextensions/v1/service_reference.rb +9 -1
  41. data/lib/kube-dsl/dsl/apiextensions/v1/webhook_client_config.rb +7 -2
  42. data/lib/kube-dsl/dsl/apiextensions/v1/webhook_conversion.rb +5 -2
  43. data/lib/kube-dsl/dsl/apiextensions/v1beta1/custom_resource_column_definition.rb +13 -1
  44. data/lib/kube-dsl/dsl/apiextensions/v1beta1/custom_resource_conversion.rb +6 -1
  45. data/lib/kube-dsl/dsl/apiextensions/v1beta1/custom_resource_definition.rb +4 -0
  46. data/lib/kube-dsl/dsl/apiextensions/v1beta1/custom_resource_definition_condition.rb +11 -1
  47. data/lib/kube-dsl/dsl/apiextensions/v1beta1/custom_resource_definition_list.rb +4 -1
  48. data/lib/kube-dsl/dsl/apiextensions/v1beta1/custom_resource_definition_names.rb +13 -1
  49. data/lib/kube-dsl/dsl/apiextensions/v1beta1/custom_resource_definition_spec.rb +21 -7
  50. data/lib/kube-dsl/dsl/apiextensions/v1beta1/custom_resource_definition_status.rb +8 -4
  51. data/lib/kube-dsl/dsl/apiextensions/v1beta1/custom_resource_definition_version.rb +12 -3
  52. data/lib/kube-dsl/dsl/apiextensions/v1beta1/custom_resource_subresource_scale.rb +7 -1
  53. data/lib/kube-dsl/dsl/apiextensions/v1beta1/custom_resource_subresources.rb +5 -2
  54. data/lib/kube-dsl/dsl/apiextensions/v1beta1/custom_resource_validation.rb +2 -0
  55. data/lib/kube-dsl/dsl/apiextensions/v1beta1/external_documentation.rb +5 -1
  56. data/lib/kube-dsl/dsl/apiextensions/v1beta1/json_schema_props.rb +87 -17
  57. data/lib/kube-dsl/dsl/apiextensions/v1beta1/service_reference.rb +9 -1
  58. data/lib/kube-dsl/dsl/apiextensions/v1beta1/webhook_client_config.rb +7 -2
  59. data/lib/kube-dsl/dsl/apiregistration/v1/api_service.rb +4 -0
  60. data/lib/kube-dsl/dsl/apiregistration/v1/api_service_condition.rb +11 -1
  61. data/lib/kube-dsl/dsl/apiregistration/v1/api_service_list.rb +4 -1
  62. data/lib/kube-dsl/dsl/apiregistration/v1/api_service_spec.rb +15 -2
  63. data/lib/kube-dsl/dsl/apiregistration/v1/api_service_status.rb +2 -0
  64. data/lib/kube-dsl/dsl/apiregistration/v1/service_reference.rb +7 -1
  65. data/lib/kube-dsl/dsl/apiregistration/v1beta1/api_service.rb +4 -0
  66. data/lib/kube-dsl/dsl/apiregistration/v1beta1/api_service_condition.rb +11 -1
  67. data/lib/kube-dsl/dsl/apiregistration/v1beta1/api_service_list.rb +4 -1
  68. data/lib/kube-dsl/dsl/apiregistration/v1beta1/api_service_spec.rb +15 -2
  69. data/lib/kube-dsl/dsl/apiregistration/v1beta1/api_service_status.rb +2 -0
  70. data/lib/kube-dsl/dsl/apiregistration/v1beta1/service_reference.rb +7 -1
  71. data/lib/kube-dsl/dsl/apps/v1/controller_revision.rb +8 -3
  72. data/lib/kube-dsl/dsl/apps/v1/controller_revision_list.rb +4 -1
  73. data/lib/kube-dsl/dsl/apps/v1/daemon_set.rb +4 -0
  74. data/lib/kube-dsl/dsl/apps/v1/daemon_set_condition.rb +11 -1
  75. data/lib/kube-dsl/dsl/apps/v1/daemon_set_list.rb +4 -1
  76. data/lib/kube-dsl/dsl/apps/v1/daemon_set_spec.rb +8 -1
  77. data/lib/kube-dsl/dsl/apps/v1/daemon_set_status.rb +21 -2
  78. data/lib/kube-dsl/dsl/apps/v1/daemon_set_update_strategy.rb +5 -2
  79. data/lib/kube-dsl/dsl/apps/v1/deployment.rb +4 -0
  80. data/lib/kube-dsl/dsl/apps/v1/deployment_condition.rb +13 -1
  81. data/lib/kube-dsl/dsl/apps/v1/deployment_list.rb +4 -1
  82. data/lib/kube-dsl/dsl/apps/v1/deployment_spec.rb +14 -1
  83. data/lib/kube-dsl/dsl/apps/v1/deployment_status.rb +17 -2
  84. data/lib/kube-dsl/dsl/apps/v1/deployment_strategy.rb +5 -2
  85. data/lib/kube-dsl/dsl/apps/v1/replica_set.rb +4 -0
  86. data/lib/kube-dsl/dsl/apps/v1/replica_set_condition.rb +11 -1
  87. data/lib/kube-dsl/dsl/apps/v1/replica_set_list.rb +4 -1
  88. data/lib/kube-dsl/dsl/apps/v1/replica_set_spec.rb +7 -1
  89. data/lib/kube-dsl/dsl/apps/v1/replica_set_status.rb +13 -2
  90. data/lib/kube-dsl/dsl/apps/v1/rolling_update_daemon_set.rb +3 -1
  91. data/lib/kube-dsl/dsl/apps/v1/rolling_update_deployment.rb +5 -1
  92. data/lib/kube-dsl/dsl/apps/v1/rolling_update_stateful_set_strategy.rb +3 -1
  93. data/lib/kube-dsl/dsl/apps/v1/stateful_set.rb +4 -0
  94. data/lib/kube-dsl/dsl/apps/v1/stateful_set_condition.rb +11 -1
  95. data/lib/kube-dsl/dsl/apps/v1/stateful_set_list.rb +4 -1
  96. data/lib/kube-dsl/dsl/apps/v1/stateful_set_spec.rb +16 -4
  97. data/lib/kube-dsl/dsl/apps/v1/stateful_set_status.rb +19 -2
  98. data/lib/kube-dsl/dsl/apps/v1/stateful_set_update_strategy.rb +5 -2
  99. data/lib/kube-dsl/dsl/apps/v1beta1/controller_revision.rb +8 -3
  100. data/lib/kube-dsl/dsl/apps/v1beta1/controller_revision_list.rb +4 -1
  101. data/lib/kube-dsl/dsl/apps/v1beta1/deployment.rb +4 -0
  102. data/lib/kube-dsl/dsl/apps/v1beta1/deployment_condition.rb +13 -1
  103. data/lib/kube-dsl/dsl/apps/v1beta1/deployment_list.rb +4 -1
  104. data/lib/kube-dsl/dsl/apps/v1beta1/deployment_rollback.rb +5 -1
  105. data/lib/kube-dsl/dsl/apps/v1beta1/deployment_spec.rb +15 -1
  106. data/lib/kube-dsl/dsl/apps/v1beta1/deployment_status.rb +17 -2
  107. data/lib/kube-dsl/dsl/apps/v1beta1/deployment_strategy.rb +5 -2
  108. data/lib/kube-dsl/dsl/apps/v1beta1/rollback_config.rb +3 -1
  109. data/lib/kube-dsl/dsl/apps/v1beta1/rolling_update_deployment.rb +5 -1
  110. data/lib/kube-dsl/dsl/apps/v1beta1/rolling_update_stateful_set_strategy.rb +3 -1
  111. data/lib/kube-dsl/dsl/apps/v1beta1/scale.rb +4 -0
  112. data/lib/kube-dsl/dsl/apps/v1beta1/scale_spec.rb +3 -1
  113. data/lib/kube-dsl/dsl/apps/v1beta1/scale_status.rb +7 -2
  114. data/lib/kube-dsl/dsl/apps/v1beta1/stateful_set.rb +4 -0
  115. data/lib/kube-dsl/dsl/apps/v1beta1/stateful_set_condition.rb +11 -1
  116. data/lib/kube-dsl/dsl/apps/v1beta1/stateful_set_list.rb +4 -1
  117. data/lib/kube-dsl/dsl/apps/v1beta1/stateful_set_spec.rb +16 -4
  118. data/lib/kube-dsl/dsl/apps/v1beta1/stateful_set_status.rb +19 -2
  119. data/lib/kube-dsl/dsl/apps/v1beta1/stateful_set_update_strategy.rb +5 -2
  120. data/lib/kube-dsl/dsl/apps/v1beta2/controller_revision.rb +8 -3
  121. data/lib/kube-dsl/dsl/apps/v1beta2/controller_revision_list.rb +4 -1
  122. data/lib/kube-dsl/dsl/apps/v1beta2/daemon_set.rb +4 -0
  123. data/lib/kube-dsl/dsl/apps/v1beta2/daemon_set_condition.rb +11 -1
  124. data/lib/kube-dsl/dsl/apps/v1beta2/daemon_set_list.rb +4 -1
  125. data/lib/kube-dsl/dsl/apps/v1beta2/daemon_set_spec.rb +8 -1
  126. data/lib/kube-dsl/dsl/apps/v1beta2/daemon_set_status.rb +21 -2
  127. data/lib/kube-dsl/dsl/apps/v1beta2/daemon_set_update_strategy.rb +5 -2
  128. data/lib/kube-dsl/dsl/apps/v1beta2/deployment.rb +4 -0
  129. data/lib/kube-dsl/dsl/apps/v1beta2/deployment_condition.rb +13 -1
  130. data/lib/kube-dsl/dsl/apps/v1beta2/deployment_list.rb +4 -1
  131. data/lib/kube-dsl/dsl/apps/v1beta2/deployment_spec.rb +14 -1
  132. data/lib/kube-dsl/dsl/apps/v1beta2/deployment_status.rb +17 -2
  133. data/lib/kube-dsl/dsl/apps/v1beta2/deployment_strategy.rb +5 -2
  134. data/lib/kube-dsl/dsl/apps/v1beta2/replica_set.rb +4 -0
  135. data/lib/kube-dsl/dsl/apps/v1beta2/replica_set_condition.rb +11 -1
  136. data/lib/kube-dsl/dsl/apps/v1beta2/replica_set_list.rb +4 -1
  137. data/lib/kube-dsl/dsl/apps/v1beta2/replica_set_spec.rb +7 -1
  138. data/lib/kube-dsl/dsl/apps/v1beta2/replica_set_status.rb +13 -2
  139. data/lib/kube-dsl/dsl/apps/v1beta2/rolling_update_daemon_set.rb +3 -1
  140. data/lib/kube-dsl/dsl/apps/v1beta2/rolling_update_deployment.rb +5 -1
  141. data/lib/kube-dsl/dsl/apps/v1beta2/rolling_update_stateful_set_strategy.rb +3 -1
  142. data/lib/kube-dsl/dsl/apps/v1beta2/scale.rb +4 -0
  143. data/lib/kube-dsl/dsl/apps/v1beta2/scale_spec.rb +3 -1
  144. data/lib/kube-dsl/dsl/apps/v1beta2/scale_status.rb +7 -2
  145. data/lib/kube-dsl/dsl/apps/v1beta2/stateful_set.rb +4 -0
  146. data/lib/kube-dsl/dsl/apps/v1beta2/stateful_set_condition.rb +11 -1
  147. data/lib/kube-dsl/dsl/apps/v1beta2/stateful_set_list.rb +4 -1
  148. data/lib/kube-dsl/dsl/apps/v1beta2/stateful_set_spec.rb +16 -4
  149. data/lib/kube-dsl/dsl/apps/v1beta2/stateful_set_status.rb +19 -2
  150. data/lib/kube-dsl/dsl/apps/v1beta2/stateful_set_update_strategy.rb +5 -2
  151. data/lib/kube-dsl/dsl/auditregistration/v1alpha1/audit_sink.rb +3 -0
  152. data/lib/kube-dsl/dsl/auditregistration/v1alpha1/audit_sink_list.rb +4 -1
  153. data/lib/kube-dsl/dsl/auditregistration/v1alpha1/audit_sink_spec.rb +3 -0
  154. data/lib/kube-dsl/dsl/auditregistration/v1alpha1/policy.rb +5 -1
  155. data/lib/kube-dsl/dsl/auditregistration/v1alpha1/service_reference.rb +9 -1
  156. data/lib/kube-dsl/dsl/auditregistration/v1alpha1/webhook.rb +3 -0
  157. data/lib/kube-dsl/dsl/auditregistration/v1alpha1/webhook_client_config.rb +7 -2
  158. data/lib/kube-dsl/dsl/auditregistration/v1alpha1/webhook_throttle_config.rb +5 -1
  159. data/lib/kube-dsl/dsl/authentication/v1/bound_object_reference.rb +9 -1
  160. data/lib/kube-dsl/dsl/authentication/v1/token_request.rb +4 -0
  161. data/lib/kube-dsl/dsl/authentication/v1/token_request_spec.rb +7 -2
  162. data/lib/kube-dsl/dsl/authentication/v1/token_request_status.rb +5 -1
  163. data/lib/kube-dsl/dsl/authentication/v1/token_review.rb +4 -0
  164. data/lib/kube-dsl/dsl/authentication/v1/token_review_spec.rb +5 -1
  165. data/lib/kube-dsl/dsl/authentication/v1/token_review_status.rb +8 -1
  166. data/lib/kube-dsl/dsl/authentication/v1/user_info.rb +9 -2
  167. data/lib/kube-dsl/dsl/authentication/v1beta1/token_review.rb +4 -0
  168. data/lib/kube-dsl/dsl/authentication/v1beta1/token_review_spec.rb +5 -1
  169. data/lib/kube-dsl/dsl/authentication/v1beta1/token_review_status.rb +8 -1
  170. data/lib/kube-dsl/dsl/authentication/v1beta1/user_info.rb +9 -2
  171. data/lib/kube-dsl/dsl/authorization/v1/local_subject_access_review.rb +4 -0
  172. data/lib/kube-dsl/dsl/authorization/v1/non_resource_attributes.rb +5 -1
  173. data/lib/kube-dsl/dsl/authorization/v1/non_resource_rule.rb +5 -1
  174. data/lib/kube-dsl/dsl/authorization/v1/resource_attributes.rb +15 -1
  175. data/lib/kube-dsl/dsl/authorization/v1/resource_rule.rb +9 -1
  176. data/lib/kube-dsl/dsl/authorization/v1/self_subject_access_review.rb +4 -0
  177. data/lib/kube-dsl/dsl/authorization/v1/self_subject_access_review_spec.rb +3 -0
  178. data/lib/kube-dsl/dsl/authorization/v1/self_subject_rules_review.rb +4 -0
  179. data/lib/kube-dsl/dsl/authorization/v1/self_subject_rules_review_spec.rb +3 -1
  180. data/lib/kube-dsl/dsl/authorization/v1/subject_access_review.rb +4 -0
  181. data/lib/kube-dsl/dsl/authorization/v1/subject_access_review_spec.rb +14 -5
  182. data/lib/kube-dsl/dsl/authorization/v1/subject_access_review_status.rb +9 -1
  183. data/lib/kube-dsl/dsl/authorization/v1/subject_rules_review_status.rb +7 -1
  184. data/lib/kube-dsl/dsl/authorization/v1beta1/local_subject_access_review.rb +4 -0
  185. data/lib/kube-dsl/dsl/authorization/v1beta1/non_resource_attributes.rb +5 -1
  186. data/lib/kube-dsl/dsl/authorization/v1beta1/non_resource_rule.rb +5 -1
  187. data/lib/kube-dsl/dsl/authorization/v1beta1/resource_attributes.rb +15 -1
  188. data/lib/kube-dsl/dsl/authorization/v1beta1/resource_rule.rb +9 -1
  189. data/lib/kube-dsl/dsl/authorization/v1beta1/self_subject_access_review.rb +4 -0
  190. data/lib/kube-dsl/dsl/authorization/v1beta1/self_subject_access_review_spec.rb +3 -0
  191. data/lib/kube-dsl/dsl/authorization/v1beta1/self_subject_rules_review.rb +4 -0
  192. data/lib/kube-dsl/dsl/authorization/v1beta1/self_subject_rules_review_spec.rb +3 -1
  193. data/lib/kube-dsl/dsl/authorization/v1beta1/subject_access_review.rb +4 -0
  194. data/lib/kube-dsl/dsl/authorization/v1beta1/subject_access_review_spec.rb +14 -5
  195. data/lib/kube-dsl/dsl/authorization/v1beta1/subject_access_review_status.rb +9 -1
  196. data/lib/kube-dsl/dsl/authorization/v1beta1/subject_rules_review_status.rb +7 -1
  197. data/lib/kube-dsl/dsl/autoscaling/v1/cross_version_object_reference.rb +7 -1
  198. data/lib/kube-dsl/dsl/autoscaling/v1/horizontal_pod_autoscaler.rb +4 -0
  199. data/lib/kube-dsl/dsl/autoscaling/v1/horizontal_pod_autoscaler_list.rb +4 -1
  200. data/lib/kube-dsl/dsl/autoscaling/v1/horizontal_pod_autoscaler_spec.rb +9 -2
  201. data/lib/kube-dsl/dsl/autoscaling/v1/horizontal_pod_autoscaler_status.rb +11 -1
  202. data/lib/kube-dsl/dsl/autoscaling/v1/scale.rb +4 -0
  203. data/lib/kube-dsl/dsl/autoscaling/v1/scale_spec.rb +3 -1
  204. data/lib/kube-dsl/dsl/autoscaling/v1/scale_status.rb +5 -1
  205. data/lib/kube-dsl/dsl/autoscaling/v2beta1/cross_version_object_reference.rb +7 -1
  206. data/lib/kube-dsl/dsl/autoscaling/v2beta1/external_metric_source.rb +9 -2
  207. data/lib/kube-dsl/dsl/autoscaling/v2beta1/external_metric_status.rb +8 -1
  208. data/lib/kube-dsl/dsl/autoscaling/v2beta1/horizontal_pod_autoscaler.rb +4 -0
  209. data/lib/kube-dsl/dsl/autoscaling/v2beta1/horizontal_pod_autoscaler_condition.rb +11 -1
  210. data/lib/kube-dsl/dsl/autoscaling/v2beta1/horizontal_pod_autoscaler_list.rb +4 -1
  211. data/lib/kube-dsl/dsl/autoscaling/v2beta1/horizontal_pod_autoscaler_spec.rb +8 -2
  212. data/lib/kube-dsl/dsl/autoscaling/v2beta1/horizontal_pod_autoscaler_status.rb +13 -3
  213. data/lib/kube-dsl/dsl/autoscaling/v2beta1/metric_spec.rb +8 -2
  214. data/lib/kube-dsl/dsl/autoscaling/v2beta1/metric_status.rb +8 -2
  215. data/lib/kube-dsl/dsl/autoscaling/v2beta1/object_metric_source.rb +10 -2
  216. data/lib/kube-dsl/dsl/autoscaling/v2beta1/object_metric_status.rb +9 -1
  217. data/lib/kube-dsl/dsl/autoscaling/v2beta1/pods_metric_source.rb +7 -2
  218. data/lib/kube-dsl/dsl/autoscaling/v2beta1/pods_metric_status.rb +6 -1
  219. data/lib/kube-dsl/dsl/autoscaling/v2beta1/resource_metric_source.rb +7 -1
  220. data/lib/kube-dsl/dsl/autoscaling/v2beta1/resource_metric_status.rb +7 -1
  221. data/lib/kube-dsl/dsl/autoscaling/v2beta2/cross_version_object_reference.rb +7 -1
  222. data/lib/kube-dsl/dsl/autoscaling/v2beta2/external_metric_source.rb +3 -0
  223. data/lib/kube-dsl/dsl/autoscaling/v2beta2/external_metric_status.rb +3 -0
  224. data/lib/kube-dsl/dsl/autoscaling/v2beta2/horizontal_pod_autoscaler.rb +4 -0
  225. data/lib/kube-dsl/dsl/autoscaling/v2beta2/horizontal_pod_autoscaler_condition.rb +11 -1
  226. data/lib/kube-dsl/dsl/autoscaling/v2beta2/horizontal_pod_autoscaler_list.rb +4 -1
  227. data/lib/kube-dsl/dsl/autoscaling/v2beta2/horizontal_pod_autoscaler_spec.rb +8 -2
  228. data/lib/kube-dsl/dsl/autoscaling/v2beta2/horizontal_pod_autoscaler_status.rb +13 -3
  229. data/lib/kube-dsl/dsl/autoscaling/v2beta2/metric_identifier.rb +4 -1
  230. data/lib/kube-dsl/dsl/autoscaling/v2beta2/metric_spec.rb +8 -2
  231. data/lib/kube-dsl/dsl/autoscaling/v2beta2/metric_status.rb +8 -2
  232. data/lib/kube-dsl/dsl/autoscaling/v2beta2/metric_target.rb +9 -1
  233. data/lib/kube-dsl/dsl/autoscaling/v2beta2/metric_value_status.rb +7 -1
  234. data/lib/kube-dsl/dsl/autoscaling/v2beta2/object_metric_source.rb +4 -0
  235. data/lib/kube-dsl/dsl/autoscaling/v2beta2/object_metric_status.rb +4 -0
  236. data/lib/kube-dsl/dsl/autoscaling/v2beta2/pods_metric_source.rb +3 -0
  237. data/lib/kube-dsl/dsl/autoscaling/v2beta2/pods_metric_status.rb +3 -0
  238. data/lib/kube-dsl/dsl/autoscaling/v2beta2/resource_metric_source.rb +4 -1
  239. data/lib/kube-dsl/dsl/autoscaling/v2beta2/resource_metric_status.rb +5 -2
  240. data/lib/kube-dsl/dsl/batch/v1/job.rb +4 -0
  241. data/lib/kube-dsl/dsl/batch/v1/job_condition.rb +13 -1
  242. data/lib/kube-dsl/dsl/batch/v1/job_list.rb +4 -1
  243. data/lib/kube-dsl/dsl/batch/v1/job_spec.rb +16 -2
  244. data/lib/kube-dsl/dsl/batch/v1/job_status.rb +13 -2
  245. data/lib/kube-dsl/dsl/batch/v1beta1/cron_job.rb +4 -0
  246. data/lib/kube-dsl/dsl/batch/v1beta1/cron_job_list.rb +4 -1
  247. data/lib/kube-dsl/dsl/batch/v1beta1/cron_job_spec.rb +15 -2
  248. data/lib/kube-dsl/dsl/batch/v1beta1/cron_job_status.rb +5 -2
  249. data/lib/kube-dsl/dsl/batch/v1beta1/job_template_spec.rb +3 -0
  250. data/lib/kube-dsl/dsl/batch/v2alpha1/cron_job.rb +4 -0
  251. data/lib/kube-dsl/dsl/batch/v2alpha1/cron_job_list.rb +4 -1
  252. data/lib/kube-dsl/dsl/batch/v2alpha1/cron_job_spec.rb +15 -2
  253. data/lib/kube-dsl/dsl/batch/v2alpha1/cron_job_status.rb +5 -2
  254. data/lib/kube-dsl/dsl/batch/v2alpha1/job_template_spec.rb +3 -0
  255. data/lib/kube-dsl/dsl/certificates/v1beta1/certificate_signing_request.rb +4 -0
  256. data/lib/kube-dsl/dsl/certificates/v1beta1/certificate_signing_request_condition.rb +9 -1
  257. data/lib/kube-dsl/dsl/certificates/v1beta1/certificate_signing_request_list.rb +4 -1
  258. data/lib/kube-dsl/dsl/certificates/v1beta1/certificate_signing_request_spec.rb +13 -2
  259. data/lib/kube-dsl/dsl/certificates/v1beta1/certificate_signing_request_status.rb +4 -1
  260. data/lib/kube-dsl/dsl/coordination/v1/lease.rb +3 -0
  261. data/lib/kube-dsl/dsl/coordination/v1/lease_list.rb +4 -1
  262. data/lib/kube-dsl/dsl/coordination/v1/lease_spec.rb +11 -1
  263. data/lib/kube-dsl/dsl/coordination/v1beta1/lease.rb +3 -0
  264. data/lib/kube-dsl/dsl/coordination/v1beta1/lease_list.rb +4 -1
  265. data/lib/kube-dsl/dsl/coordination/v1beta1/lease_spec.rb +11 -1
  266. data/lib/kube-dsl/dsl/discovery/v1beta1/endpoint.rb +9 -2
  267. data/lib/kube-dsl/dsl/discovery/v1beta1/endpoint_conditions.rb +3 -1
  268. data/lib/kube-dsl/dsl/discovery/v1beta1/endpoint_port.rb +9 -1
  269. data/lib/kube-dsl/dsl/discovery/v1beta1/endpoint_slice.rb +10 -5
  270. data/lib/kube-dsl/dsl/discovery/v1beta1/endpoint_slice_list.rb +4 -1
  271. data/lib/kube-dsl/dsl/events/v1beta1/event.rb +33 -8
  272. data/lib/kube-dsl/dsl/events/v1beta1/event_list.rb +4 -1
  273. data/lib/kube-dsl/dsl/events/v1beta1/event_series.rb +7 -1
  274. data/lib/kube-dsl/dsl/extensions/v1beta1/allowed_csi_driver.rb +3 -1
  275. data/lib/kube-dsl/dsl/extensions/v1beta1/allowed_flex_volume.rb +3 -1
  276. data/lib/kube-dsl/dsl/extensions/v1beta1/allowed_host_path.rb +5 -1
  277. data/lib/kube-dsl/dsl/extensions/v1beta1/daemon_set.rb +4 -0
  278. data/lib/kube-dsl/dsl/extensions/v1beta1/daemon_set_condition.rb +11 -1
  279. data/lib/kube-dsl/dsl/extensions/v1beta1/daemon_set_list.rb +4 -1
  280. data/lib/kube-dsl/dsl/extensions/v1beta1/daemon_set_spec.rb +11 -2
  281. data/lib/kube-dsl/dsl/extensions/v1beta1/daemon_set_status.rb +21 -2
  282. data/lib/kube-dsl/dsl/extensions/v1beta1/daemon_set_update_strategy.rb +5 -2
  283. data/lib/kube-dsl/dsl/extensions/v1beta1/deployment.rb +4 -0
  284. data/lib/kube-dsl/dsl/extensions/v1beta1/deployment_condition.rb +13 -1
  285. data/lib/kube-dsl/dsl/extensions/v1beta1/deployment_list.rb +4 -1
  286. data/lib/kube-dsl/dsl/extensions/v1beta1/deployment_rollback.rb +5 -1
  287. data/lib/kube-dsl/dsl/extensions/v1beta1/deployment_spec.rb +15 -1
  288. data/lib/kube-dsl/dsl/extensions/v1beta1/deployment_status.rb +17 -2
  289. data/lib/kube-dsl/dsl/extensions/v1beta1/deployment_strategy.rb +5 -2
  290. data/lib/kube-dsl/dsl/extensions/v1beta1/fs_group_strategy_options.rb +5 -2
  291. data/lib/kube-dsl/dsl/extensions/v1beta1/host_port_range.rb +5 -1
  292. data/lib/kube-dsl/dsl/extensions/v1beta1/http_ingress_path.rb +5 -2
  293. data/lib/kube-dsl/dsl/extensions/v1beta1/http_ingress_rule_value.rb +2 -0
  294. data/lib/kube-dsl/dsl/extensions/v1beta1/id_range.rb +5 -1
  295. data/lib/kube-dsl/dsl/extensions/v1beta1/ingress.rb +4 -0
  296. data/lib/kube-dsl/dsl/extensions/v1beta1/ingress_backend.rb +5 -1
  297. data/lib/kube-dsl/dsl/extensions/v1beta1/ingress_list.rb +4 -1
  298. data/lib/kube-dsl/dsl/extensions/v1beta1/ingress_rule.rb +4 -1
  299. data/lib/kube-dsl/dsl/extensions/v1beta1/ingress_spec.rb +6 -2
  300. data/lib/kube-dsl/dsl/extensions/v1beta1/ingress_status.rb +2 -0
  301. data/lib/kube-dsl/dsl/extensions/v1beta1/ingress_tls.rb +5 -1
  302. data/lib/kube-dsl/dsl/extensions/v1beta1/ip_block.rb +5 -1
  303. data/lib/kube-dsl/dsl/extensions/v1beta1/network_policy.rb +3 -0
  304. data/lib/kube-dsl/dsl/extensions/v1beta1/network_policy_egress_rule.rb +3 -0
  305. data/lib/kube-dsl/dsl/extensions/v1beta1/network_policy_ingress_rule.rb +3 -0
  306. data/lib/kube-dsl/dsl/extensions/v1beta1/network_policy_list.rb +4 -1
  307. data/lib/kube-dsl/dsl/extensions/v1beta1/network_policy_peer.rb +4 -0
  308. data/lib/kube-dsl/dsl/extensions/v1beta1/network_policy_port.rb +5 -1
  309. data/lib/kube-dsl/dsl/extensions/v1beta1/network_policy_spec.rb +7 -2
  310. data/lib/kube-dsl/dsl/extensions/v1beta1/pod_security_policy.rb +3 -0
  311. data/lib/kube-dsl/dsl/extensions/v1beta1/pod_security_policy_list.rb +4 -1
  312. data/lib/kube-dsl/dsl/extensions/v1beta1/pod_security_policy_spec.rb +46 -8
  313. data/lib/kube-dsl/dsl/extensions/v1beta1/replica_set.rb +4 -0
  314. data/lib/kube-dsl/dsl/extensions/v1beta1/replica_set_condition.rb +11 -1
  315. data/lib/kube-dsl/dsl/extensions/v1beta1/replica_set_list.rb +4 -1
  316. data/lib/kube-dsl/dsl/extensions/v1beta1/replica_set_spec.rb +7 -1
  317. data/lib/kube-dsl/dsl/extensions/v1beta1/replica_set_status.rb +13 -2
  318. data/lib/kube-dsl/dsl/extensions/v1beta1/rollback_config.rb +3 -1
  319. data/lib/kube-dsl/dsl/extensions/v1beta1/rolling_update_daemon_set.rb +3 -1
  320. data/lib/kube-dsl/dsl/extensions/v1beta1/rolling_update_deployment.rb +5 -1
  321. data/lib/kube-dsl/dsl/extensions/v1beta1/run_as_group_strategy_options.rb +5 -2
  322. data/lib/kube-dsl/dsl/extensions/v1beta1/run_as_user_strategy_options.rb +5 -2
  323. data/lib/kube-dsl/dsl/extensions/v1beta1/runtime_class_strategy_options.rb +5 -1
  324. data/lib/kube-dsl/dsl/extensions/v1beta1/scale.rb +4 -0
  325. data/lib/kube-dsl/dsl/extensions/v1beta1/scale_spec.rb +3 -1
  326. data/lib/kube-dsl/dsl/extensions/v1beta1/scale_status.rb +7 -2
  327. data/lib/kube-dsl/dsl/extensions/v1beta1/se_linux_strategy_options.rb +4 -1
  328. data/lib/kube-dsl/dsl/extensions/v1beta1/supplemental_groups_strategy_options.rb +5 -2
  329. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/flow_distinguisher_method.rb +3 -1
  330. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/flow_schema.rb +4 -0
  331. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/flow_schema_condition.rb +11 -1
  332. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/flow_schema_list.rb +4 -1
  333. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/flow_schema_spec.rb +9 -4
  334. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/flow_schema_status.rb +2 -0
  335. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/group_subject.rb +3 -1
  336. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/limit_response.rb +5 -2
  337. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/limited_priority_level_configuration.rb +4 -1
  338. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/non_resource_policy_rule.rb +5 -1
  339. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/policy_rules_with_subjects.rb +4 -0
  340. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/priority_level_configuration.rb +4 -0
  341. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/priority_level_configuration_condition.rb +11 -1
  342. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/priority_level_configuration_list.rb +4 -1
  343. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/priority_level_configuration_reference.rb +3 -1
  344. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/priority_level_configuration_spec.rb +5 -2
  345. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/priority_level_configuration_status.rb +2 -0
  346. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/queuing_configuration.rb +7 -1
  347. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/resource_policy_rule.rb +11 -1
  348. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/service_account_subject.rb +5 -1
  349. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/subject.rb +7 -2
  350. data/lib/kube-dsl/dsl/flowcontrol/v1alpha1/user_subject.rb +3 -1
  351. data/lib/kube-dsl/dsl/meta/v1/api_group.rb +8 -3
  352. data/lib/kube-dsl/dsl/meta/v1/api_group_list.rb +3 -1
  353. data/lib/kube-dsl/dsl/meta/v1/api_resource.rb +21 -1
  354. data/lib/kube-dsl/dsl/meta/v1/api_resource_list.rb +5 -2
  355. data/lib/kube-dsl/dsl/meta/v1/api_versions.rb +5 -2
  356. data/lib/kube-dsl/dsl/meta/v1/delete_options.rb +14 -3
  357. data/lib/kube-dsl/dsl/meta/v1/group_version_for_discovery.rb +5 -1
  358. data/lib/kube-dsl/dsl/meta/v1/label_selector.rb +3 -0
  359. data/lib/kube-dsl/dsl/meta/v1/label_selector_requirement.rb +7 -1
  360. data/lib/kube-dsl/dsl/meta/v1/list_meta.rb +9 -1
  361. data/lib/kube-dsl/dsl/meta/v1/managed_fields_entry.rb +13 -1
  362. data/lib/kube-dsl/dsl/meta/v1/object_meta.rb +35 -7
  363. data/lib/kube-dsl/dsl/meta/v1/owner_reference.rb +13 -1
  364. data/lib/kube-dsl/dsl/meta/v1/preconditions.rb +5 -1
  365. data/lib/kube-dsl/dsl/meta/v1/server_address_by_client_cidr.rb +5 -1
  366. data/lib/kube-dsl/dsl/meta/v1/status.rb +14 -4
  367. data/lib/kube-dsl/dsl/meta/v1/status_cause.rb +7 -1
  368. data/lib/kube-dsl/dsl/meta/v1/status_details.rb +13 -2
  369. data/lib/kube-dsl/dsl/meta/v1/watch_event.rb +5 -1
  370. data/lib/kube-dsl/dsl/networking/v1/ip_block.rb +5 -1
  371. data/lib/kube-dsl/dsl/networking/v1/network_policy.rb +3 -0
  372. data/lib/kube-dsl/dsl/networking/v1/network_policy_egress_rule.rb +3 -0
  373. data/lib/kube-dsl/dsl/networking/v1/network_policy_ingress_rule.rb +3 -0
  374. data/lib/kube-dsl/dsl/networking/v1/network_policy_list.rb +4 -1
  375. data/lib/kube-dsl/dsl/networking/v1/network_policy_peer.rb +4 -0
  376. data/lib/kube-dsl/dsl/networking/v1/network_policy_port.rb +5 -1
  377. data/lib/kube-dsl/dsl/networking/v1/network_policy_spec.rb +7 -2
  378. data/lib/kube-dsl/dsl/networking/v1beta1/http_ingress_path.rb +5 -2
  379. data/lib/kube-dsl/dsl/networking/v1beta1/http_ingress_rule_value.rb +2 -0
  380. data/lib/kube-dsl/dsl/networking/v1beta1/ingress.rb +4 -0
  381. data/lib/kube-dsl/dsl/networking/v1beta1/ingress_backend.rb +5 -1
  382. data/lib/kube-dsl/dsl/networking/v1beta1/ingress_list.rb +4 -1
  383. data/lib/kube-dsl/dsl/networking/v1beta1/ingress_rule.rb +4 -1
  384. data/lib/kube-dsl/dsl/networking/v1beta1/ingress_spec.rb +6 -2
  385. data/lib/kube-dsl/dsl/networking/v1beta1/ingress_status.rb +2 -0
  386. data/lib/kube-dsl/dsl/networking/v1beta1/ingress_tls.rb +5 -1
  387. data/lib/kube-dsl/dsl/node/v1alpha1/overhead.rb +2 -0
  388. data/lib/kube-dsl/dsl/node/v1alpha1/runtime_class.rb +3 -0
  389. data/lib/kube-dsl/dsl/node/v1alpha1/runtime_class_list.rb +4 -1
  390. data/lib/kube-dsl/dsl/node/v1alpha1/runtime_class_spec.rb +6 -2
  391. data/lib/kube-dsl/dsl/node/v1alpha1/scheduling.rb +5 -2
  392. data/lib/kube-dsl/dsl/node/v1beta1/overhead.rb +2 -0
  393. data/lib/kube-dsl/dsl/node/v1beta1/runtime_class.rb +7 -2
  394. data/lib/kube-dsl/dsl/node/v1beta1/runtime_class_list.rb +4 -1
  395. data/lib/kube-dsl/dsl/node/v1beta1/scheduling.rb +5 -2
  396. data/lib/kube-dsl/dsl/pkg/version/info.rb +19 -1
  397. data/lib/kube-dsl/dsl/policy/v1beta1/allowed_csi_driver.rb +3 -1
  398. data/lib/kube-dsl/dsl/policy/v1beta1/allowed_flex_volume.rb +3 -1
  399. data/lib/kube-dsl/dsl/policy/v1beta1/allowed_host_path.rb +5 -1
  400. data/lib/kube-dsl/dsl/policy/v1beta1/eviction.rb +4 -1
  401. data/lib/kube-dsl/dsl/policy/v1beta1/fs_group_strategy_options.rb +5 -2
  402. data/lib/kube-dsl/dsl/policy/v1beta1/host_port_range.rb +5 -1
  403. data/lib/kube-dsl/dsl/policy/v1beta1/id_range.rb +5 -1
  404. data/lib/kube-dsl/dsl/policy/v1beta1/pod_disruption_budget.rb +4 -0
  405. data/lib/kube-dsl/dsl/policy/v1beta1/pod_disruption_budget_list.rb +4 -1
  406. data/lib/kube-dsl/dsl/policy/v1beta1/pod_disruption_budget_spec.rb +6 -1
  407. data/lib/kube-dsl/dsl/policy/v1beta1/pod_disruption_budget_status.rb +13 -2
  408. data/lib/kube-dsl/dsl/policy/v1beta1/pod_security_policy.rb +3 -0
  409. data/lib/kube-dsl/dsl/policy/v1beta1/pod_security_policy_list.rb +4 -1
  410. data/lib/kube-dsl/dsl/policy/v1beta1/pod_security_policy_spec.rb +46 -8
  411. data/lib/kube-dsl/dsl/policy/v1beta1/run_as_group_strategy_options.rb +5 -2
  412. data/lib/kube-dsl/dsl/policy/v1beta1/run_as_user_strategy_options.rb +5 -2
  413. data/lib/kube-dsl/dsl/policy/v1beta1/runtime_class_strategy_options.rb +5 -1
  414. data/lib/kube-dsl/dsl/policy/v1beta1/se_linux_strategy_options.rb +4 -1
  415. data/lib/kube-dsl/dsl/policy/v1beta1/supplemental_groups_strategy_options.rb +5 -2
  416. data/lib/kube-dsl/dsl/rbac/v1/aggregation_rule.rb +2 -0
  417. data/lib/kube-dsl/dsl/rbac/v1/cluster_role.rb +7 -3
  418. data/lib/kube-dsl/dsl/rbac/v1/cluster_role_binding.rb +6 -2
  419. data/lib/kube-dsl/dsl/rbac/v1/cluster_role_binding_list.rb +4 -1
  420. data/lib/kube-dsl/dsl/rbac/v1/cluster_role_list.rb +4 -1
  421. data/lib/kube-dsl/dsl/rbac/v1/policy_rule.rb +11 -1
  422. data/lib/kube-dsl/dsl/rbac/v1/role.rb +5 -2
  423. data/lib/kube-dsl/dsl/rbac/v1/role_binding.rb +6 -2
  424. data/lib/kube-dsl/dsl/rbac/v1/role_binding_list.rb +4 -1
  425. data/lib/kube-dsl/dsl/rbac/v1/role_list.rb +4 -1
  426. data/lib/kube-dsl/dsl/rbac/v1/role_ref.rb +7 -1
  427. data/lib/kube-dsl/dsl/rbac/v1/subject.rb +9 -1
  428. data/lib/kube-dsl/dsl/rbac/v1alpha1/aggregation_rule.rb +2 -0
  429. data/lib/kube-dsl/dsl/rbac/v1alpha1/cluster_role.rb +7 -3
  430. data/lib/kube-dsl/dsl/rbac/v1alpha1/cluster_role_binding.rb +6 -2
  431. data/lib/kube-dsl/dsl/rbac/v1alpha1/cluster_role_binding_list.rb +4 -1
  432. data/lib/kube-dsl/dsl/rbac/v1alpha1/cluster_role_list.rb +4 -1
  433. data/lib/kube-dsl/dsl/rbac/v1alpha1/policy_rule.rb +11 -1
  434. data/lib/kube-dsl/dsl/rbac/v1alpha1/role.rb +5 -2
  435. data/lib/kube-dsl/dsl/rbac/v1alpha1/role_binding.rb +6 -2
  436. data/lib/kube-dsl/dsl/rbac/v1alpha1/role_binding_list.rb +4 -1
  437. data/lib/kube-dsl/dsl/rbac/v1alpha1/role_list.rb +4 -1
  438. data/lib/kube-dsl/dsl/rbac/v1alpha1/role_ref.rb +7 -1
  439. data/lib/kube-dsl/dsl/rbac/v1alpha1/subject.rb +9 -1
  440. data/lib/kube-dsl/dsl/rbac/v1beta1/aggregation_rule.rb +2 -0
  441. data/lib/kube-dsl/dsl/rbac/v1beta1/cluster_role.rb +7 -3
  442. data/lib/kube-dsl/dsl/rbac/v1beta1/cluster_role_binding.rb +6 -2
  443. data/lib/kube-dsl/dsl/rbac/v1beta1/cluster_role_binding_list.rb +4 -1
  444. data/lib/kube-dsl/dsl/rbac/v1beta1/cluster_role_list.rb +4 -1
  445. data/lib/kube-dsl/dsl/rbac/v1beta1/policy_rule.rb +11 -1
  446. data/lib/kube-dsl/dsl/rbac/v1beta1/role.rb +5 -2
  447. data/lib/kube-dsl/dsl/rbac/v1beta1/role_binding.rb +6 -2
  448. data/lib/kube-dsl/dsl/rbac/v1beta1/role_binding_list.rb +4 -1
  449. data/lib/kube-dsl/dsl/rbac/v1beta1/role_list.rb +4 -1
  450. data/lib/kube-dsl/dsl/rbac/v1beta1/role_ref.rb +7 -1
  451. data/lib/kube-dsl/dsl/rbac/v1beta1/subject.rb +9 -1
  452. data/lib/kube-dsl/dsl/scheduling/v1/priority_class.rb +12 -3
  453. data/lib/kube-dsl/dsl/scheduling/v1/priority_class_list.rb +4 -1
  454. data/lib/kube-dsl/dsl/scheduling/v1alpha1/priority_class.rb +12 -3
  455. data/lib/kube-dsl/dsl/scheduling/v1alpha1/priority_class_list.rb +4 -1
  456. data/lib/kube-dsl/dsl/scheduling/v1beta1/priority_class.rb +12 -3
  457. data/lib/kube-dsl/dsl/scheduling/v1beta1/priority_class_list.rb +4 -1
  458. data/lib/kube-dsl/dsl/settings/v1alpha1/pod_preset.rb +3 -0
  459. data/lib/kube-dsl/dsl/settings/v1alpha1/pod_preset_list.rb +4 -1
  460. data/lib/kube-dsl/dsl/settings/v1alpha1/pod_preset_spec.rb +8 -2
  461. data/lib/kube-dsl/dsl/storage/v1/csi_node.rb +3 -0
  462. data/lib/kube-dsl/dsl/storage/v1/csi_node_driver.rb +9 -2
  463. data/lib/kube-dsl/dsl/storage/v1/csi_node_list.rb +4 -1
  464. data/lib/kube-dsl/dsl/storage/v1/csi_node_spec.rb +2 -0
  465. data/lib/kube-dsl/dsl/storage/v1/storage_class.rb +18 -5
  466. data/lib/kube-dsl/dsl/storage/v1/storage_class_list.rb +4 -1
  467. data/lib/kube-dsl/dsl/storage/v1/volume_attachment.rb +4 -0
  468. data/lib/kube-dsl/dsl/storage/v1/volume_attachment_list.rb +4 -1
  469. data/lib/kube-dsl/dsl/storage/v1/volume_attachment_source.rb +5 -2
  470. data/lib/kube-dsl/dsl/storage/v1/volume_attachment_spec.rb +6 -1
  471. data/lib/kube-dsl/dsl/storage/v1/volume_attachment_status.rb +9 -4
  472. data/lib/kube-dsl/dsl/storage/v1/volume_error.rb +5 -1
  473. data/lib/kube-dsl/dsl/storage/v1/volume_node_resources.rb +3 -1
  474. data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment.rb +4 -0
  475. data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment_list.rb +4 -1
  476. data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment_source.rb +5 -2
  477. data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment_spec.rb +6 -1
  478. data/lib/kube-dsl/dsl/storage/v1alpha1/volume_attachment_status.rb +9 -4
  479. data/lib/kube-dsl/dsl/storage/v1alpha1/volume_error.rb +5 -1
  480. data/lib/kube-dsl/dsl/storage/v1beta1/csi_driver.rb +3 -0
  481. data/lib/kube-dsl/dsl/storage/v1beta1/csi_driver_list.rb +4 -1
  482. data/lib/kube-dsl/dsl/storage/v1beta1/csi_driver_spec.rb +7 -1
  483. data/lib/kube-dsl/dsl/storage/v1beta1/csi_node.rb +3 -0
  484. data/lib/kube-dsl/dsl/storage/v1beta1/csi_node_driver.rb +9 -2
  485. data/lib/kube-dsl/dsl/storage/v1beta1/csi_node_list.rb +4 -1
  486. data/lib/kube-dsl/dsl/storage/v1beta1/csi_node_spec.rb +2 -0
  487. data/lib/kube-dsl/dsl/storage/v1beta1/storage_class.rb +18 -5
  488. data/lib/kube-dsl/dsl/storage/v1beta1/storage_class_list.rb +4 -1
  489. data/lib/kube-dsl/dsl/storage/v1beta1/volume_attachment.rb +4 -0
  490. data/lib/kube-dsl/dsl/storage/v1beta1/volume_attachment_list.rb +4 -1
  491. data/lib/kube-dsl/dsl/storage/v1beta1/volume_attachment_source.rb +5 -2
  492. data/lib/kube-dsl/dsl/storage/v1beta1/volume_attachment_spec.rb +6 -1
  493. data/lib/kube-dsl/dsl/storage/v1beta1/volume_attachment_status.rb +9 -4
  494. data/lib/kube-dsl/dsl/storage/v1beta1/volume_error.rb +5 -1
  495. data/lib/kube-dsl/dsl/storage/v1beta1/volume_node_resources.rb +3 -1
  496. data/lib/kube-dsl/dsl/v1/affinity.rb +4 -0
  497. data/lib/kube-dsl/dsl/v1/attached_volume.rb +5 -1
  498. data/lib/kube-dsl/dsl/v1/aws_elastic_block_store_volume_source.rb +9 -1
  499. data/lib/kube-dsl/dsl/v1/azure_disk_volume_source.rb +13 -1
  500. data/lib/kube-dsl/dsl/v1/azure_file_persistent_volume_source.rb +9 -1
  501. data/lib/kube-dsl/dsl/v1/azure_file_volume_source.rb +7 -1
  502. data/lib/kube-dsl/dsl/v1/binding.rb +3 -0
  503. data/lib/kube-dsl/dsl/v1/capabilities.rb +5 -1
  504. data/lib/kube-dsl/dsl/v1/ceph_fs_persistent_volume_source.rb +13 -2
  505. data/lib/kube-dsl/dsl/v1/ceph_fs_volume_source.rb +13 -2
  506. data/lib/kube-dsl/dsl/v1/cinder_persistent_volume_source.rb +9 -2
  507. data/lib/kube-dsl/dsl/v1/cinder_volume_source.rb +9 -2
  508. data/lib/kube-dsl/dsl/v1/client_ip_config.rb +3 -1
  509. data/lib/kube-dsl/dsl/v1/component_condition.rb +9 -1
  510. data/lib/kube-dsl/dsl/v1/component_status.rb +4 -1
  511. data/lib/kube-dsl/dsl/v1/component_status_list.rb +4 -1
  512. data/lib/kube-dsl/dsl/v1/config_map.rb +7 -3
  513. data/lib/kube-dsl/dsl/v1/config_map_env_source.rb +5 -1
  514. data/lib/kube-dsl/dsl/v1/config_map_key_selector.rb +7 -1
  515. data/lib/kube-dsl/dsl/v1/config_map_list.rb +4 -1
  516. data/lib/kube-dsl/dsl/v1/config_map_node_config_source.rb +11 -1
  517. data/lib/kube-dsl/dsl/v1/config_map_projection.rb +7 -2
  518. data/lib/kube-dsl/dsl/v1/config_map_volume_source.rb +9 -2
  519. data/lib/kube-dsl/dsl/v1/container.rb +47 -14
  520. data/lib/kube-dsl/dsl/v1/container_image.rb +5 -1
  521. data/lib/kube-dsl/dsl/v1/container_port.rb +11 -1
  522. data/lib/kube-dsl/dsl/v1/container_state.rb +4 -0
  523. data/lib/kube-dsl/dsl/v1/container_state_running.rb +3 -1
  524. data/lib/kube-dsl/dsl/v1/container_state_terminated.rb +15 -1
  525. data/lib/kube-dsl/dsl/v1/container_state_waiting.rb +5 -1
  526. data/lib/kube-dsl/dsl/v1/container_status.rb +18 -2
  527. data/lib/kube-dsl/dsl/v1/csi_persistent_volume_source.rb +18 -5
  528. data/lib/kube-dsl/dsl/v1/csi_volume_source.rb +10 -2
  529. data/lib/kube-dsl/dsl/v1/daemon_endpoint.rb +3 -1
  530. data/lib/kube-dsl/dsl/v1/downward_api_projection.rb +2 -0
  531. data/lib/kube-dsl/dsl/v1/downward_api_volume_file.rb +8 -2
  532. data/lib/kube-dsl/dsl/v1/downward_api_volume_source.rb +4 -1
  533. data/lib/kube-dsl/dsl/v1/empty_dir_volume_source.rb +5 -1
  534. data/lib/kube-dsl/dsl/v1/endpoint_address.rb +8 -1
  535. data/lib/kube-dsl/dsl/v1/endpoint_port.rb +7 -1
  536. data/lib/kube-dsl/dsl/v1/endpoint_subset.rb +4 -0
  537. data/lib/kube-dsl/dsl/v1/endpoints.rb +5 -2
  538. data/lib/kube-dsl/dsl/v1/endpoints_list.rb +4 -1
  539. data/lib/kube-dsl/dsl/v1/env_from_source.rb +6 -2
  540. data/lib/kube-dsl/dsl/v1/env_var.rb +6 -1
  541. data/lib/kube-dsl/dsl/v1/env_var_source.rb +5 -0
  542. data/lib/kube-dsl/dsl/v1/ephemeral_container.rb +49 -14
  543. data/lib/kube-dsl/dsl/v1/event.rb +32 -7
  544. data/lib/kube-dsl/dsl/v1/event_list.rb +4 -1
  545. data/lib/kube-dsl/dsl/v1/event_series.rb +7 -1
  546. data/lib/kube-dsl/dsl/v1/event_source.rb +5 -1
  547. data/lib/kube-dsl/dsl/v1/exec_action.rb +3 -1
  548. data/lib/kube-dsl/dsl/v1/fc_volume_source.rb +11 -1
  549. data/lib/kube-dsl/dsl/v1/flex_persistent_volume_source.rb +11 -3
  550. data/lib/kube-dsl/dsl/v1/flex_volume_source.rb +11 -3
  551. data/lib/kube-dsl/dsl/v1/flocker_volume_source.rb +5 -1
  552. data/lib/kube-dsl/dsl/v1/gce_persistent_disk_volume_source.rb +9 -1
  553. data/lib/kube-dsl/dsl/v1/git_repo_volume_source.rb +7 -1
  554. data/lib/kube-dsl/dsl/v1/glusterfs_persistent_volume_source.rb +9 -1
  555. data/lib/kube-dsl/dsl/v1/glusterfs_volume_source.rb +7 -1
  556. data/lib/kube-dsl/dsl/v1/handler.rb +4 -0
  557. data/lib/kube-dsl/dsl/v1/host_alias.rb +5 -1
  558. data/lib/kube-dsl/dsl/v1/host_path_volume_source.rb +5 -1
  559. data/lib/kube-dsl/dsl/v1/http_get_action.rb +11 -2
  560. data/lib/kube-dsl/dsl/v1/http_header.rb +5 -1
  561. data/lib/kube-dsl/dsl/v1/iscsi_persistent_volume_source.rb +23 -2
  562. data/lib/kube-dsl/dsl/v1/iscsi_volume_source.rb +23 -2
  563. data/lib/kube-dsl/dsl/v1/key_to_path.rb +7 -1
  564. data/lib/kube-dsl/dsl/v1/lifecycle.rb +3 -0
  565. data/lib/kube-dsl/dsl/v1/limit_range.rb +3 -0
  566. data/lib/kube-dsl/dsl/v1/limit_range_item.rb +9 -2
  567. data/lib/kube-dsl/dsl/v1/limit_range_list.rb +4 -1
  568. data/lib/kube-dsl/dsl/v1/limit_range_spec.rb +2 -0
  569. data/lib/kube-dsl/dsl/v1/load_balancer_ingress.rb +5 -1
  570. data/lib/kube-dsl/dsl/v1/load_balancer_status.rb +2 -0
  571. data/lib/kube-dsl/dsl/v1/local_object_reference.rb +3 -1
  572. data/lib/kube-dsl/dsl/v1/local_volume_source.rb +5 -1
  573. data/lib/kube-dsl/dsl/v1/namespace.rb +4 -0
  574. data/lib/kube-dsl/dsl/v1/namespace_condition.rb +11 -1
  575. data/lib/kube-dsl/dsl/v1/namespace_list.rb +4 -1
  576. data/lib/kube-dsl/dsl/v1/namespace_spec.rb +3 -1
  577. data/lib/kube-dsl/dsl/v1/namespace_status.rb +5 -2
  578. data/lib/kube-dsl/dsl/v1/nfs_volume_source.rb +7 -1
  579. data/lib/kube-dsl/dsl/v1/node.rb +4 -0
  580. data/lib/kube-dsl/dsl/v1/node_address.rb +5 -1
  581. data/lib/kube-dsl/dsl/v1/node_affinity.rb +3 -0
  582. data/lib/kube-dsl/dsl/v1/node_condition.rb +13 -1
  583. data/lib/kube-dsl/dsl/v1/node_config_source.rb +2 -0
  584. data/lib/kube-dsl/dsl/v1/node_config_status.rb +7 -2
  585. data/lib/kube-dsl/dsl/v1/node_daemon_endpoints.rb +2 -0
  586. data/lib/kube-dsl/dsl/v1/node_list.rb +4 -1
  587. data/lib/kube-dsl/dsl/v1/node_selector.rb +2 -0
  588. data/lib/kube-dsl/dsl/v1/node_selector_requirement.rb +7 -1
  589. data/lib/kube-dsl/dsl/v1/node_selector_term.rb +3 -0
  590. data/lib/kube-dsl/dsl/v1/node_spec.rb +16 -4
  591. data/lib/kube-dsl/dsl/v1/node_status.rb +24 -11
  592. data/lib/kube-dsl/dsl/v1/node_system_info.rb +21 -1
  593. data/lib/kube-dsl/dsl/v1/object_field_selector.rb +5 -1
  594. data/lib/kube-dsl/dsl/v1/object_reference.rb +15 -1
  595. data/lib/kube-dsl/dsl/v1/persistent_volume.rb +4 -0
  596. data/lib/kube-dsl/dsl/v1/persistent_volume_claim.rb +4 -0
  597. data/lib/kube-dsl/dsl/v1/persistent_volume_claim_condition.rb +13 -1
  598. data/lib/kube-dsl/dsl/v1/persistent_volume_claim_list.rb +4 -1
  599. data/lib/kube-dsl/dsl/v1/persistent_volume_claim_spec.rb +15 -4
  600. data/lib/kube-dsl/dsl/v1/persistent_volume_claim_status.rb +10 -4
  601. data/lib/kube-dsl/dsl/v1/persistent_volume_claim_volume_source.rb +5 -1
  602. data/lib/kube-dsl/dsl/v1/persistent_volume_list.rb +4 -1
  603. data/lib/kube-dsl/dsl/v1/persistent_volume_spec.rb +42 -7
  604. data/lib/kube-dsl/dsl/v1/persistent_volume_status.rb +7 -1
  605. data/lib/kube-dsl/dsl/v1/photon_persistent_disk_volume_source.rb +5 -1
  606. data/lib/kube-dsl/dsl/v1/pod.rb +4 -0
  607. data/lib/kube-dsl/dsl/v1/pod_affinity.rb +3 -0
  608. data/lib/kube-dsl/dsl/v1/pod_affinity_term.rb +7 -2
  609. data/lib/kube-dsl/dsl/v1/pod_anti_affinity.rb +3 -0
  610. data/lib/kube-dsl/dsl/v1/pod_condition.rb +13 -1
  611. data/lib/kube-dsl/dsl/v1/pod_dns_config.rb +7 -2
  612. data/lib/kube-dsl/dsl/v1/pod_dns_config_option.rb +5 -1
  613. data/lib/kube-dsl/dsl/v1/pod_ip.rb +3 -1
  614. data/lib/kube-dsl/dsl/v1/pod_list.rb +4 -1
  615. data/lib/kube-dsl/dsl/v1/pod_readiness_gate.rb +3 -1
  616. data/lib/kube-dsl/dsl/v1/pod_security_context.rb +16 -3
  617. data/lib/kube-dsl/dsl/v1/pod_spec.rb +71 -17
  618. data/lib/kube-dsl/dsl/v1/pod_status.rb +27 -6
  619. data/lib/kube-dsl/dsl/v1/pod_template.rb +3 -0
  620. data/lib/kube-dsl/dsl/v1/pod_template_list.rb +4 -1
  621. data/lib/kube-dsl/dsl/v1/pod_template_spec.rb +3 -0
  622. data/lib/kube-dsl/dsl/v1/portworx_volume_source.rb +7 -1
  623. data/lib/kube-dsl/dsl/v1/preferred_scheduling_term.rb +5 -2
  624. data/lib/kube-dsl/dsl/v1/probe.rb +17 -4
  625. data/lib/kube-dsl/dsl/v1/projected_volume_source.rb +4 -1
  626. data/lib/kube-dsl/dsl/v1/quobyte_volume_source.rb +13 -1
  627. data/lib/kube-dsl/dsl/v1/rbd_persistent_volume_source.rb +17 -2
  628. data/lib/kube-dsl/dsl/v1/rbd_volume_source.rb +17 -2
  629. data/lib/kube-dsl/dsl/v1/replication_controller.rb +4 -0
  630. data/lib/kube-dsl/dsl/v1/replication_controller_condition.rb +11 -1
  631. data/lib/kube-dsl/dsl/v1/replication_controller_list.rb +4 -1
  632. data/lib/kube-dsl/dsl/v1/replication_controller_spec.rb +9 -3
  633. data/lib/kube-dsl/dsl/v1/replication_controller_status.rb +13 -2
  634. data/lib/kube-dsl/dsl/v1/resource_field_selector.rb +7 -1
  635. data/lib/kube-dsl/dsl/v1/resource_quota.rb +4 -0
  636. data/lib/kube-dsl/dsl/v1/resource_quota_list.rb +4 -1
  637. data/lib/kube-dsl/dsl/v1/resource_quota_spec.rb +8 -4
  638. data/lib/kube-dsl/dsl/v1/resource_quota_status.rb +3 -0
  639. data/lib/kube-dsl/dsl/v1/resource_requirements.rb +3 -0
  640. data/lib/kube-dsl/dsl/v1/scale_io_persistent_volume_source.rb +21 -2
  641. data/lib/kube-dsl/dsl/v1/scale_io_volume_source.rb +21 -2
  642. data/lib/kube-dsl/dsl/v1/scope_selector.rb +2 -0
  643. data/lib/kube-dsl/dsl/v1/scoped_resource_selector_requirement.rb +7 -1
  644. data/lib/kube-dsl/dsl/v1/se_linux_options.rb +9 -1
  645. data/lib/kube-dsl/dsl/v1/secret.rb +9 -4
  646. data/lib/kube-dsl/dsl/v1/secret_env_source.rb +5 -1
  647. data/lib/kube-dsl/dsl/v1/secret_key_selector.rb +7 -1
  648. data/lib/kube-dsl/dsl/v1/secret_list.rb +4 -1
  649. data/lib/kube-dsl/dsl/v1/secret_projection.rb +7 -2
  650. data/lib/kube-dsl/dsl/v1/secret_reference.rb +5 -1
  651. data/lib/kube-dsl/dsl/v1/secret_volume_source.rb +9 -2
  652. data/lib/kube-dsl/dsl/v1/security_context.rb +19 -2
  653. data/lib/kube-dsl/dsl/v1/service.rb +4 -0
  654. data/lib/kube-dsl/dsl/v1/service_account.rb +9 -4
  655. data/lib/kube-dsl/dsl/v1/service_account_list.rb +4 -1
  656. data/lib/kube-dsl/dsl/v1/service_account_token_projection.rb +7 -1
  657. data/lib/kube-dsl/dsl/v1/service_list.rb +4 -1
  658. data/lib/kube-dsl/dsl/v1/service_port.rb +11 -1
  659. data/lib/kube-dsl/dsl/v1/service_spec.rb +32 -5
  660. data/lib/kube-dsl/dsl/v1/service_status.rb +2 -0
  661. data/lib/kube-dsl/dsl/v1/session_affinity_config.rb +2 -0
  662. data/lib/kube-dsl/dsl/v1/storage_os_persistent_volume_source.rb +11 -2
  663. data/lib/kube-dsl/dsl/v1/storage_os_volume_source.rb +11 -2
  664. data/lib/kube-dsl/dsl/v1/sysctl.rb +5 -1
  665. data/lib/kube-dsl/dsl/v1/taint.rb +9 -1
  666. data/lib/kube-dsl/dsl/v1/tcp_socket_action.rb +5 -1
  667. data/lib/kube-dsl/dsl/v1/toleration.rb +11 -1
  668. data/lib/kube-dsl/dsl/v1/topology_selector_label_requirement.rb +5 -1
  669. data/lib/kube-dsl/dsl/v1/topology_selector_term.rb +2 -0
  670. data/lib/kube-dsl/dsl/v1/topology_spread_constraint.rb +9 -2
  671. data/lib/kube-dsl/dsl/v1/typed_local_object_reference.rb +7 -1
  672. data/lib/kube-dsl/dsl/v1/volume.rb +32 -2
  673. data/lib/kube-dsl/dsl/v1/volume_device.rb +5 -1
  674. data/lib/kube-dsl/dsl/v1/volume_mount.rb +13 -1
  675. data/lib/kube-dsl/dsl/v1/volume_node_affinity.rb +2 -0
  676. data/lib/kube-dsl/dsl/v1/volume_projection.rb +5 -0
  677. data/lib/kube-dsl/dsl/v1/vsphere_virtual_disk_volume_source.rb +9 -1
  678. data/lib/kube-dsl/dsl/v1/weighted_pod_affinity_term.rb +5 -2
  679. data/lib/kube-dsl/dsl/v1/windows_security_context_options.rb +7 -1
  680. data/lib/kube-dsl/dsl_object.rb +1 -0
  681. data/lib/kube-dsl/field_res.rb +37 -0
  682. data/lib/kube-dsl/key_value_field_res.rb +32 -0
  683. data/lib/kube-dsl/key_value_fields.rb +1 -1
  684. data/lib/kube-dsl/object_field_res.rb +35 -0
  685. data/lib/kube-dsl/resource_meta.rb +27 -64
  686. data/lib/kube-dsl/string_helpers.rb +14 -0
  687. data/lib/kube-dsl/validations.rb +222 -0
  688. data/lib/kube-dsl/version.rb +1 -1
  689. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b7a616f5571a180de6f04decd298d902b823148b10596292fa69ab68ce7f2ddb
4
- data.tar.gz: 51d822c6644973f06cb3f8c819eef7bf99f21d54ff7c7820f0e3105b712a1880
3
+ metadata.gz: 4c028c471596448f6e06ff1aa0bf50bc3ccdd93e22559a9805d4078921571f8a
4
+ data.tar.gz: b6e10a2a2f59d21af138e18db5a46b015a331e762642f7d2292daa69e9f4365f
5
5
  SHA512:
6
- metadata.gz: 821f0332b1aa16b3ba3ffc2fad7a3f453878fa97993dfb71fc74386dc5a0b1aecd0e56f9bd86518a869721d1a5d21a7c2f433edc8bc82e378bba5b1b1900929f
7
- data.tar.gz: 6882c287e01af9c05d32a8729e1999a485a75bfec2fd433a53d65efbbd1de0d6fa6dc72b4f6169150d7f00b419e650d8ac4766308f23ba9d766c7bd7af0df354
6
+ metadata.gz: 7bda26da0d442fbe59af67f1a8c60aad632bb91f789332aa951032d6f25be6dd72461b20c0e24e0ed995f15f7a925ead791feca3b9e99a0d226cc6cf4c3dc423
7
+ data.tar.gz: 8102bb8df5fdc935f3df34c9ff9a2ae2e3d0f1c6eb3222441d4b082c9cc932a7d5d9856028435726b0d4821e94413e4af377d1869fcfba1e08153052d25f9af0
@@ -1,3 +1,9 @@
1
+ ## 0.4.0
2
+ * Add validations.
3
+ - You can now call `#valid?` and `#validate` methods on DSL objects.
4
+ * Fixed several bad inflections causing Ruby keywords to appear in unexpected places, namely in `#serialize` methods.
5
+ * Prevent JSON schema "$" variables (eg. "$ref") from being added as fields.
6
+
1
7
  ## 0.3.0
2
8
  * Introduce the `key_value_field` method to simplify creating key/value fields.
3
9
  * Add `#merge` and `#merge!` methods to anything that includes or extends `ValueFields`.
data/Rakefile CHANGED
@@ -39,6 +39,10 @@ task :generate do
39
39
 
40
40
  inflections.plural('tls', 'tlses')
41
41
  inflections.singular('tls', 'tls')
42
+ inflections.plural('enum', 'enums')
43
+ inflections.plural('one_of', 'one_ofs')
44
+ inflections.plural('any_of', 'any_ofs')
45
+ inflections.plural('all_of', 'all_ofs')
42
46
  end
43
47
  )
44
48
 
@@ -1,19 +1,25 @@
1
1
  module KubeDSL
2
2
  KUBERNETES_VERSION = '1.17.4'.freeze
3
3
 
4
+ autoload :ArrayFieldRes, 'kube-dsl/array_field_res'
4
5
  autoload :Builder, 'kube-dsl/builder'
6
+ autoload :DefaultFieldRes, 'kube-dsl/default_field_res'
5
7
  autoload :DSL, 'kube-dsl/dsl'
6
8
  autoload :DSLObject, 'kube-dsl/dsl_object'
7
9
  autoload :Entrypoint, 'kube-dsl/entrypoint'
8
10
  autoload :ExternalRef, 'kube-dsl/external_ref'
9
11
  autoload :ExternalResourceMeta, 'kube-dsl/external_resource_meta'
12
+ autoload :FieldRes, 'kube-dsl/field_res'
10
13
  autoload :Generator, 'kube-dsl/generator'
11
14
  autoload :Inflector, 'kube-dsl/inflector'
12
15
  autoload :KeyValueFields, 'kube-dsl/key_value_fields'
16
+ autoload :KeyValueFieldRes, 'kube-dsl/key_value_field_res'
17
+ autoload :ObjectFieldRes, 'kube-dsl/object_field_res'
13
18
  autoload :Ref, 'kube-dsl/ref'
14
19
  autoload :Resource, 'kube-dsl/resource'
15
20
  autoload :ResourceMeta, 'kube-dsl/resource_meta'
16
21
  autoload :StringHelpers, 'kube-dsl/string_helpers'
22
+ autoload :Validations, 'kube-dsl/validations'
17
23
  autoload :ValueFields, 'kube-dsl/value_fields'
18
24
 
19
25
  extend Entrypoint
@@ -0,0 +1,41 @@
1
+ module KubeDSL
2
+ class ArrayFieldRes
3
+ include StringHelpers
4
+
5
+ attr_reader :name, :required, :elem_res
6
+
7
+ alias_method :required?, :required
8
+
9
+ def initialize(name, required, elem_res)
10
+ @name = name
11
+ @required = required
12
+ @elem_res = elem_res
13
+ end
14
+
15
+ def fields_to_ruby(inflector)
16
+ [
17
+ "array_field(:#{underscore(inflector.singularize(name))})"\
18
+ " { #{elem_res.ref.ruby_namespace.join('::')}::#{elem_res.ref.kind}.new }"
19
+ ]
20
+ end
21
+
22
+ def validations(inflector)
23
+ [].tap do |result|
24
+ ruby_type = [*elem_res.ref.ruby_namespace, elem_res.ref.kind].join('::')
25
+ result << "validates :#{plural_name(inflector)}, array: { kind_of: #{ruby_type} }, presence: #{required? ? 'true' : 'false'}"
26
+ end
27
+ end
28
+
29
+ def serialize_call(inflector)
30
+ "#{plural_name(inflector)}.map(&:serialize)"
31
+ end
32
+
33
+ private
34
+
35
+ def plural_name(inflector)
36
+ inflector.pluralize(
37
+ underscore(inflector.singularize(name))
38
+ )
39
+ end
40
+ end
41
+ end
@@ -82,7 +82,6 @@ module KubeDSL
82
82
  end
83
83
 
84
84
  res = resource_cache[ref.str] = ref.meta
85
-
86
85
  add_doc_to_resource(res, ref.document)
87
86
 
88
87
  res
@@ -151,6 +150,7 @@ module KubeDSL
151
150
 
152
151
  def add_props_to_resource(properties, res)
153
152
  properties.each do |name, prop|
153
+ next if name.start_with?('$')
154
154
  add_prop_to_resource(name, prop, res)
155
155
  end
156
156
  end
@@ -168,27 +168,34 @@ module KubeDSL
168
168
  end
169
169
 
170
170
  def add_prop_to_resource(name, prop, res)
171
+ required = prop.include?('type') && !prop['type'].include?('null')
172
+
171
173
  case Array(prop['type']).first
172
174
  when 'array'
173
- if ref_str = prop['items']['$ref']
175
+ if ref_str = prop.dig('items', '$ref')
174
176
  ref = resolve_ref(ref_str)
175
- res.array_fields[name] = resource_from_ref(ref)
177
+ res.fields[name] = ArrayFieldRes.new(
178
+ name, required, resource_from_ref(ref)
179
+ )
176
180
  else
177
- res.fields << name
181
+ res.fields[name] = FieldRes.new(
182
+ name, (prop.dig('items', 'types') || ['string']).first, required
183
+ )
178
184
  end
179
185
 
180
186
  when 'object' # this means key/value pairs
181
- fmt = prop['additionalProperties']['format'] || 'string'
182
- res.key_value_fields[name] = fmt
187
+ type = prop.dig('additionalProperties', 'format') || 'string'
188
+ res.fields[name] = KeyValueFieldRes.new(name, res, type, required)
183
189
 
184
190
  when 'string', 'integer', 'number', 'boolean', 'date-time'
185
191
  enum = prop['enum']
186
192
 
187
193
  if enum&.size == 1
188
- # use JSON.generate to add quotes around strings, etc
189
- res.default_fields[name] = JSON.generate(enum.first)
194
+ res.fields[name] = DefaultFieldRes.new(name, res, enum)
190
195
  else
191
- res.fields << name
196
+ res.fields[name] = FieldRes.new(
197
+ name, prop['type'].first, required
198
+ )
192
199
  end
193
200
 
194
201
  else
@@ -196,10 +203,14 @@ module KubeDSL
196
203
 
197
204
  if ref.object?
198
205
  # this ref refers to a nested type
199
- res.object_fields[name] = resource_from_ref(ref)
206
+ res.fields[name] = ObjectFieldRes.new(
207
+ name, resource_from_ref(ref)
208
+ )
200
209
  else
201
210
  # this ref refers to just a field
202
- res.fields << name
211
+ res.fields[name] = FieldRes.new(
212
+ name, (prop.dig('items', 'types') || ['string']).first, required
213
+ )
203
214
  end
204
215
  end
205
216
  end
@@ -0,0 +1,28 @@
1
+ require 'json'
2
+
3
+ module KubeDSL
4
+ class DefaultFieldRes
5
+ include StringHelpers
6
+
7
+ attr_reader :name, :res, :allowed_values
8
+
9
+ def initialize(name, res, allowed_values)
10
+ @name = name
11
+ @res = res
12
+ @allowed_values = allowed_values
13
+ end
14
+
15
+ def fields_to_ruby(_inflector)
16
+ []
17
+ end
18
+
19
+ def validations(_inflector)
20
+ []
21
+ end
22
+
23
+ def serialize_call(_inflector)
24
+ # use JSON.generate to add quotes around strings, etc
25
+ JSON.generate(allowed_values.first)
26
+ end
27
+ end
28
+ end
@@ -1,24 +1,42 @@
1
1
  module KubeDSL::DSL::Admissionregistration::V1
2
2
  class MutatingWebhook < ::KubeDSL::DSLObject
3
- value_fields :admission_review_versions, :failure_policy, :match_policy, :name, :reinvocation_policy, :side_effects, :timeout_seconds
4
- array_field(:rule) { KubeDSL::DSL::Admissionregistration::V1::RuleWithOperations.new }
3
+ value_field :admission_review_versions
5
4
  object_field(:client_config) { KubeDSL::DSL::Admissionregistration::V1::WebhookClientConfig.new }
5
+ value_field :failure_policy
6
+ value_field :match_policy
7
+ value_field :name
6
8
  object_field(:namespace_selector) { KubeDSL::DSL::Meta::V1::LabelSelector.new }
7
9
  object_field(:object_selector) { KubeDSL::DSL::Meta::V1::LabelSelector.new }
10
+ value_field :reinvocation_policy
11
+ array_field(:rule) { KubeDSL::DSL::Admissionregistration::V1::RuleWithOperations.new }
12
+ value_field :side_effects
13
+ value_field :timeout_seconds
14
+
15
+ validates :admission_review_versions, field: { format: :string }, presence: false
16
+ validates :client_config, object: { kind_of: KubeDSL::DSL::Admissionregistration::V1::WebhookClientConfig }
17
+ validates :failure_policy, field: { format: :string }, presence: false
18
+ validates :match_policy, field: { format: :string }, presence: false
19
+ validates :name, field: { format: :string }, presence: false
20
+ validates :namespace_selector, object: { kind_of: KubeDSL::DSL::Meta::V1::LabelSelector }
21
+ validates :object_selector, object: { kind_of: KubeDSL::DSL::Meta::V1::LabelSelector }
22
+ validates :reinvocation_policy, field: { format: :string }, presence: false
23
+ validates :rules, array: { kind_of: KubeDSL::DSL::Admissionregistration::V1::RuleWithOperations }, presence: false
24
+ validates :side_effects, field: { format: :string }, presence: false
25
+ validates :timeout_seconds, field: { format: :integer }, presence: false
8
26
 
9
27
  def serialize
10
28
  {}.tap do |result|
11
29
  result[:admissionReviewVersions] = admission_review_versions
30
+ result[:clientConfig] = client_config.serialize
12
31
  result[:failurePolicy] = failure_policy
13
32
  result[:matchPolicy] = match_policy
14
33
  result[:name] = name
34
+ result[:namespaceSelector] = namespace_selector.serialize
35
+ result[:objectSelector] = object_selector.serialize
15
36
  result[:reinvocationPolicy] = reinvocation_policy
37
+ result[:rules] = rules.map(&:serialize)
16
38
  result[:sideEffects] = side_effects
17
39
  result[:timeoutSeconds] = timeout_seconds
18
- result[:rules] = rules.map(&:serialize)
19
- result[:clientConfig] = client_config.serialize
20
- result[:namespaceSelector] = namespace_selector.serialize
21
- result[:objectSelector] = object_selector.serialize
22
40
  end
23
41
  end
24
42
 
@@ -1,14 +1,17 @@
1
1
  module KubeDSL::DSL::Admissionregistration::V1
2
2
  class MutatingWebhookConfiguration < ::KubeDSL::DSLObject
3
- array_field(:webhook) { KubeDSL::DSL::Admissionregistration::V1::MutatingWebhook.new }
4
3
  object_field(:metadata) { KubeDSL::DSL::Meta::V1::ObjectMeta.new }
4
+ array_field(:webhook) { KubeDSL::DSL::Admissionregistration::V1::MutatingWebhook.new }
5
+
6
+ validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ObjectMeta }
7
+ validates :webhooks, array: { kind_of: KubeDSL::DSL::Admissionregistration::V1::MutatingWebhook }, presence: false
5
8
 
6
9
  def serialize
7
10
  {}.tap do |result|
8
11
  result[:apiVersion] = "admissionregistration.k8s.io/v1"
9
12
  result[:kind] = "MutatingWebhookConfiguration"
10
- result[:webhooks] = webhooks.map(&:serialize)
11
13
  result[:metadata] = metadata.serialize
14
+ result[:webhooks] = webhooks.map(&:serialize)
12
15
  end
13
16
  end
14
17
 
@@ -3,11 +3,14 @@ module KubeDSL::DSL::Admissionregistration::V1
3
3
  array_field(:item) { KubeDSL::DSL::Admissionregistration::V1::MutatingWebhookConfiguration.new }
4
4
  object_field(:metadata) { KubeDSL::DSL::Meta::V1::ListMeta.new }
5
5
 
6
+ validates :items, array: { kind_of: KubeDSL::DSL::Admissionregistration::V1::MutatingWebhookConfiguration }, presence: false
7
+ validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ListMeta }
8
+
6
9
  def serialize
7
10
  {}.tap do |result|
8
11
  result[:apiVersion] = "admissionregistration.k8s.io/v1"
9
- result[:kind] = "MutatingWebhookConfigurationList"
10
12
  result[:items] = items.map(&:serialize)
13
+ result[:kind] = "MutatingWebhookConfigurationList"
11
14
  result[:metadata] = metadata.serialize
12
15
  end
13
16
  end
@@ -1,6 +1,16 @@
1
1
  module KubeDSL::DSL::Admissionregistration::V1
2
2
  class RuleWithOperations < ::KubeDSL::DSLObject
3
- value_fields :api_groups, :api_versions, :operations, :resources, :scope
3
+ value_field :api_groups
4
+ value_field :api_versions
5
+ value_field :operations
6
+ value_field :resources
7
+ value_field :scope
8
+
9
+ validates :api_groups, field: { format: :string }, presence: false
10
+ validates :api_versions, field: { format: :string }, presence: false
11
+ validates :operations, field: { format: :string }, presence: false
12
+ validates :resources, field: { format: :string }, presence: false
13
+ validates :scope, field: { format: :string }, presence: false
4
14
 
5
15
  def serialize
6
16
  {}.tap do |result|
@@ -1,6 +1,14 @@
1
1
  module KubeDSL::DSL::Admissionregistration::V1
2
2
  class ServiceReference < ::KubeDSL::DSLObject
3
- value_fields :name, :namespace, :path, :port
3
+ value_field :name
4
+ value_field :namespace
5
+ value_field :path
6
+ value_field :port
7
+
8
+ validates :name, field: { format: :string }, presence: false
9
+ validates :namespace, field: { format: :string }, presence: false
10
+ validates :path, field: { format: :string }, presence: false
11
+ validates :port, field: { format: :integer }, presence: false
4
12
 
5
13
  def serialize
6
14
  {}.tap do |result|
@@ -1,23 +1,39 @@
1
1
  module KubeDSL::DSL::Admissionregistration::V1
2
2
  class ValidatingWebhook < ::KubeDSL::DSLObject
3
- value_fields :admission_review_versions, :failure_policy, :match_policy, :name, :side_effects, :timeout_seconds
4
- array_field(:rule) { KubeDSL::DSL::Admissionregistration::V1::RuleWithOperations.new }
3
+ value_field :admission_review_versions
5
4
  object_field(:client_config) { KubeDSL::DSL::Admissionregistration::V1::WebhookClientConfig.new }
5
+ value_field :failure_policy
6
+ value_field :match_policy
7
+ value_field :name
6
8
  object_field(:namespace_selector) { KubeDSL::DSL::Meta::V1::LabelSelector.new }
7
9
  object_field(:object_selector) { KubeDSL::DSL::Meta::V1::LabelSelector.new }
10
+ array_field(:rule) { KubeDSL::DSL::Admissionregistration::V1::RuleWithOperations.new }
11
+ value_field :side_effects
12
+ value_field :timeout_seconds
13
+
14
+ validates :admission_review_versions, field: { format: :string }, presence: false
15
+ validates :client_config, object: { kind_of: KubeDSL::DSL::Admissionregistration::V1::WebhookClientConfig }
16
+ validates :failure_policy, field: { format: :string }, presence: false
17
+ validates :match_policy, field: { format: :string }, presence: false
18
+ validates :name, field: { format: :string }, presence: false
19
+ validates :namespace_selector, object: { kind_of: KubeDSL::DSL::Meta::V1::LabelSelector }
20
+ validates :object_selector, object: { kind_of: KubeDSL::DSL::Meta::V1::LabelSelector }
21
+ validates :rules, array: { kind_of: KubeDSL::DSL::Admissionregistration::V1::RuleWithOperations }, presence: false
22
+ validates :side_effects, field: { format: :string }, presence: false
23
+ validates :timeout_seconds, field: { format: :integer }, presence: false
8
24
 
9
25
  def serialize
10
26
  {}.tap do |result|
11
27
  result[:admissionReviewVersions] = admission_review_versions
28
+ result[:clientConfig] = client_config.serialize
12
29
  result[:failurePolicy] = failure_policy
13
30
  result[:matchPolicy] = match_policy
14
31
  result[:name] = name
15
- result[:sideEffects] = side_effects
16
- result[:timeoutSeconds] = timeout_seconds
17
- result[:rules] = rules.map(&:serialize)
18
- result[:clientConfig] = client_config.serialize
19
32
  result[:namespaceSelector] = namespace_selector.serialize
20
33
  result[:objectSelector] = object_selector.serialize
34
+ result[:rules] = rules.map(&:serialize)
35
+ result[:sideEffects] = side_effects
36
+ result[:timeoutSeconds] = timeout_seconds
21
37
  end
22
38
  end
23
39
 
@@ -1,14 +1,17 @@
1
1
  module KubeDSL::DSL::Admissionregistration::V1
2
2
  class ValidatingWebhookConfiguration < ::KubeDSL::DSLObject
3
- array_field(:webhook) { KubeDSL::DSL::Admissionregistration::V1::ValidatingWebhook.new }
4
3
  object_field(:metadata) { KubeDSL::DSL::Meta::V1::ObjectMeta.new }
4
+ array_field(:webhook) { KubeDSL::DSL::Admissionregistration::V1::ValidatingWebhook.new }
5
+
6
+ validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ObjectMeta }
7
+ validates :webhooks, array: { kind_of: KubeDSL::DSL::Admissionregistration::V1::ValidatingWebhook }, presence: false
5
8
 
6
9
  def serialize
7
10
  {}.tap do |result|
8
11
  result[:apiVersion] = "admissionregistration.k8s.io/v1"
9
12
  result[:kind] = "ValidatingWebhookConfiguration"
10
- result[:webhooks] = webhooks.map(&:serialize)
11
13
  result[:metadata] = metadata.serialize
14
+ result[:webhooks] = webhooks.map(&:serialize)
12
15
  end
13
16
  end
14
17
 
@@ -3,11 +3,14 @@ module KubeDSL::DSL::Admissionregistration::V1
3
3
  array_field(:item) { KubeDSL::DSL::Admissionregistration::V1::ValidatingWebhookConfiguration.new }
4
4
  object_field(:metadata) { KubeDSL::DSL::Meta::V1::ListMeta.new }
5
5
 
6
+ validates :items, array: { kind_of: KubeDSL::DSL::Admissionregistration::V1::ValidatingWebhookConfiguration }, presence: false
7
+ validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ListMeta }
8
+
6
9
  def serialize
7
10
  {}.tap do |result|
8
11
  result[:apiVersion] = "admissionregistration.k8s.io/v1"
9
- result[:kind] = "ValidatingWebhookConfigurationList"
10
12
  result[:items] = items.map(&:serialize)
13
+ result[:kind] = "ValidatingWebhookConfigurationList"
11
14
  result[:metadata] = metadata.serialize
12
15
  end
13
16
  end
@@ -1,13 +1,18 @@
1
1
  module KubeDSL::DSL::Admissionregistration::V1
2
2
  class WebhookClientConfig < ::KubeDSL::DSLObject
3
- value_fields :ca_bundle, :url
3
+ value_field :ca_bundle
4
4
  object_field(:service) { KubeDSL::DSL::Admissionregistration::V1::ServiceReference.new }
5
+ value_field :url
6
+
7
+ validates :ca_bundle, field: { format: :string }, presence: false
8
+ validates :service, object: { kind_of: KubeDSL::DSL::Admissionregistration::V1::ServiceReference }
9
+ validates :url, field: { format: :string }, presence: false
5
10
 
6
11
  def serialize
7
12
  {}.tap do |result|
8
13
  result[:caBundle] = ca_bundle
9
- result[:url] = url
10
14
  result[:service] = service.serialize
15
+ result[:url] = url
11
16
  end
12
17
  end
13
18
 
@@ -1,24 +1,42 @@
1
1
  module KubeDSL::DSL::Admissionregistration::V1beta1
2
2
  class MutatingWebhook < ::KubeDSL::DSLObject
3
- value_fields :admission_review_versions, :failure_policy, :match_policy, :name, :reinvocation_policy, :side_effects, :timeout_seconds
4
- array_field(:rule) { KubeDSL::DSL::Admissionregistration::V1beta1::RuleWithOperations.new }
3
+ value_field :admission_review_versions
5
4
  object_field(:client_config) { KubeDSL::DSL::Admissionregistration::V1beta1::WebhookClientConfig.new }
5
+ value_field :failure_policy
6
+ value_field :match_policy
7
+ value_field :name
6
8
  object_field(:namespace_selector) { KubeDSL::DSL::Meta::V1::LabelSelector.new }
7
9
  object_field(:object_selector) { KubeDSL::DSL::Meta::V1::LabelSelector.new }
10
+ value_field :reinvocation_policy
11
+ array_field(:rule) { KubeDSL::DSL::Admissionregistration::V1beta1::RuleWithOperations.new }
12
+ value_field :side_effects
13
+ value_field :timeout_seconds
14
+
15
+ validates :admission_review_versions, field: { format: :string }, presence: false
16
+ validates :client_config, object: { kind_of: KubeDSL::DSL::Admissionregistration::V1beta1::WebhookClientConfig }
17
+ validates :failure_policy, field: { format: :string }, presence: false
18
+ validates :match_policy, field: { format: :string }, presence: false
19
+ validates :name, field: { format: :string }, presence: false
20
+ validates :namespace_selector, object: { kind_of: KubeDSL::DSL::Meta::V1::LabelSelector }
21
+ validates :object_selector, object: { kind_of: KubeDSL::DSL::Meta::V1::LabelSelector }
22
+ validates :reinvocation_policy, field: { format: :string }, presence: false
23
+ validates :rules, array: { kind_of: KubeDSL::DSL::Admissionregistration::V1beta1::RuleWithOperations }, presence: false
24
+ validates :side_effects, field: { format: :string }, presence: false
25
+ validates :timeout_seconds, field: { format: :integer }, presence: false
8
26
 
9
27
  def serialize
10
28
  {}.tap do |result|
11
29
  result[:admissionReviewVersions] = admission_review_versions
30
+ result[:clientConfig] = client_config.serialize
12
31
  result[:failurePolicy] = failure_policy
13
32
  result[:matchPolicy] = match_policy
14
33
  result[:name] = name
34
+ result[:namespaceSelector] = namespace_selector.serialize
35
+ result[:objectSelector] = object_selector.serialize
15
36
  result[:reinvocationPolicy] = reinvocation_policy
37
+ result[:rules] = rules.map(&:serialize)
16
38
  result[:sideEffects] = side_effects
17
39
  result[:timeoutSeconds] = timeout_seconds
18
- result[:rules] = rules.map(&:serialize)
19
- result[:clientConfig] = client_config.serialize
20
- result[:namespaceSelector] = namespace_selector.serialize
21
- result[:objectSelector] = object_selector.serialize
22
40
  end
23
41
  end
24
42