kuby-kube-db 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/Rakefile +30 -27
  4. data/kuby-kube-db.gemspec +1 -1
  5. data/lib/kuby/kube-db/dsl/api/v1/agent_spec.rb +14 -6
  6. data/lib/kuby/kube-db/dsl/api/v1/azure_spec.rb +8 -2
  7. data/lib/kuby/kube-db/dsl/api/v1/b2_spec.rb +8 -2
  8. data/lib/kuby/kube-db/dsl/api/v1/backend.rb +18 -9
  9. data/lib/kuby/kube-db/dsl/api/v1/gcs_spec.rb +8 -2
  10. data/lib/kuby/kube-db/dsl/api/v1/local_spec.rb +35 -4
  11. data/lib/kuby/kube-db/dsl/api/v1/object_meta.rb +3 -1
  12. data/lib/kuby/kube-db/dsl/api/v1/pod_spec.rb +34 -13
  13. data/lib/kuby/kube-db/dsl/api/v1/pod_template_spec.rb +8 -4
  14. data/lib/kuby/kube-db/dsl/api/v1/prometheus_spec.rb +10 -3
  15. data/lib/kuby/kube-db/dsl/api/v1/rest_server_spec.rb +4 -2
  16. data/lib/kuby/kube-db/dsl/api/v1/s3_spec.rb +8 -2
  17. data/lib/kuby/kube-db/dsl/api/v1/service_port.rb +8 -2
  18. data/lib/kuby/kube-db/dsl/api/v1/service_spec.rb +18 -3
  19. data/lib/kuby/kube-db/dsl/api/v1/service_template_spec.rb +6 -3
  20. data/lib/kuby/kube-db/dsl/api/v1/swift_spec.rb +6 -2
  21. data/lib/kuby/kube-db/dsl/api/v1.rb +1 -1
  22. data/lib/kuby/kube-db/dsl/api.rb +1 -1
  23. data/lib/kuby/kube-db/dsl/appcatalog/v1alpha1/app_reference.rb +7 -1
  24. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/database_access_request.rb +8 -3
  25. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/database_access_request_condition.rb +9 -1
  26. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/database_access_request_list.rb +6 -2
  27. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/database_access_request_spec.rb +8 -4
  28. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/database_access_request_status.rb +6 -2
  29. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/lease.rb +7 -1
  30. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/mongo_db_role.rb +8 -3
  31. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/mongo_db_role_condition.rb +9 -1
  32. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/mongo_db_role_list.rb +6 -2
  33. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/mongo_db_role_spec.rb +13 -3
  34. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/mongo_db_role_status.rb +6 -1
  35. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/my_sql_role.rb +8 -3
  36. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/my_sql_role_condition.rb +9 -1
  37. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/my_sql_role_list.rb +6 -2
  38. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/my_sql_role_spec.rb +13 -3
  39. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/my_sql_role_status.rb +6 -1
  40. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/postgres_role.rb +8 -3
  41. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/postgres_role_condition.rb +9 -1
  42. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/postgres_role_list.rb +6 -2
  43. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/postgres_role_spec.rb +17 -3
  44. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/postgres_role_status.rb +6 -1
  45. data/lib/kuby/kube-db/dsl/authorization/v1alpha1/role_reference.rb +7 -1
  46. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version.rb +6 -2
  47. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_database.rb +3 -1
  48. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_exporter.rb +3 -1
  49. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_init_container.rb +3 -1
  50. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_list.rb +6 -2
  51. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_pod_security_policy.rb +5 -1
  52. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_spec.rb +12 -3
  53. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_tools.rb +3 -1
  54. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/etcd_version.rb +6 -2
  55. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_database.rb +3 -1
  56. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_exporter.rb +3 -1
  57. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_list.rb +6 -2
  58. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_spec.rb +9 -2
  59. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_tools.rb +3 -1
  60. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/memcached_version.rb +6 -2
  61. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_database.rb +3 -1
  62. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_exporter.rb +3 -1
  63. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_list.rb +6 -2
  64. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_pod_security_policy.rb +3 -1
  65. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_spec.rb +9 -2
  66. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version.rb +6 -2
  67. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_database.rb +3 -1
  68. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_exporter.rb +3 -1
  69. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_init_container.rb +3 -1
  70. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_list.rb +6 -2
  71. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_pod_security_policy.rb +5 -1
  72. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_spec.rb +12 -3
  73. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_tools.rb +3 -1
  74. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version.rb +6 -2
  75. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_database.rb +3 -1
  76. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_exporter.rb +3 -1
  77. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_init_container.rb +3 -1
  78. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_list.rb +6 -2
  79. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_pod_security_policy.rb +5 -1
  80. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_spec.rb +12 -3
  81. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_tools.rb +3 -1
  82. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version.rb +6 -2
  83. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_database.rb +3 -1
  84. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_exporter.rb +3 -1
  85. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_list.rb +6 -2
  86. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_pod_security_policy.rb +5 -1
  87. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_spec.rb +11 -3
  88. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_tools.rb +3 -1
  89. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/redis_version.rb +6 -2
  90. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/redis_version_database.rb +3 -1
  91. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/redis_version_exporter.rb +3 -1
  92. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/redis_version_list.rb +6 -2
  93. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/redis_version_pod_security_policy.rb +3 -1
  94. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/redis_version_spec.rb +9 -2
  95. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/backup_schedule_spec.rb +25 -10
  96. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/dormant_database.rb +8 -3
  97. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/dormant_database_list.rb +6 -2
  98. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/dormant_database_spec.rb +5 -2
  99. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/dormant_database_status.rb +11 -1
  100. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/elasticsearch.rb +8 -3
  101. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/elasticsearch_cluster_topology.rb +4 -0
  102. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/elasticsearch_list.rb +6 -2
  103. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/elasticsearch_node.rb +8 -2
  104. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/elasticsearch_spec.rb +32 -9
  105. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/elasticsearch_status.rb +7 -1
  106. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/etcd.rb +8 -3
  107. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/etcd_list.rb +6 -2
  108. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/etcd_spec.rb +25 -8
  109. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/etcd_status.rb +7 -1
  110. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/init_spec.rb +4 -0
  111. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/leader_election_config.rb +7 -1
  112. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/member_secret.rb +5 -1
  113. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/memcached.rb +8 -3
  114. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/memcached_list.rb +6 -2
  115. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/memcached_spec.rb +18 -7
  116. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/memcached_status.rb +7 -1
  117. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db.rb +8 -3
  118. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_config_node.rb +11 -4
  119. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_list.rb +6 -2
  120. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_mongos_node.rb +11 -4
  121. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_replica_set.rb +5 -2
  122. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_shard_node.rb +13 -4
  123. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_sharding_topology.rb +4 -0
  124. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_spec.rb +28 -8
  125. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_status.rb +7 -1
  126. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/my_sql.rb +8 -3
  127. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/my_sql_cluster_topology.rb +5 -2
  128. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/my_sql_group_spec.rb +7 -1
  129. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/my_sql_list.rb +6 -2
  130. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/my_sql_spec.rb +26 -8
  131. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/my_sql_status.rb +7 -1
  132. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/origin.rb +3 -0
  133. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/origin_spec.rb +8 -0
  134. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/postgres.rb +8 -3
  135. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/postgres_archiver_spec.rb +3 -1
  136. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/postgres_list.rb +6 -2
  137. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/postgres_spec.rb +34 -10
  138. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/postgres_status.rb +7 -1
  139. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/postgres_wal_source_spec.rb +20 -8
  140. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/recovery_target.rb +9 -1
  141. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/redis.rb +8 -3
  142. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/redis_cluster_spec.rb +5 -1
  143. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/redis_list.rb +6 -2
  144. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/redis_spec.rb +26 -9
  145. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/redis_status.rb +7 -1
  146. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/script_source_spec.rb +31 -2
  147. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/snapshot.rb +8 -3
  148. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/snapshot_list.rb +6 -2
  149. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/snapshot_source_spec.rb +7 -1
  150. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/snapshot_spec.rb +26 -11
  151. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/snapshot_status.rb +11 -1
  152. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/tls_policy.rb +5 -2
  153. data/lib/kuby/kube-db/dsl/meta/v1/initializer.rb +3 -1
  154. data/lib/kuby/kube-db/dsl/meta/v1/initializers.rb +5 -2
  155. data/lib/kuby/kube-db/dsl/v1/volume_source.rb +28 -0
  156. data/lib/kuby/kube-db/dsl.rb +1 -1
  157. data/lib/kuby/kube-db/version.rb +1 -1
  158. metadata +13 -7
@@ -1,6 +1,8 @@
1
1
  module Kuby::KubeDB::DSL::Catalog::V1alpha1
2
2
  class RedisVersionExporter < ::KubeDSL::DSLObject
3
- value_fields :image
3
+ value_field :image
4
+
5
+ validates :image, field: { format: :string }, presence: false
4
6
 
5
7
  def serialize
6
8
  {}.tap do |result|
@@ -1,14 +1,18 @@
1
1
  module Kuby::KubeDB::DSL::Catalog::V1alpha1
2
2
  class RedisVersionList < ::KubeDSL::DSLObject
3
- value_fields :api_version
4
3
  array_field(:item) { Kuby::KubeDB::DSL::Catalog::V1alpha1::RedisVersion.new }
4
+ value_field :api_version
5
5
  object_field(:metadata) { KubeDSL::DSL::Meta::V1::ListMeta.new }
6
6
 
7
+ validates :items, array: { kind_of: Kuby::KubeDB::DSL::Catalog::V1alpha1::RedisVersion }, presence: false
8
+ validates :api_version, field: { format: :string }, presence: false
9
+ validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ListMeta }
10
+
7
11
  def serialize
8
12
  {}.tap do |result|
13
+ result[:items] = items.map(&:serialize)
9
14
  result[:kind] = "RedisVersionList"
10
15
  result[:apiVersion] = api_version
11
- result[:items] = items.map(&:serialize)
12
16
  result[:metadata] = metadata.serialize
13
17
  end
14
18
  end
@@ -1,6 +1,8 @@
1
1
  module Kuby::KubeDB::DSL::Catalog::V1alpha1
2
2
  class RedisVersionPodSecurityPolicy < ::KubeDSL::DSLObject
3
- value_fields :database_policy_name
3
+ value_field :database_policy_name
4
+
5
+ validates :database_policy_name, field: { format: :string }, presence: false
4
6
 
5
7
  def serialize
6
8
  {}.tap do |result|
@@ -1,16 +1,23 @@
1
1
  module Kuby::KubeDB::DSL::Catalog::V1alpha1
2
2
  class RedisVersionSpec < ::KubeDSL::DSLObject
3
- value_fields :deprecated, :version
3
+ value_field :deprecated
4
4
  object_field(:exporter) { Kuby::KubeDB::DSL::Catalog::V1alpha1::RedisVersionExporter.new }
5
5
  object_field(:db) { Kuby::KubeDB::DSL::Catalog::V1alpha1::RedisVersionDatabase.new }
6
+ value_field :version
6
7
  object_field(:pod_security_policies) { Kuby::KubeDB::DSL::Catalog::V1alpha1::RedisVersionPodSecurityPolicy.new }
7
8
 
9
+ validates :deprecated, field: { format: :boolean }, presence: true
10
+ validates :exporter, object: { kind_of: Kuby::KubeDB::DSL::Catalog::V1alpha1::RedisVersionExporter }
11
+ validates :db, object: { kind_of: Kuby::KubeDB::DSL::Catalog::V1alpha1::RedisVersionDatabase }
12
+ validates :version, field: { format: :string }, presence: false
13
+ validates :pod_security_policies, object: { kind_of: Kuby::KubeDB::DSL::Catalog::V1alpha1::RedisVersionPodSecurityPolicy }
14
+
8
15
  def serialize
9
16
  {}.tap do |result|
10
17
  result[:deprecated] = deprecated
11
- result[:version] = version
12
18
  result[:exporter] = exporter.serialize
13
19
  result[:db] = db.serialize
20
+ result[:version] = version
14
21
  result[:podSecurityPolicies] = pod_security_policies.serialize
15
22
  end
16
23
  end
@@ -1,26 +1,41 @@
1
1
  module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
2
  class BackupScheduleSpec < ::KubeDSL::DSLObject
3
- value_fields :storage_secret_name, :storage_type, :cron_expression
4
- object_field(:swift) { Kuby::KubeDB::DSL::Api::V1::SwiftSpec.new }
3
+ value_field :storage_secret_name
4
+ value_field :storage_type
5
+ object_field(:swift) { Kuby::KubeDB::DSL::API::V1::SwiftSpec.new }
5
6
  object_field(:pod_volume_claim_spec) { KubeDSL::DSL::V1::PersistentVolumeClaimSpec.new }
6
- object_field(:rest) { Kuby::KubeDB::DSL::Api::V1::RestServerSpec.new }
7
- object_field(:pod_template) { Kuby::KubeDB::DSL::Api::V1::PodTemplateSpec.new }
8
- object_field(:gcs) { Kuby::KubeDB::DSL::Api::V1::GCSSpec.new }
9
- object_field(:s3) { Kuby::KubeDB::DSL::Api::V1::S3Spec.new }
10
- object_field(:b2) { Kuby::KubeDB::DSL::Api::V1::B2Spec.new }
11
- object_field(:azure) { Kuby::KubeDB::DSL::Api::V1::AzureSpec.new }
12
- object_field(:local) { Kuby::KubeDB::DSL::Api::V1::LocalSpec.new }
7
+ object_field(:rest) { Kuby::KubeDB::DSL::API::V1::RestServerSpec.new }
8
+ object_field(:pod_template) { Kuby::KubeDB::DSL::API::V1::PodTemplateSpec.new }
9
+ object_field(:gcs) { Kuby::KubeDB::DSL::API::V1::GCSSpec.new }
10
+ value_field :cron_expression
11
+ object_field(:s3) { Kuby::KubeDB::DSL::API::V1::S3Spec.new }
12
+ object_field(:b2) { Kuby::KubeDB::DSL::API::V1::B2Spec.new }
13
+ object_field(:azure) { Kuby::KubeDB::DSL::API::V1::AzureSpec.new }
14
+ object_field(:local) { Kuby::KubeDB::DSL::API::V1::LocalSpec.new }
15
+
16
+ validates :storage_secret_name, field: { format: :string }, presence: false
17
+ validates :storage_type, field: { format: :string }, presence: false
18
+ validates :swift, object: { kind_of: Kuby::KubeDB::DSL::API::V1::SwiftSpec }
19
+ validates :pod_volume_claim_spec, object: { kind_of: KubeDSL::DSL::V1::PersistentVolumeClaimSpec }
20
+ validates :rest, object: { kind_of: Kuby::KubeDB::DSL::API::V1::RestServerSpec }
21
+ validates :pod_template, object: { kind_of: Kuby::KubeDB::DSL::API::V1::PodTemplateSpec }
22
+ validates :gcs, object: { kind_of: Kuby::KubeDB::DSL::API::V1::GCSSpec }
23
+ validates :cron_expression, field: { format: :string }, presence: false
24
+ validates :s3, object: { kind_of: Kuby::KubeDB::DSL::API::V1::S3Spec }
25
+ validates :b2, object: { kind_of: Kuby::KubeDB::DSL::API::V1::B2Spec }
26
+ validates :azure, object: { kind_of: Kuby::KubeDB::DSL::API::V1::AzureSpec }
27
+ validates :local, object: { kind_of: Kuby::KubeDB::DSL::API::V1::LocalSpec }
13
28
 
14
29
  def serialize
15
30
  {}.tap do |result|
16
31
  result[:storageSecretName] = storage_secret_name
17
32
  result[:storageType] = storage_type
18
- result[:cronExpression] = cron_expression
19
33
  result[:swift] = swift.serialize
20
34
  result[:podVolumeClaimSpec] = pod_volume_claim_spec.serialize
21
35
  result[:rest] = rest.serialize
22
36
  result[:podTemplate] = pod_template.serialize
23
37
  result[:gcs] = gcs.serialize
38
+ result[:cronExpression] = cron_expression
24
39
  result[:s3] = s3.serialize
25
40
  result[:b2] = b2.serialize
26
41
  result[:azure] = azure.serialize
@@ -1,16 +1,21 @@
1
1
  module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
2
  class DormantDatabase < ::KubeDSL::DSLObject
3
- value_fields :api_version
4
3
  object_field(:status) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::DormantDatabaseStatus.new }
5
4
  object_field(:spec) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::DormantDatabaseSpec.new }
5
+ value_field :api_version
6
6
  object_field(:metadata) { KubeDSL::DSL::Meta::V1::ObjectMeta.new }
7
7
 
8
+ validates :status, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::DormantDatabaseStatus }
9
+ validates :spec, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::DormantDatabaseSpec }
10
+ validates :api_version, field: { format: :string }, presence: false
11
+ validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ObjectMeta }
12
+
8
13
  def serialize
9
14
  {}.tap do |result|
10
- result[:kind] = "DormantDatabase"
11
- result[:apiVersion] = api_version
12
15
  result[:status] = status.serialize
16
+ result[:kind] = "DormantDatabase"
13
17
  result[:spec] = spec.serialize
18
+ result[:apiVersion] = api_version
14
19
  result[:metadata] = metadata.serialize
15
20
  end
16
21
  end
@@ -1,14 +1,18 @@
1
1
  module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
2
  class DormantDatabaseList < ::KubeDSL::DSLObject
3
- value_fields :api_version
4
3
  array_field(:item) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::DormantDatabase.new }
4
+ value_field :api_version
5
5
  object_field(:metadata) { KubeDSL::DSL::Meta::V1::ListMeta.new }
6
6
 
7
+ validates :items, array: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::DormantDatabase }, presence: false
8
+ validates :api_version, field: { format: :string }, presence: false
9
+ validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ListMeta }
10
+
7
11
  def serialize
8
12
  {}.tap do |result|
13
+ result[:items] = items.map(&:serialize)
9
14
  result[:kind] = "DormantDatabaseList"
10
15
  result[:apiVersion] = api_version
11
- result[:items] = items.map(&:serialize)
12
16
  result[:metadata] = metadata.serialize
13
17
  end
14
18
  end
@@ -1,12 +1,15 @@
1
1
  module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
2
  class DormantDatabaseSpec < ::KubeDSL::DSLObject
3
- value_fields :wipe_out
4
3
  object_field(:origin) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::Origin.new }
4
+ value_field :wipe_out
5
+
6
+ validates :origin, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::Origin }
7
+ validates :wipe_out, field: { format: :boolean }, presence: true
5
8
 
6
9
  def serialize
7
10
  {}.tap do |result|
8
- result[:wipeOut] = wipe_out
9
11
  result[:origin] = origin.serialize
12
+ result[:wipeOut] = wipe_out
10
13
  end
11
14
  end
12
15
 
@@ -1,6 +1,16 @@
1
1
  module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
2
  class DormantDatabaseStatus < ::KubeDSL::DSLObject
3
- value_fields :observed_generation, :phase, :reason, :wipe_out_time, :pausing_time
3
+ value_field :observed_generation
4
+ value_field :phase
5
+ value_field :reason
6
+ value_field :wipe_out_time
7
+ value_field :pausing_time
8
+
9
+ validates :observed_generation, field: { format: :string }, presence: false
10
+ validates :phase, field: { format: :string }, presence: false
11
+ validates :reason, field: { format: :string }, presence: false
12
+ validates :wipe_out_time, field: { format: :string }, presence: false
13
+ validates :pausing_time, field: { format: :string }, presence: false
4
14
 
5
15
  def serialize
6
16
  {}.tap do |result|
@@ -1,16 +1,21 @@
1
1
  module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
2
  class Elasticsearch < ::KubeDSL::DSLObject
3
- value_fields :api_version
4
3
  object_field(:status) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::ElasticsearchStatus.new }
5
4
  object_field(:spec) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::ElasticsearchSpec.new }
5
+ value_field :api_version
6
6
  object_field(:metadata) { KubeDSL::DSL::Meta::V1::ObjectMeta.new }
7
7
 
8
+ validates :status, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::ElasticsearchStatus }
9
+ validates :spec, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::ElasticsearchSpec }
10
+ validates :api_version, field: { format: :string }, presence: false
11
+ validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ObjectMeta }
12
+
8
13
  def serialize
9
14
  {}.tap do |result|
10
- result[:kind] = "Elasticsearch"
11
- result[:apiVersion] = api_version
12
15
  result[:status] = status.serialize
16
+ result[:kind] = "Elasticsearch"
13
17
  result[:spec] = spec.serialize
18
+ result[:apiVersion] = api_version
14
19
  result[:metadata] = metadata.serialize
15
20
  end
16
21
  end
@@ -4,6 +4,10 @@ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
4
4
  object_field(:client) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::ElasticsearchNode.new }
5
5
  object_field(:data) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::ElasticsearchNode.new }
6
6
 
7
+ validates :master, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::ElasticsearchNode }
8
+ validates :client, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::ElasticsearchNode }
9
+ validates :data, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::ElasticsearchNode }
10
+
7
11
  def serialize
8
12
  {}.tap do |result|
9
13
  result[:master] = master.serialize
@@ -1,14 +1,18 @@
1
1
  module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
2
  class ElasticsearchList < ::KubeDSL::DSLObject
3
- value_fields :api_version
4
3
  array_field(:item) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::Elasticsearch.new }
4
+ value_field :api_version
5
5
  object_field(:metadata) { KubeDSL::DSL::Meta::V1::ListMeta.new }
6
6
 
7
+ validates :items, array: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::Elasticsearch }, presence: false
8
+ validates :api_version, field: { format: :string }, presence: false
9
+ validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ListMeta }
10
+
7
11
  def serialize
8
12
  {}.tap do |result|
13
+ result[:items] = items.map(&:serialize)
9
14
  result[:kind] = "ElasticsearchList"
10
15
  result[:apiVersion] = api_version
11
- result[:items] = items.map(&:serialize)
12
16
  result[:metadata] = metadata.serialize
13
17
  end
14
18
  end
@@ -1,15 +1,21 @@
1
1
  module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
2
  class ElasticsearchNode < ::KubeDSL::DSLObject
3
- value_fields :prefix, :replicas
3
+ value_field :prefix
4
4
  object_field(:storage) { KubeDSL::DSL::V1::PersistentVolumeClaimSpec.new }
5
5
  object_field(:resources) { KubeDSL::DSL::V1::ResourceRequirements.new }
6
+ value_field :replicas
7
+
8
+ validates :prefix, field: { format: :string }, presence: false
9
+ validates :storage, object: { kind_of: KubeDSL::DSL::V1::PersistentVolumeClaimSpec }
10
+ validates :resources, object: { kind_of: KubeDSL::DSL::V1::ResourceRequirements }
11
+ validates :replicas, field: { format: :integer }, presence: true
6
12
 
7
13
  def serialize
8
14
  {}.tap do |result|
9
15
  result[:prefix] = prefix
10
- result[:replicas] = replicas
11
16
  result[:storage] = storage.serialize
12
17
  result[:resources] = resources.serialize
18
+ result[:replicas] = replicas
13
19
  end
14
20
  end
15
21
 
@@ -1,35 +1,58 @@
1
1
  module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
2
  class ElasticsearchSpec < ::KubeDSL::DSLObject
3
- value_fields :replicas, :storage_type, :termination_policy, :enable_ssl, :version, :auth_plugin
4
- object_field(:service_template) { Kuby::KubeDB::DSL::Api::V1::ServiceTemplateSpec.new }
5
- object_field(:monitor) { Kuby::KubeDB::DSL::Api::V1::AgentSpec.new }
3
+ object_field(:service_template) { Kuby::KubeDB::DSL::API::V1::ServiceTemplateSpec.new }
4
+ object_field(:monitor) { Kuby::KubeDB::DSL::API::V1::AgentSpec.new }
5
+ value_field :replicas
6
+ value_field :storage_type
7
+ value_field :termination_policy
6
8
  object_field(:backup_schedule) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::BackupScheduleSpec.new }
7
9
  object_field(:storage) { KubeDSL::DSL::V1::PersistentVolumeClaimSpec.new }
8
10
  object_field(:database_secret) { KubeDSL::DSL::V1::SecretVolumeSource.new }
9
11
  object_field(:config_source) { Kuby::KubeDB::DSL::V1::VolumeSource.new }
10
- object_field(:pod_template) { Kuby::KubeDB::DSL::Api::V1::PodTemplateSpec.new }
12
+ value_field :enable_ssl
13
+ object_field(:pod_template) { Kuby::KubeDB::DSL::API::V1::PodTemplateSpec.new }
11
14
  object_field(:init) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::InitSpec.new }
15
+ value_field :version
12
16
  object_field(:certificate_secret) { KubeDSL::DSL::V1::SecretVolumeSource.new }
17
+ value_field :auth_plugin
13
18
  object_field(:update_strategy) { KubeDSL::DSL::Apps::V1::StatefulSetUpdateStrategy.new }
14
19
  object_field(:topology) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::ElasticsearchClusterTopology.new }
15
20
 
21
+ validates :service_template, object: { kind_of: Kuby::KubeDB::DSL::API::V1::ServiceTemplateSpec }
22
+ validates :monitor, object: { kind_of: Kuby::KubeDB::DSL::API::V1::AgentSpec }
23
+ validates :replicas, field: { format: :integer }, presence: true
24
+ validates :storage_type, field: { format: :string }, presence: false
25
+ validates :termination_policy, field: { format: :string }, presence: false
26
+ validates :backup_schedule, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::BackupScheduleSpec }
27
+ validates :storage, object: { kind_of: KubeDSL::DSL::V1::PersistentVolumeClaimSpec }
28
+ validates :database_secret, object: { kind_of: KubeDSL::DSL::V1::SecretVolumeSource }
29
+ validates :config_source, object: { kind_of: Kuby::KubeDB::DSL::V1::VolumeSource }
30
+ validates :enable_ssl, field: { format: :boolean }, presence: true
31
+ validates :pod_template, object: { kind_of: Kuby::KubeDB::DSL::API::V1::PodTemplateSpec }
32
+ validates :init, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::InitSpec }
33
+ validates :version, field: { format: :string }, presence: false
34
+ validates :certificate_secret, object: { kind_of: KubeDSL::DSL::V1::SecretVolumeSource }
35
+ validates :auth_plugin, field: { format: :string }, presence: false
36
+ validates :update_strategy, object: { kind_of: KubeDSL::DSL::Apps::V1::StatefulSetUpdateStrategy }
37
+ validates :topology, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::ElasticsearchClusterTopology }
38
+
16
39
  def serialize
17
40
  {}.tap do |result|
41
+ result[:serviceTemplate] = service_template.serialize
42
+ result[:monitor] = monitor.serialize
18
43
  result[:replicas] = replicas
19
44
  result[:storageType] = storage_type
20
45
  result[:terminationPolicy] = termination_policy
21
- result[:enableSSL] = enable_ssl
22
- result[:version] = version
23
- result[:authPlugin] = auth_plugin
24
- result[:serviceTemplate] = service_template.serialize
25
- result[:monitor] = monitor.serialize
26
46
  result[:backupSchedule] = backup_schedule.serialize
27
47
  result[:storage] = storage.serialize
28
48
  result[:databaseSecret] = database_secret.serialize
29
49
  result[:configSource] = config_source.serialize
50
+ result[:enableSSL] = enable_ssl
30
51
  result[:podTemplate] = pod_template.serialize
31
52
  result[:init] = init.serialize
53
+ result[:version] = version
32
54
  result[:certificateSecret] = certificate_secret.serialize
55
+ result[:authPlugin] = auth_plugin
33
56
  result[:updateStrategy] = update_strategy.serialize
34
57
  result[:topology] = topology.serialize
35
58
  end
@@ -1,6 +1,12 @@
1
1
  module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
2
  class ElasticsearchStatus < ::KubeDSL::DSLObject
3
- value_fields :observed_generation, :phase, :reason
3
+ value_field :observed_generation
4
+ value_field :phase
5
+ value_field :reason
6
+
7
+ validates :observed_generation, field: { format: :string }, presence: false
8
+ validates :phase, field: { format: :string }, presence: false
9
+ validates :reason, field: { format: :string }, presence: false
4
10
 
5
11
  def serialize
6
12
  {}.tap do |result|
@@ -1,16 +1,21 @@
1
1
  module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
2
  class Etcd < ::KubeDSL::DSLObject
3
- value_fields :api_version
4
3
  object_field(:status) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::EtcdStatus.new }
5
4
  object_field(:spec) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::EtcdSpec.new }
5
+ value_field :api_version
6
6
  object_field(:metadata) { KubeDSL::DSL::Meta::V1::ObjectMeta.new }
7
7
 
8
+ validates :status, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::EtcdStatus }
9
+ validates :spec, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::EtcdSpec }
10
+ validates :api_version, field: { format: :string }, presence: false
11
+ validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ObjectMeta }
12
+
8
13
  def serialize
9
14
  {}.tap do |result|
10
- result[:kind] = "Etcd"
11
- result[:apiVersion] = api_version
12
15
  result[:status] = status.serialize
16
+ result[:kind] = "Etcd"
13
17
  result[:spec] = spec.serialize
18
+ result[:apiVersion] = api_version
14
19
  result[:metadata] = metadata.serialize
15
20
  end
16
21
  end
@@ -1,14 +1,18 @@
1
1
  module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
2
  class EtcdList < ::KubeDSL::DSLObject
3
- value_fields :api_version
4
3
  array_field(:item) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::Etcd.new }
4
+ value_field :api_version
5
5
  object_field(:metadata) { KubeDSL::DSL::Meta::V1::ListMeta.new }
6
6
 
7
+ validates :items, array: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::Etcd }, presence: false
8
+ validates :api_version, field: { format: :string }, presence: false
9
+ validates :metadata, object: { kind_of: KubeDSL::DSL::Meta::V1::ListMeta }
10
+
7
11
  def serialize
8
12
  {}.tap do |result|
13
+ result[:items] = items.map(&:serialize)
9
14
  result[:kind] = "EtcdList"
10
15
  result[:apiVersion] = api_version
11
- result[:items] = items.map(&:serialize)
12
16
  result[:metadata] = metadata.serialize
13
17
  end
14
18
  end
@@ -1,30 +1,47 @@
1
1
  module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
2
  class EtcdSpec < ::KubeDSL::DSLObject
3
- value_fields :replicas, :termination_policy, :storage_type, :version
4
3
  object_field(:tls) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::TLSPolicy.new }
5
- object_field(:service_template) { Kuby::KubeDB::DSL::Api::V1::ServiceTemplateSpec.new }
6
- object_field(:monitor) { Kuby::KubeDB::DSL::Api::V1::AgentSpec.new }
7
- object_field(:pod_template) { Kuby::KubeDB::DSL::Api::V1::PodTemplateSpec.new }
4
+ object_field(:service_template) { Kuby::KubeDB::DSL::API::V1::ServiceTemplateSpec.new }
5
+ object_field(:monitor) { Kuby::KubeDB::DSL::API::V1::AgentSpec.new }
6
+ value_field :replicas
7
+ object_field(:pod_template) { Kuby::KubeDB::DSL::API::V1::PodTemplateSpec.new }
8
+ value_field :termination_policy
8
9
  object_field(:backup_schedule) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::BackupScheduleSpec.new }
9
10
  object_field(:storage) { KubeDSL::DSL::V1::PersistentVolumeClaimSpec.new }
10
11
  object_field(:database_secret) { KubeDSL::DSL::V1::SecretVolumeSource.new }
12
+ value_field :storage_type
11
13
  object_field(:init) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::InitSpec.new }
14
+ value_field :version
12
15
  object_field(:update_strategy) { KubeDSL::DSL::Apps::V1::StatefulSetUpdateStrategy.new }
13
16
 
17
+ validates :tls, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::TLSPolicy }
18
+ validates :service_template, object: { kind_of: Kuby::KubeDB::DSL::API::V1::ServiceTemplateSpec }
19
+ validates :monitor, object: { kind_of: Kuby::KubeDB::DSL::API::V1::AgentSpec }
20
+ validates :replicas, field: { format: :integer }, presence: true
21
+ validates :pod_template, object: { kind_of: Kuby::KubeDB::DSL::API::V1::PodTemplateSpec }
22
+ validates :termination_policy, field: { format: :string }, presence: false
23
+ validates :backup_schedule, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::BackupScheduleSpec }
24
+ validates :storage, object: { kind_of: KubeDSL::DSL::V1::PersistentVolumeClaimSpec }
25
+ validates :database_secret, object: { kind_of: KubeDSL::DSL::V1::SecretVolumeSource }
26
+ validates :storage_type, field: { format: :string }, presence: false
27
+ validates :init, object: { kind_of: Kuby::KubeDB::DSL::Kubedb::V1alpha1::InitSpec }
28
+ validates :version, field: { format: :string }, presence: false
29
+ validates :update_strategy, object: { kind_of: KubeDSL::DSL::Apps::V1::StatefulSetUpdateStrategy }
30
+
14
31
  def serialize
15
32
  {}.tap do |result|
16
- result[:replicas] = replicas
17
- result[:terminationPolicy] = termination_policy
18
- result[:storageType] = storage_type
19
- result[:version] = version
20
33
  result[:tls] = tls.serialize
21
34
  result[:serviceTemplate] = service_template.serialize
22
35
  result[:monitor] = monitor.serialize
36
+ result[:replicas] = replicas
23
37
  result[:podTemplate] = pod_template.serialize
38
+ result[:terminationPolicy] = termination_policy
24
39
  result[:backupSchedule] = backup_schedule.serialize
25
40
  result[:storage] = storage.serialize
26
41
  result[:databaseSecret] = database_secret.serialize
42
+ result[:storageType] = storage_type
27
43
  result[:init] = init.serialize
44
+ result[:version] = version
28
45
  result[:updateStrategy] = update_strategy.serialize
29
46
  end
30
47
  end