akeyless 3.2.8 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
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