akeyless 3.2.7 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +25 -1
  3. data/docs/CreateESM.md +36 -0
  4. data/docs/CreateESMOutput.md +20 -0
  5. data/docs/CreateRotatedSecret.md +1 -1
  6. data/docs/CreateSSHCertIssuer.md +1 -1
  7. data/docs/CreateSecret.md +1 -1
  8. data/docs/CreateWindowsTarget.md +8 -4
  9. data/docs/DSProducerDetails.md +2 -0
  10. data/docs/DescribeItem.md +2 -0
  11. data/docs/EsmCreate.md +34 -0
  12. data/docs/EsmCreateSecretOutput.md +20 -0
  13. data/docs/EsmDelete.md +26 -0
  14. data/docs/EsmGet.md +26 -0
  15. data/docs/EsmGetSecretOutput.md +20 -0
  16. data/docs/EsmList.md +24 -0
  17. data/docs/EsmListSecretsOutput.md +18 -0
  18. data/docs/EsmUpdate.md +34 -0
  19. data/docs/EsmUpdateSecretOutput.md +20 -0
  20. data/docs/GatewayCreateProducerHanaDb.md +1 -1
  21. data/docs/GatewayCreateProducerMSSQL.md +1 -1
  22. data/docs/GatewayCreateProducerMongo.md +1 -1
  23. data/docs/GatewayCreateProducerMySQL.md +1 -1
  24. data/docs/GatewayCreateProducerOracleDb.md +1 -1
  25. data/docs/GatewayCreateProducerPostgreSQL.md +1 -1
  26. data/docs/GatewayCreateProducerRdp.md +1 -1
  27. data/docs/GatewayCreateProducerRedis.md +48 -0
  28. data/docs/GatewayCreateProducerRedisOutput.md +18 -0
  29. data/docs/GatewayCreateProducerRedshift.md +1 -1
  30. data/docs/GatewayUpdateProducerHanaDb.md +1 -1
  31. data/docs/GatewayUpdateProducerMSSQL.md +1 -1
  32. data/docs/GatewayUpdateProducerMongo.md +1 -1
  33. data/docs/GatewayUpdateProducerMySQL.md +1 -1
  34. data/docs/GatewayUpdateProducerOracleDb.md +1 -1
  35. data/docs/GatewayUpdateProducerPostgreSQL.md +1 -1
  36. data/docs/GatewayUpdateProducerRdp.md +1 -1
  37. data/docs/GatewayUpdateProducerRedis.md +50 -0
  38. data/docs/GatewayUpdateProducerRedisOutput.md +18 -0
  39. data/docs/GatewayUpdateProducerRedshift.md +1 -1
  40. data/docs/Item.md +2 -0
  41. data/docs/LastStatusInfo.md +3 -1
  42. data/docs/SecretInfo.md +36 -0
  43. data/docs/TargetTypeDetailsInput.md +4 -0
  44. data/docs/UpdateItem.md +1 -1
  45. data/docs/UpdateRotatedSecret.md +1 -1
  46. data/docs/UpdateSSHCertIssuer.md +1 -1
  47. data/docs/UpdateWindowsTarget.md +8 -4
  48. data/docs/V2Api.md +503 -2
  49. data/lib/akeyless/api/v2_api.rb +501 -0
  50. data/lib/akeyless/models/create_esm.rb +325 -0
  51. data/lib/akeyless/models/create_esm_output.rb +228 -0
  52. data/lib/akeyless/models/create_rotated_secret.rb +1 -1
  53. data/lib/akeyless/models/create_secret.rb +1 -1
  54. data/lib/akeyless/models/create_ssh_cert_issuer.rb +1 -1
  55. data/lib/akeyless/models/create_windows_target.rb +40 -3
  56. data/lib/akeyless/models/describe_item.rb +13 -1
  57. data/lib/akeyless/models/ds_producer_details.rb +12 -1
  58. data/lib/akeyless/models/esm_create.rb +320 -0
  59. data/lib/akeyless/models/esm_create_secret_output.rb +228 -0
  60. data/lib/akeyless/models/esm_delete.rb +273 -0
  61. data/lib/akeyless/models/esm_get.rb +273 -0
  62. data/lib/akeyless/models/esm_get_secret_output.rb +228 -0
  63. data/lib/akeyless/models/esm_list.rb +258 -0
  64. data/lib/akeyless/models/esm_list_secrets_output.rb +221 -0
  65. data/lib/akeyless/models/esm_update.rb +320 -0
  66. data/lib/akeyless/models/esm_update_secret_output.rb +228 -0
  67. data/lib/akeyless/models/gateway_create_producer_hana_db.rb +1 -1
  68. data/lib/akeyless/models/gateway_create_producer_mongo.rb +1 -1
  69. data/lib/akeyless/models/gateway_create_producer_mssql.rb +1 -1
  70. data/lib/akeyless/models/gateway_create_producer_my_sql.rb +1 -1
  71. data/lib/akeyless/models/gateway_create_producer_oracle_db.rb +1 -1
  72. data/lib/akeyless/models/gateway_create_producer_postgre_sql.rb +1 -1
  73. data/lib/akeyless/models/gateway_create_producer_rdp.rb +1 -1
  74. data/lib/akeyless/models/gateway_create_producer_redis.rb +388 -0
  75. data/lib/akeyless/models/gateway_create_producer_redis_output.rb +219 -0
  76. data/lib/akeyless/models/gateway_create_producer_redshift.rb +1 -1
  77. data/lib/akeyless/models/gateway_update_producer_hana_db.rb +1 -1
  78. data/lib/akeyless/models/gateway_update_producer_mongo.rb +1 -1
  79. data/lib/akeyless/models/gateway_update_producer_mssql.rb +1 -1
  80. data/lib/akeyless/models/gateway_update_producer_my_sql.rb +1 -1
  81. data/lib/akeyless/models/gateway_update_producer_oracle_db.rb +1 -1
  82. data/lib/akeyless/models/gateway_update_producer_postgre_sql.rb +1 -1
  83. data/lib/akeyless/models/gateway_update_producer_rdp.rb +1 -1
  84. data/lib/akeyless/models/gateway_update_producer_redis.rb +398 -0
  85. data/lib/akeyless/models/gateway_update_producer_redis_output.rb +219 -0
  86. data/lib/akeyless/models/gateway_update_producer_redshift.rb +1 -1
  87. data/lib/akeyless/models/item.rb +10 -1
  88. data/lib/akeyless/models/last_status_info.rb +14 -4
  89. data/lib/akeyless/models/secret_info.rb +302 -0
  90. data/lib/akeyless/models/target_type_details_input.rb +19 -1
  91. data/lib/akeyless/models/update_item.rb +1 -1
  92. data/lib/akeyless/models/update_rotated_secret.rb +1 -1
  93. data/lib/akeyless/models/update_ssh_cert_issuer.rb +1 -1
  94. data/lib/akeyless/models/update_windows_target.rb +40 -3
  95. data/lib/akeyless/version.rb +1 -1
  96. data/lib/akeyless.rb +16 -0
  97. data/spec/models/create_esm_output_spec.rb +40 -0
  98. data/spec/models/create_esm_spec.rb +88 -0
  99. data/spec/models/esm_create_secret_output_spec.rb +40 -0
  100. data/spec/models/esm_create_spec.rb +82 -0
  101. data/spec/models/esm_delete_spec.rb +58 -0
  102. data/spec/models/esm_get_secret_output_spec.rb +40 -0
  103. data/spec/models/esm_get_spec.rb +58 -0
  104. data/spec/models/esm_list_secrets_output_spec.rb +34 -0
  105. data/spec/models/esm_list_spec.rb +52 -0
  106. data/spec/models/esm_update_secret_output_spec.rb +40 -0
  107. data/spec/models/esm_update_spec.rb +82 -0
  108. data/spec/models/gateway_create_producer_redis_output_spec.rb +34 -0
  109. data/spec/models/gateway_create_producer_redis_spec.rb +124 -0
  110. data/spec/models/gateway_update_producer_redis_output_spec.rb +34 -0
  111. data/spec/models/gateway_update_producer_redis_spec.rb +130 -0
  112. data/spec/models/secret_info_spec.rb +88 -0
  113. metadata +647 -583
@@ -15,6 +15,9 @@ require 'time'
15
15
 
16
16
  module Akeyless
17
17
  class CreateWindowsTarget
18
+ # SSL CA certificate in base64 encoding generated from a trusted Certificate Authority (CA)
19
+ attr_accessor :certificate
20
+
18
21
  # Description of the object
19
22
  attr_accessor :description
20
23
 
@@ -30,10 +33,10 @@ module Akeyless
30
33
  # Target name
31
34
  attr_accessor :name
32
35
 
33
- # The privileged user password
36
+ # Privileged user password
34
37
  attr_accessor :password
35
38
 
36
- # Server WinRM HTTPS port
39
+ # Server WinRM port
37
40
  attr_accessor :port
38
41
 
39
42
  # Authentication token (see `/auth` and `/configure`)
@@ -42,12 +45,16 @@ module Akeyless
42
45
  # The universal identity token, Required only for universal_identity authentication
43
46
  attr_accessor :uid_token
44
47
 
48
+ # Enable/Disable TLS for WinRM over HTTPS [true/false]
49
+ attr_accessor :use_tls
50
+
45
51
  # Privileged username
46
52
  attr_accessor :username
47
53
 
48
54
  # Attribute mapping from ruby-style variable name to JSON key.
49
55
  def self.attribute_map
50
56
  {
57
+ :'certificate' => :'certificate',
51
58
  :'description' => :'description',
52
59
  :'hostname' => :'hostname',
53
60
  :'json' => :'json',
@@ -57,6 +64,7 @@ module Akeyless
57
64
  :'port' => :'port',
58
65
  :'token' => :'token',
59
66
  :'uid_token' => :'uid-token',
67
+ :'use_tls' => :'use-tls',
60
68
  :'username' => :'username'
61
69
  }
62
70
  end
@@ -69,6 +77,7 @@ module Akeyless
69
77
  # Attribute type mapping.
70
78
  def self.openapi_types
71
79
  {
80
+ :'certificate' => :'String',
72
81
  :'description' => :'String',
73
82
  :'hostname' => :'String',
74
83
  :'json' => :'Boolean',
@@ -78,6 +87,7 @@ module Akeyless
78
87
  :'port' => :'String',
79
88
  :'token' => :'String',
80
89
  :'uid_token' => :'String',
90
+ :'use_tls' => :'String',
81
91
  :'username' => :'String'
82
92
  }
83
93
  end
@@ -103,6 +113,10 @@ module Akeyless
103
113
  h[k.to_sym] = v
104
114
  }
105
115
 
116
+ if attributes.key?(:'certificate')
117
+ self.certificate = attributes[:'certificate']
118
+ end
119
+
106
120
  if attributes.key?(:'description')
107
121
  self.description = attributes[:'description']
108
122
  end
@@ -143,6 +157,12 @@ module Akeyless
143
157
  self.uid_token = attributes[:'uid_token']
144
158
  end
145
159
 
160
+ if attributes.key?(:'use_tls')
161
+ self.use_tls = attributes[:'use_tls']
162
+ else
163
+ self.use_tls = 'true'
164
+ end
165
+
146
166
  if attributes.key?(:'username')
147
167
  self.username = attributes[:'username']
148
168
  end
@@ -152,17 +172,32 @@ module Akeyless
152
172
  # @return Array for valid properties with the reasons
153
173
  def list_invalid_properties
154
174
  invalid_properties = Array.new
175
+ if @hostname.nil?
176
+ invalid_properties.push('invalid value for "hostname", hostname cannot be nil.')
177
+ end
178
+
155
179
  if @name.nil?
156
180
  invalid_properties.push('invalid value for "name", name cannot be nil.')
157
181
  end
158
182
 
183
+ if @password.nil?
184
+ invalid_properties.push('invalid value for "password", password cannot be nil.')
185
+ end
186
+
187
+ if @username.nil?
188
+ invalid_properties.push('invalid value for "username", username cannot be nil.')
189
+ end
190
+
159
191
  invalid_properties
160
192
  end
161
193
 
162
194
  # Check to see if the all the properties in the model are valid
163
195
  # @return true if the model is valid
164
196
  def valid?
197
+ return false if @hostname.nil?
165
198
  return false if @name.nil?
199
+ return false if @password.nil?
200
+ return false if @username.nil?
166
201
  true
167
202
  end
168
203
 
@@ -171,6 +206,7 @@ module Akeyless
171
206
  def ==(o)
172
207
  return true if self.equal?(o)
173
208
  self.class == o.class &&
209
+ certificate == o.certificate &&
174
210
  description == o.description &&
175
211
  hostname == o.hostname &&
176
212
  json == o.json &&
@@ -180,6 +216,7 @@ module Akeyless
180
216
  port == o.port &&
181
217
  token == o.token &&
182
218
  uid_token == o.uid_token &&
219
+ use_tls == o.use_tls &&
183
220
  username == o.username
184
221
  end
185
222
 
@@ -192,7 +229,7 @@ module Akeyless
192
229
  # Calculates hash code according to all attributes.
193
230
  # @return [Integer] Hash code
194
231
  def hash
195
- [description, hostname, json, key, name, password, port, token, uid_token, username].hash
232
+ [certificate, description, hostname, json, key, name, password, port, token, uid_token, use_tls, username].hash
196
233
  end
197
234
 
198
235
  # Builds the object from hash
@@ -15,6 +15,9 @@ require 'time'
15
15
 
16
16
  module Akeyless
17
17
  class DescribeItem
18
+ # Indicate if the item should return with ztb cluster details (url, etc)
19
+ attr_accessor :bastion_details
20
+
18
21
  # The display id of the item
19
22
  attr_accessor :display_id
20
23
 
@@ -42,6 +45,7 @@ module Akeyless
42
45
  # Attribute mapping from ruby-style variable name to JSON key.
43
46
  def self.attribute_map
44
47
  {
48
+ :'bastion_details' => :'bastion-details',
45
49
  :'display_id' => :'display-id',
46
50
  :'gateway_details' => :'gateway-details',
47
51
  :'item_id' => :'item-id',
@@ -61,6 +65,7 @@ module Akeyless
61
65
  # Attribute type mapping.
62
66
  def self.openapi_types
63
67
  {
68
+ :'bastion_details' => :'Boolean',
64
69
  :'display_id' => :'String',
65
70
  :'gateway_details' => :'Boolean',
66
71
  :'item_id' => :'Integer',
@@ -93,6 +98,12 @@ module Akeyless
93
98
  h[k.to_sym] = v
94
99
  }
95
100
 
101
+ if attributes.key?(:'bastion_details')
102
+ self.bastion_details = attributes[:'bastion_details']
103
+ else
104
+ self.bastion_details = false
105
+ end
106
+
96
107
  if attributes.key?(:'display_id')
97
108
  self.display_id = attributes[:'display_id']
98
109
  end
@@ -155,6 +166,7 @@ module Akeyless
155
166
  def ==(o)
156
167
  return true if self.equal?(o)
157
168
  self.class == o.class &&
169
+ bastion_details == o.bastion_details &&
158
170
  display_id == o.display_id &&
159
171
  gateway_details == o.gateway_details &&
160
172
  item_id == o.item_id &&
@@ -174,7 +186,7 @@ module Akeyless
174
186
  # Calculates hash code according to all attributes.
175
187
  # @return [Integer] Hash code
176
188
  def hash
177
- [display_id, gateway_details, item_id, json, name, show_versions, token, uid_token].hash
189
+ [bastion_details, display_id, gateway_details, item_id, json, name, show_versions, token, uid_token].hash
178
190
  end
179
191
 
180
192
  # Builds the object from hash
@@ -17,6 +17,8 @@ module Akeyless
17
17
  class DSProducerDetails
18
18
  attr_accessor :access_token_manager_id
19
19
 
20
+ attr_accessor :acl_rules
21
+
20
22
  attr_accessor :active
21
23
 
22
24
  attr_accessor :admin_name
@@ -443,6 +445,7 @@ module Akeyless
443
445
  def self.attribute_map
444
446
  {
445
447
  :'access_token_manager_id' => :'access_token_manager_id',
448
+ :'acl_rules' => :'acl_rules',
446
449
  :'active' => :'active',
447
450
  :'admin_name' => :'admin_name',
448
451
  :'admin_pwd' => :'admin_pwd',
@@ -657,6 +660,7 @@ module Akeyless
657
660
  def self.openapi_types
658
661
  {
659
662
  :'access_token_manager_id' => :'String',
663
+ :'acl_rules' => :'Array<String>',
660
664
  :'active' => :'Boolean',
661
665
  :'admin_name' => :'String',
662
666
  :'admin_pwd' => :'String',
@@ -887,6 +891,12 @@ module Akeyless
887
891
  self.access_token_manager_id = attributes[:'access_token_manager_id']
888
892
  end
889
893
 
894
+ if attributes.key?(:'acl_rules')
895
+ if (value = attributes[:'acl_rules']).is_a?(Array)
896
+ self.acl_rules = value
897
+ end
898
+ end
899
+
890
900
  if attributes.key?(:'active')
891
901
  self.active = attributes[:'active']
892
902
  end
@@ -1739,6 +1749,7 @@ module Akeyless
1739
1749
  return true if self.equal?(o)
1740
1750
  self.class == o.class &&
1741
1751
  access_token_manager_id == o.access_token_manager_id &&
1752
+ acl_rules == o.acl_rules &&
1742
1753
  active == o.active &&
1743
1754
  admin_name == o.admin_name &&
1744
1755
  admin_pwd == o.admin_pwd &&
@@ -1952,7 +1963,7 @@ module Akeyless
1952
1963
  # Calculates hash code according to all attributes.
1953
1964
  # @return [Integer] Hash code
1954
1965
  def hash
1955
- [access_token_manager_id, active, admin_name, admin_pwd, admin_rotation_interval_days, administrative_port, artifactory_admin_apikey, artifactory_admin_username, artifactory_base_url, artifactory_token_audience, artifactory_token_scope, authorization_port, aws_access_key_id, aws_access_mode, aws_region, aws_role_arns, aws_secret_access_key, aws_session_token, aws_user_console_access, aws_user_groups, aws_user_policies, aws_user_programmatic_access, azure_app_object_id, azure_client_id, azure_client_secret, azure_fixed_user_name_sub_claim_key, azure_fixed_user_only, azure_resource_group_name, azure_resource_name, azure_subscription_id, azure_tenant_id, azure_user_groups_obj_id, azure_user_portal_access, azure_user_programmatic_access, azure_user_roles_template_id, cassandra_creation_statements, chef_organizations, chef_server_access_mode, chef_server_host_name, chef_server_key, chef_server_port, chef_server_url, chef_server_username, chef_skip_ssl, client_authentication_type, create_sync_url, db_host_name, db_isolation_level, db_max_idle_conns, db_max_open_conns, db_name, db_port, db_private_key, db_private_key_passphrase, db_pwd, db_server_certificates, db_server_name, db_user_name, delete_protection, dynamic_secret_id, dynamic_secret_key, dynamic_secret_name, dynamic_secret_type, eks_access_key_id, eks_assume_role, eks_cluster_ca_certificate, eks_cluster_endpoint, eks_cluster_name, eks_region, eks_secret_access_key, enable_admin_rotation, enforce_replay_prevention, externally_provided_user, failure_message, fixed_user_only, gcp_key_algo, gcp_role_bindings, gcp_service_account_email, gcp_service_account_key, gcp_service_account_key_base64, gcp_service_account_type, gcp_tmp_service_account_name, gcp_token_lifetime, gcp_token_scope, gcp_token_type, github_app_id, github_app_private_key, github_base_url, github_installation_id, github_installation_token_permissions, github_installation_token_repositories, github_installation_token_repositories_ids, github_repository_path, gke_cluster_ca_certificate, gke_cluster_endpoint, gke_cluster_name, gke_service_account_key, gke_service_account_name, grant_types, groups, hanadb_creation_statements, hanadb_revocation_statements, host_name, host_port, implementation_type, is_fixed_user, issuer, item_targets_assoc, jwks, jwks_url, k8s_allowed_namespaces, k8s_bearer_token, k8s_cluster_ca_certificate, k8s_cluster_endpoint, k8s_dynamic_mode, k8s_multiple_doc_yaml_temp_definition, k8s_namespace, k8s_role_name, k8s_role_type, k8s_service_account, last_admin_rotation, ldap_audience, ldap_bind_dn, ldap_bind_password, ldap_certificate, ldap_token_expiration, ldap_url, ldap_user_attr, ldap_user_dn, metadata, mongodb_atlas_api_private_key, mongodb_atlas_api_public_key, mongodb_atlas_project_id, mongodb_custom_data, mongodb_db_name, mongodb_default_auth_db, mongodb_host_port, mongodb_is_atlas, mongodb_password, mongodb_roles, mongodb_uri_connection, mongodb_uri_options, mongodb_username, mssql_creation_statements, mssql_revocation_statements, mysql_creation_statements, mysql_revocation_statements, oracle_creation_statements, password, password_length, password_policy, payload, ping_url, postgres_creation_statements, postgres_revocation_statements, privileged_user, rabbitmq_server_password, rabbitmq_server_uri, rabbitmq_server_user, rabbitmq_user_conf_permission, rabbitmq_user_read_permission, rabbitmq_user_tags, rabbitmq_user_vhost, rabbitmq_user_write_permission, redirect_uris, redshift_creation_statements, restricted_scopes, revoke_sync_url, rotate_sync_url, scopes, secure_remote_access_details, session_extension_warn_interval_min, sf_account, sf_user_role, sf_warehouse_name, should_stop, signing_algorithm, ssl_connection_certificate, ssl_connection_mode, subject_dn, tags, timeout_seconds, use_gw_cloud_identity, user_name, user_password, user_principal_name, user_ttl, username_length, username_policy, venafi_allow_subdomains, venafi_allowed_domains, venafi_api_key, venafi_auto_generated_folder, venafi_base_url, venafi_root_first_in_chain, venafi_sign_using_akeyless_pki, venafi_signer_key_name, venafi_store_private_key, venafi_tpp_password, venafi_tpp_username, venafi_use_tpp, venafi_zone, warn_before_user_expiration_min].hash
1966
+ [access_token_manager_id, acl_rules, active, admin_name, admin_pwd, admin_rotation_interval_days, administrative_port, artifactory_admin_apikey, artifactory_admin_username, artifactory_base_url, artifactory_token_audience, artifactory_token_scope, authorization_port, aws_access_key_id, aws_access_mode, aws_region, aws_role_arns, aws_secret_access_key, aws_session_token, aws_user_console_access, aws_user_groups, aws_user_policies, aws_user_programmatic_access, azure_app_object_id, azure_client_id, azure_client_secret, azure_fixed_user_name_sub_claim_key, azure_fixed_user_only, azure_resource_group_name, azure_resource_name, azure_subscription_id, azure_tenant_id, azure_user_groups_obj_id, azure_user_portal_access, azure_user_programmatic_access, azure_user_roles_template_id, cassandra_creation_statements, chef_organizations, chef_server_access_mode, chef_server_host_name, chef_server_key, chef_server_port, chef_server_url, chef_server_username, chef_skip_ssl, client_authentication_type, create_sync_url, db_host_name, db_isolation_level, db_max_idle_conns, db_max_open_conns, db_name, db_port, db_private_key, db_private_key_passphrase, db_pwd, db_server_certificates, db_server_name, db_user_name, delete_protection, dynamic_secret_id, dynamic_secret_key, dynamic_secret_name, dynamic_secret_type, eks_access_key_id, eks_assume_role, eks_cluster_ca_certificate, eks_cluster_endpoint, eks_cluster_name, eks_region, eks_secret_access_key, enable_admin_rotation, enforce_replay_prevention, externally_provided_user, failure_message, fixed_user_only, gcp_key_algo, gcp_role_bindings, gcp_service_account_email, gcp_service_account_key, gcp_service_account_key_base64, gcp_service_account_type, gcp_tmp_service_account_name, gcp_token_lifetime, gcp_token_scope, gcp_token_type, github_app_id, github_app_private_key, github_base_url, github_installation_id, github_installation_token_permissions, github_installation_token_repositories, github_installation_token_repositories_ids, github_repository_path, gke_cluster_ca_certificate, gke_cluster_endpoint, gke_cluster_name, gke_service_account_key, gke_service_account_name, grant_types, groups, hanadb_creation_statements, hanadb_revocation_statements, host_name, host_port, implementation_type, is_fixed_user, issuer, item_targets_assoc, jwks, jwks_url, k8s_allowed_namespaces, k8s_bearer_token, k8s_cluster_ca_certificate, k8s_cluster_endpoint, k8s_dynamic_mode, k8s_multiple_doc_yaml_temp_definition, k8s_namespace, k8s_role_name, k8s_role_type, k8s_service_account, last_admin_rotation, ldap_audience, ldap_bind_dn, ldap_bind_password, ldap_certificate, ldap_token_expiration, ldap_url, ldap_user_attr, ldap_user_dn, metadata, mongodb_atlas_api_private_key, mongodb_atlas_api_public_key, mongodb_atlas_project_id, mongodb_custom_data, mongodb_db_name, mongodb_default_auth_db, mongodb_host_port, mongodb_is_atlas, mongodb_password, mongodb_roles, mongodb_uri_connection, mongodb_uri_options, mongodb_username, mssql_creation_statements, mssql_revocation_statements, mysql_creation_statements, mysql_revocation_statements, oracle_creation_statements, password, password_length, password_policy, payload, ping_url, postgres_creation_statements, postgres_revocation_statements, privileged_user, rabbitmq_server_password, rabbitmq_server_uri, rabbitmq_server_user, rabbitmq_user_conf_permission, rabbitmq_user_read_permission, rabbitmq_user_tags, rabbitmq_user_vhost, rabbitmq_user_write_permission, redirect_uris, redshift_creation_statements, restricted_scopes, revoke_sync_url, rotate_sync_url, scopes, secure_remote_access_details, session_extension_warn_interval_min, sf_account, sf_user_role, sf_warehouse_name, should_stop, signing_algorithm, ssl_connection_certificate, ssl_connection_mode, subject_dn, tags, timeout_seconds, use_gw_cloud_identity, user_name, user_password, user_principal_name, user_ttl, username_length, username_policy, venafi_allow_subdomains, venafi_allowed_domains, venafi_api_key, venafi_auto_generated_folder, venafi_base_url, venafi_root_first_in_chain, venafi_sign_using_akeyless_pki, venafi_signer_key_name, venafi_store_private_key, venafi_tpp_password, venafi_tpp_username, venafi_use_tpp, venafi_zone, warn_before_user_expiration_min].hash
1956
1967
  end
1957
1968
 
1958
1969
  # Builds the object from hash
@@ -0,0 +1,320 @@
1
+ =begin
2
+ #Akeyless API
3
+
4
+ #The purpose of this application is to provide access to Akeyless API.
5
+
6
+ The version of the OpenAPI document: 2.0
7
+ Contact: support@akeyless.io
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.5.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ # esmCreate is a command that creates a new secret in an External Secrets Manager
18
+ class EsmCreate
19
+ # Use this option if the external secret value is a base64 encoded binary
20
+ attr_accessor :binary_value
21
+
22
+ # Description of the external secret
23
+ attr_accessor :description
24
+
25
+ # Name of the External Secrets Manager item
26
+ attr_accessor :esm_name
27
+
28
+ # Set output format to JSON
29
+ attr_accessor :json
30
+
31
+ # Name for the new external secret
32
+ attr_accessor :secret_name
33
+
34
+ # Tags for the external secret
35
+ attr_accessor :tags
36
+
37
+ # Authentication token (see `/auth` and `/configure`)
38
+ attr_accessor :token
39
+
40
+ # The universal identity token, Required only for universal_identity authentication
41
+ attr_accessor :uid_token
42
+
43
+ # Value of the external secret item, either text or base64 encoded binary
44
+ attr_accessor :value
45
+
46
+ # Attribute mapping from ruby-style variable name to JSON key.
47
+ def self.attribute_map
48
+ {
49
+ :'binary_value' => :'binary-value',
50
+ :'description' => :'description',
51
+ :'esm_name' => :'esm-name',
52
+ :'json' => :'json',
53
+ :'secret_name' => :'secret-name',
54
+ :'tags' => :'tags',
55
+ :'token' => :'token',
56
+ :'uid_token' => :'uid-token',
57
+ :'value' => :'value'
58
+ }
59
+ end
60
+
61
+ # Returns all the JSON keys this model knows about
62
+ def self.acceptable_attributes
63
+ attribute_map.values
64
+ end
65
+
66
+ # Attribute type mapping.
67
+ def self.openapi_types
68
+ {
69
+ :'binary_value' => :'Boolean',
70
+ :'description' => :'String',
71
+ :'esm_name' => :'String',
72
+ :'json' => :'Boolean',
73
+ :'secret_name' => :'String',
74
+ :'tags' => :'Hash<String, String>',
75
+ :'token' => :'String',
76
+ :'uid_token' => :'String',
77
+ :'value' => :'String'
78
+ }
79
+ end
80
+
81
+ # List of attributes with nullable: true
82
+ def self.openapi_nullable
83
+ Set.new([
84
+ ])
85
+ end
86
+
87
+ # Initializes the object
88
+ # @param [Hash] attributes Model attributes in the form of hash
89
+ def initialize(attributes = {})
90
+ if (!attributes.is_a?(Hash))
91
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::EsmCreate` initialize method"
92
+ end
93
+
94
+ # check to see if the attribute exists and convert string to symbol for hash key
95
+ attributes = attributes.each_with_object({}) { |(k, v), h|
96
+ if (!self.class.attribute_map.key?(k.to_sym))
97
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::EsmCreate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
98
+ end
99
+ h[k.to_sym] = v
100
+ }
101
+
102
+ if attributes.key?(:'binary_value')
103
+ self.binary_value = attributes[:'binary_value']
104
+ end
105
+
106
+ if attributes.key?(:'description')
107
+ self.description = attributes[:'description']
108
+ end
109
+
110
+ if attributes.key?(:'esm_name')
111
+ self.esm_name = attributes[:'esm_name']
112
+ end
113
+
114
+ if attributes.key?(:'json')
115
+ self.json = attributes[:'json']
116
+ else
117
+ self.json = false
118
+ end
119
+
120
+ if attributes.key?(:'secret_name')
121
+ self.secret_name = attributes[:'secret_name']
122
+ end
123
+
124
+ if attributes.key?(:'tags')
125
+ if (value = attributes[:'tags']).is_a?(Hash)
126
+ self.tags = value
127
+ end
128
+ end
129
+
130
+ if attributes.key?(:'token')
131
+ self.token = attributes[:'token']
132
+ end
133
+
134
+ if attributes.key?(:'uid_token')
135
+ self.uid_token = attributes[:'uid_token']
136
+ end
137
+
138
+ if attributes.key?(:'value')
139
+ self.value = attributes[:'value']
140
+ end
141
+ end
142
+
143
+ # Show invalid properties with the reasons. Usually used together with valid?
144
+ # @return Array for valid properties with the reasons
145
+ def list_invalid_properties
146
+ invalid_properties = Array.new
147
+ if @esm_name.nil?
148
+ invalid_properties.push('invalid value for "esm_name", esm_name cannot be nil.')
149
+ end
150
+
151
+ if @secret_name.nil?
152
+ invalid_properties.push('invalid value for "secret_name", secret_name cannot be nil.')
153
+ end
154
+
155
+ if @value.nil?
156
+ invalid_properties.push('invalid value for "value", value cannot be nil.')
157
+ end
158
+
159
+ invalid_properties
160
+ end
161
+
162
+ # Check to see if the all the properties in the model are valid
163
+ # @return true if the model is valid
164
+ def valid?
165
+ return false if @esm_name.nil?
166
+ return false if @secret_name.nil?
167
+ return false if @value.nil?
168
+ true
169
+ end
170
+
171
+ # Checks equality by comparing each attribute.
172
+ # @param [Object] Object to be compared
173
+ def ==(o)
174
+ return true if self.equal?(o)
175
+ self.class == o.class &&
176
+ binary_value == o.binary_value &&
177
+ description == o.description &&
178
+ esm_name == o.esm_name &&
179
+ json == o.json &&
180
+ secret_name == o.secret_name &&
181
+ tags == o.tags &&
182
+ token == o.token &&
183
+ uid_token == o.uid_token &&
184
+ value == o.value
185
+ end
186
+
187
+ # @see the `==` method
188
+ # @param [Object] Object to be compared
189
+ def eql?(o)
190
+ self == o
191
+ end
192
+
193
+ # Calculates hash code according to all attributes.
194
+ # @return [Integer] Hash code
195
+ def hash
196
+ [binary_value, description, esm_name, json, secret_name, tags, token, uid_token, value].hash
197
+ end
198
+
199
+ # Builds the object from hash
200
+ # @param [Hash] attributes Model attributes in the form of hash
201
+ # @return [Object] Returns the model itself
202
+ def self.build_from_hash(attributes)
203
+ new.build_from_hash(attributes)
204
+ end
205
+
206
+ # Builds the object from hash
207
+ # @param [Hash] attributes Model attributes in the form of hash
208
+ # @return [Object] Returns the model itself
209
+ def build_from_hash(attributes)
210
+ return nil unless attributes.is_a?(Hash)
211
+ attributes = attributes.transform_keys(&:to_sym)
212
+ self.class.openapi_types.each_pair do |key, type|
213
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
214
+ self.send("#{key}=", nil)
215
+ elsif type =~ /\AArray<(.*)>/i
216
+ # check to ensure the input is an array given that the attribute
217
+ # is documented as an array but the input is not
218
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
219
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
220
+ end
221
+ elsif !attributes[self.class.attribute_map[key]].nil?
222
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
223
+ end
224
+ end
225
+
226
+ self
227
+ end
228
+
229
+ # Deserializes the data based on type
230
+ # @param string type Data type
231
+ # @param string value Value to be deserialized
232
+ # @return [Object] Deserialized data
233
+ def _deserialize(type, value)
234
+ case type.to_sym
235
+ when :Time
236
+ Time.parse(value)
237
+ when :Date
238
+ Date.parse(value)
239
+ when :String
240
+ value.to_s
241
+ when :Integer
242
+ value.to_i
243
+ when :Float
244
+ value.to_f
245
+ when :Boolean
246
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
247
+ true
248
+ else
249
+ false
250
+ end
251
+ when :Object
252
+ # generic object (usually a Hash), return directly
253
+ value
254
+ when /\AArray<(?<inner_type>.+)>\z/
255
+ inner_type = Regexp.last_match[:inner_type]
256
+ value.map { |v| _deserialize(inner_type, v) }
257
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
258
+ k_type = Regexp.last_match[:k_type]
259
+ v_type = Regexp.last_match[:v_type]
260
+ {}.tap do |hash|
261
+ value.each do |k, v|
262
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
263
+ end
264
+ end
265
+ else # model
266
+ # models (e.g. Pet) or oneOf
267
+ klass = Akeyless.const_get(type)
268
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
269
+ end
270
+ end
271
+
272
+ # Returns the string representation of the object
273
+ # @return [String] String presentation of the object
274
+ def to_s
275
+ to_hash.to_s
276
+ end
277
+
278
+ # to_body is an alias to to_hash (backward compatibility)
279
+ # @return [Hash] Returns the object in the form of hash
280
+ def to_body
281
+ to_hash
282
+ end
283
+
284
+ # Returns the object in the form of hash
285
+ # @return [Hash] Returns the object in the form of hash
286
+ def to_hash
287
+ hash = {}
288
+ self.class.attribute_map.each_pair do |attr, param|
289
+ value = self.send(attr)
290
+ if value.nil?
291
+ is_nullable = self.class.openapi_nullable.include?(attr)
292
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
293
+ end
294
+
295
+ hash[param] = _to_hash(value)
296
+ end
297
+ hash
298
+ end
299
+
300
+ # Outputs non-array value in the form of hash
301
+ # For object, use to_hash. Otherwise, just return the value
302
+ # @param [Object] value Any valid value
303
+ # @return [Hash] Returns the value in the form of hash
304
+ def _to_hash(value)
305
+ if value.is_a?(Array)
306
+ value.compact.map { |v| _to_hash(v) }
307
+ elsif value.is_a?(Hash)
308
+ {}.tap do |hash|
309
+ value.each { |k, v| hash[k] = _to_hash(v) }
310
+ end
311
+ elsif value.respond_to? :to_hash
312
+ value.to_hash
313
+ else
314
+ value
315
+ end
316
+ end
317
+
318
+ end
319
+
320
+ end