akeyless 5.0.8 → 5.0.10

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -1
  3. data/docs/CreateESM.md +2 -0
  4. data/docs/CreateUSC.md +2 -0
  5. data/docs/DSProducerDetails.md +12 -0
  6. data/docs/DynamicSecretCreateGcp.md +2 -0
  7. data/docs/DynamicSecretCreateOpenAI.md +40 -0
  8. data/docs/DynamicSecretUpdateGcp.md +2 -0
  9. data/docs/DynamicSecretUpdateOpenAI.md +42 -0
  10. data/docs/EsmGetSecretOutput.md +2 -0
  11. data/docs/EventForwarderCreateTeams.md +44 -0
  12. data/docs/EventForwarderUpdateTeams.md +46 -0
  13. data/docs/GatewayCreateMigration.md +1 -11
  14. data/docs/GatewayCreateProducerGcp.md +2 -0
  15. data/docs/GatewayUpdateMigration.md +0 -10
  16. data/docs/GatewayUpdateProducerGcp.md +2 -0
  17. data/docs/NotiForwarder.md +2 -0
  18. data/docs/OpenAITargetDetails.md +3 -3
  19. data/docs/SecretInfo.md +2 -0
  20. data/docs/UscCreate.md +2 -0
  21. data/docs/UscGetSecretOutput.md +2 -0
  22. data/docs/UscUpdate.md +2 -0
  23. data/docs/V2Api.md +252 -0
  24. data/lib/akeyless/api/v2_api.rb +256 -0
  25. data/lib/akeyless/models/create_esm.rb +11 -1
  26. data/lib/akeyless/models/create_usc.rb +11 -1
  27. data/lib/akeyless/models/ds_producer_details.rb +55 -1
  28. data/lib/akeyless/models/dynamic_secret_create_gcp.rb +11 -1
  29. data/lib/akeyless/models/dynamic_secret_create_open_ai.rb +339 -0
  30. data/lib/akeyless/models/dynamic_secret_update_gcp.rb +11 -1
  31. data/lib/akeyless/models/dynamic_secret_update_open_ai.rb +349 -0
  32. data/lib/akeyless/models/esm_get_secret_output.rb +10 -1
  33. data/lib/akeyless/models/event_forwarder_create_teams.rb +385 -0
  34. data/lib/akeyless/models/event_forwarder_update_teams.rb +391 -0
  35. data/lib/akeyless/models/gateway_create_migration.rb +2 -54
  36. data/lib/akeyless/models/gateway_create_producer_gcp.rb +11 -1
  37. data/lib/akeyless/models/gateway_update_migration.rb +1 -53
  38. data/lib/akeyless/models/gateway_update_producer_gcp.rb +11 -1
  39. data/lib/akeyless/models/noti_forwarder.rb +10 -1
  40. data/lib/akeyless/models/open_ai_target_details.rb +13 -13
  41. data/lib/akeyless/models/secret_info.rb +10 -1
  42. data/lib/akeyless/models/usc_create.rb +11 -1
  43. data/lib/akeyless/models/usc_get_secret_output.rb +10 -1
  44. data/lib/akeyless/models/usc_update.rb +11 -1
  45. data/lib/akeyless/version.rb +1 -1
  46. data/lib/akeyless.rb +4 -0
  47. data/spec/models/dynamic_secret_create_open_ai_spec.rb +102 -0
  48. data/spec/models/dynamic_secret_update_open_ai_spec.rb +108 -0
  49. data/spec/models/event_forwarder_create_teams_spec.rb +114 -0
  50. data/spec/models/event_forwarder_update_teams_spec.rb +120 -0
  51. metadata +17 -1
@@ -29,6 +29,10 @@ module Akeyless
29
29
 
30
30
  attr_accessor :administrative_port
31
31
 
32
+ attr_accessor :api_key
33
+
34
+ attr_accessor :api_key_id
35
+
32
36
  attr_accessor :artifactory_admin_apikey
33
37
 
34
38
  attr_accessor :artifactory_admin_username
@@ -197,6 +201,8 @@ module Akeyless
197
201
 
198
202
  attr_accessor :gcp_key_algo
199
203
 
204
+ attr_accessor :gcp_project_id
205
+
200
206
  attr_accessor :gcp_role_bindings
201
207
 
202
208
  # GCPServiceAccountEmail overrides the deprecated field from the target
@@ -402,12 +408,16 @@ module Akeyless
402
408
 
403
409
  attr_accessor :mysql_revocation_statements
404
410
 
411
+ attr_accessor :openai_url
412
+
405
413
  attr_accessor :oracle_creation_statements
406
414
 
407
415
  attr_accessor :oracle_revocation_statements
408
416
 
409
417
  attr_accessor :oracle_wallet_details
410
418
 
419
+ attr_accessor :organization_id
420
+
411
421
  attr_accessor :password
412
422
 
413
423
  attr_accessor :password_length
@@ -424,6 +434,8 @@ module Akeyless
424
434
 
425
435
  attr_accessor :privileged_user
426
436
 
437
+ attr_accessor :project_id
438
+
427
439
  attr_accessor :rabbitmq_server_password
428
440
 
429
441
  attr_accessor :rabbitmq_server_uri
@@ -550,6 +562,8 @@ module Akeyless
550
562
  :'admin_pwd' => :'admin_pwd',
551
563
  :'admin_rotation_interval_days' => :'admin_rotation_interval_days',
552
564
  :'administrative_port' => :'administrative_port',
565
+ :'api_key' => :'api_key',
566
+ :'api_key_id' => :'api_key_id',
553
567
  :'artifactory_admin_apikey' => :'artifactory_admin_apikey',
554
568
  :'artifactory_admin_username' => :'artifactory_admin_username',
555
569
  :'artifactory_base_url' => :'artifactory_base_url',
@@ -632,6 +646,7 @@ module Akeyless
632
646
  :'failure_message' => :'failure_message',
633
647
  :'fixed_user_only' => :'fixed_user_only',
634
648
  :'gcp_key_algo' => :'gcp_key_algo',
649
+ :'gcp_project_id' => :'gcp_project_id',
635
650
  :'gcp_role_bindings' => :'gcp_role_bindings',
636
651
  :'gcp_service_account_email' => :'gcp_service_account_email',
637
652
  :'gcp_service_account_key' => :'gcp_service_account_key',
@@ -729,9 +744,11 @@ module Akeyless
729
744
  :'mssql_revocation_statements' => :'mssql_revocation_statements',
730
745
  :'mysql_creation_statements' => :'mysql_creation_statements',
731
746
  :'mysql_revocation_statements' => :'mysql_revocation_statements',
747
+ :'openai_url' => :'openai_url',
732
748
  :'oracle_creation_statements' => :'oracle_creation_statements',
733
749
  :'oracle_revocation_statements' => :'oracle_revocation_statements',
734
750
  :'oracle_wallet_details' => :'oracle_wallet_details',
751
+ :'organization_id' => :'organization_id',
735
752
  :'password' => :'password',
736
753
  :'password_length' => :'password_length',
737
754
  :'password_policy' => :'password_policy',
@@ -740,6 +757,7 @@ module Akeyless
740
757
  :'postgres_creation_statements' => :'postgres_creation_statements',
741
758
  :'postgres_revocation_statements' => :'postgres_revocation_statements',
742
759
  :'privileged_user' => :'privileged_user',
760
+ :'project_id' => :'project_id',
743
761
  :'rabbitmq_server_password' => :'rabbitmq_server_password',
744
762
  :'rabbitmq_server_uri' => :'rabbitmq_server_uri',
745
763
  :'rabbitmq_server_user' => :'rabbitmq_server_user',
@@ -813,6 +831,8 @@ module Akeyless
813
831
  :'admin_pwd' => :'String',
814
832
  :'admin_rotation_interval_days' => :'Integer',
815
833
  :'administrative_port' => :'String',
834
+ :'api_key' => :'String',
835
+ :'api_key_id' => :'String',
816
836
  :'artifactory_admin_apikey' => :'String',
817
837
  :'artifactory_admin_username' => :'String',
818
838
  :'artifactory_base_url' => :'String',
@@ -895,6 +915,7 @@ module Akeyless
895
915
  :'failure_message' => :'String',
896
916
  :'fixed_user_only' => :'String',
897
917
  :'gcp_key_algo' => :'String',
918
+ :'gcp_project_id' => :'String',
898
919
  :'gcp_role_bindings' => :'Hash<String, Array<String>>',
899
920
  :'gcp_service_account_email' => :'String',
900
921
  :'gcp_service_account_key' => :'String',
@@ -992,9 +1013,11 @@ module Akeyless
992
1013
  :'mssql_revocation_statements' => :'String',
993
1014
  :'mysql_creation_statements' => :'String',
994
1015
  :'mysql_revocation_statements' => :'String',
1016
+ :'openai_url' => :'String',
995
1017
  :'oracle_creation_statements' => :'String',
996
1018
  :'oracle_revocation_statements' => :'String',
997
1019
  :'oracle_wallet_details' => :'WalletDetails',
1020
+ :'organization_id' => :'String',
998
1021
  :'password' => :'String',
999
1022
  :'password_length' => :'Integer',
1000
1023
  :'password_policy' => :'String',
@@ -1003,6 +1026,7 @@ module Akeyless
1003
1026
  :'postgres_creation_statements' => :'String',
1004
1027
  :'postgres_revocation_statements' => :'String',
1005
1028
  :'privileged_user' => :'String',
1029
+ :'project_id' => :'String',
1006
1030
  :'rabbitmq_server_password' => :'String',
1007
1031
  :'rabbitmq_server_uri' => :'String',
1008
1032
  :'rabbitmq_server_user' => :'String',
@@ -1112,6 +1136,14 @@ module Akeyless
1112
1136
  self.administrative_port = attributes[:'administrative_port']
1113
1137
  end
1114
1138
 
1139
+ if attributes.key?(:'api_key')
1140
+ self.api_key = attributes[:'api_key']
1141
+ end
1142
+
1143
+ if attributes.key?(:'api_key_id')
1144
+ self.api_key_id = attributes[:'api_key_id']
1145
+ end
1146
+
1115
1147
  if attributes.key?(:'artifactory_admin_apikey')
1116
1148
  self.artifactory_admin_apikey = attributes[:'artifactory_admin_apikey']
1117
1149
  end
@@ -1440,6 +1472,10 @@ module Akeyless
1440
1472
  self.gcp_key_algo = attributes[:'gcp_key_algo']
1441
1473
  end
1442
1474
 
1475
+ if attributes.key?(:'gcp_project_id')
1476
+ self.gcp_project_id = attributes[:'gcp_project_id']
1477
+ end
1478
+
1443
1479
  if attributes.key?(:'gcp_role_bindings')
1444
1480
  if (value = attributes[:'gcp_role_bindings']).is_a?(Hash)
1445
1481
  self.gcp_role_bindings = value
@@ -1844,6 +1880,10 @@ module Akeyless
1844
1880
  self.mysql_revocation_statements = attributes[:'mysql_revocation_statements']
1845
1881
  end
1846
1882
 
1883
+ if attributes.key?(:'openai_url')
1884
+ self.openai_url = attributes[:'openai_url']
1885
+ end
1886
+
1847
1887
  if attributes.key?(:'oracle_creation_statements')
1848
1888
  self.oracle_creation_statements = attributes[:'oracle_creation_statements']
1849
1889
  end
@@ -1856,6 +1896,10 @@ module Akeyless
1856
1896
  self.oracle_wallet_details = attributes[:'oracle_wallet_details']
1857
1897
  end
1858
1898
 
1899
+ if attributes.key?(:'organization_id')
1900
+ self.organization_id = attributes[:'organization_id']
1901
+ end
1902
+
1859
1903
  if attributes.key?(:'password')
1860
1904
  self.password = attributes[:'password']
1861
1905
  end
@@ -1888,6 +1932,10 @@ module Akeyless
1888
1932
  self.privileged_user = attributes[:'privileged_user']
1889
1933
  end
1890
1934
 
1935
+ if attributes.key?(:'project_id')
1936
+ self.project_id = attributes[:'project_id']
1937
+ end
1938
+
1891
1939
  if attributes.key?(:'rabbitmq_server_password')
1892
1940
  self.rabbitmq_server_password = attributes[:'rabbitmq_server_password']
1893
1941
  end
@@ -2146,6 +2194,8 @@ module Akeyless
2146
2194
  admin_pwd == o.admin_pwd &&
2147
2195
  admin_rotation_interval_days == o.admin_rotation_interval_days &&
2148
2196
  administrative_port == o.administrative_port &&
2197
+ api_key == o.api_key &&
2198
+ api_key_id == o.api_key_id &&
2149
2199
  artifactory_admin_apikey == o.artifactory_admin_apikey &&
2150
2200
  artifactory_admin_username == o.artifactory_admin_username &&
2151
2201
  artifactory_base_url == o.artifactory_base_url &&
@@ -2228,6 +2278,7 @@ module Akeyless
2228
2278
  failure_message == o.failure_message &&
2229
2279
  fixed_user_only == o.fixed_user_only &&
2230
2280
  gcp_key_algo == o.gcp_key_algo &&
2281
+ gcp_project_id == o.gcp_project_id &&
2231
2282
  gcp_role_bindings == o.gcp_role_bindings &&
2232
2283
  gcp_service_account_email == o.gcp_service_account_email &&
2233
2284
  gcp_service_account_key == o.gcp_service_account_key &&
@@ -2325,9 +2376,11 @@ module Akeyless
2325
2376
  mssql_revocation_statements == o.mssql_revocation_statements &&
2326
2377
  mysql_creation_statements == o.mysql_creation_statements &&
2327
2378
  mysql_revocation_statements == o.mysql_revocation_statements &&
2379
+ openai_url == o.openai_url &&
2328
2380
  oracle_creation_statements == o.oracle_creation_statements &&
2329
2381
  oracle_revocation_statements == o.oracle_revocation_statements &&
2330
2382
  oracle_wallet_details == o.oracle_wallet_details &&
2383
+ organization_id == o.organization_id &&
2331
2384
  password == o.password &&
2332
2385
  password_length == o.password_length &&
2333
2386
  password_policy == o.password_policy &&
@@ -2336,6 +2389,7 @@ module Akeyless
2336
2389
  postgres_creation_statements == o.postgres_creation_statements &&
2337
2390
  postgres_revocation_statements == o.postgres_revocation_statements &&
2338
2391
  privileged_user == o.privileged_user &&
2392
+ project_id == o.project_id &&
2339
2393
  rabbitmq_server_password == o.rabbitmq_server_password &&
2340
2394
  rabbitmq_server_uri == o.rabbitmq_server_uri &&
2341
2395
  rabbitmq_server_user == o.rabbitmq_server_user &&
@@ -2402,7 +2456,7 @@ module Akeyless
2402
2456
  # Calculates hash code according to all attributes.
2403
2457
  # @return [Integer] Hash code
2404
2458
  def hash
2405
- [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_external_id, aws_region, aws_role_arns, aws_secret_access_key, aws_session_tags, aws_session_token, aws_transitive_tag_keys, aws_user_console_access, aws_user_groups, aws_user_policies, aws_user_programmatic_access, azure_administrative_unit, 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, azure_username, 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, cloud_service_provider, cluster_mode, connection_type, create_sync_url, db_client_id, db_client_secret, 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_tenant_id, 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, expiration_date, 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_key_id, 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_organization_name, github_repository_path, gitlab_access_token, gitlab_access_type, gitlab_certificate, gitlab_group_name, gitlab_project_name, gitlab_role, gitlab_token_scope, gitlab_url, gke_cluster_ca_certificate, gke_cluster_endpoint, gke_cluster_name, gke_service_account_key, gke_service_account_name, google_workspace_access_mode, google_workspace_admin_name, google_workspace_fixed_user_name_sub_claim_key, google_workspace_group_name, google_workspace_group_role, google_workspace_role_name, google_workspace_role_scope, grace_rotated_secret_key, grant_types, groups, gw_cloud_identity_external_id_opt, 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_auth_type, k8s_bearer_token, k8s_client_cert_data, k8s_client_key_data, k8s_cluster_ca_certificate, k8s_cluster_endpoint, k8s_cluster_name, 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_fixed_user_name_sub_claim_key, ldap_fixed_user_type, ldap_group_dn, 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, oracle_revocation_statements, oracle_wallet_details, 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, rdp_fixed_user_name_sub_claim_key, 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_auth_mode, sf_key_algo, 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, use_gw_service_account, user_name, user_password, user_principal_name, user_ttl, username_length, username_policy, username_template, 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_access_token, venafi_tpp_client_id, venafi_tpp_password, venafi_tpp_refresh_token, venafi_tpp_username, venafi_use_tpp, venafi_zone, warn_before_user_expiration_min].hash
2459
+ [access_token_manager_id, acl_rules, active, admin_name, admin_pwd, admin_rotation_interval_days, administrative_port, api_key, api_key_id, 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_external_id, aws_region, aws_role_arns, aws_secret_access_key, aws_session_tags, aws_session_token, aws_transitive_tag_keys, aws_user_console_access, aws_user_groups, aws_user_policies, aws_user_programmatic_access, azure_administrative_unit, 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, azure_username, 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, cloud_service_provider, cluster_mode, connection_type, create_sync_url, db_client_id, db_client_secret, 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_tenant_id, 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, expiration_date, externally_provided_user, failure_message, fixed_user_only, gcp_key_algo, gcp_project_id, gcp_role_bindings, gcp_service_account_email, gcp_service_account_key, gcp_service_account_key_base64, gcp_service_account_key_id, 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_organization_name, github_repository_path, gitlab_access_token, gitlab_access_type, gitlab_certificate, gitlab_group_name, gitlab_project_name, gitlab_role, gitlab_token_scope, gitlab_url, gke_cluster_ca_certificate, gke_cluster_endpoint, gke_cluster_name, gke_service_account_key, gke_service_account_name, google_workspace_access_mode, google_workspace_admin_name, google_workspace_fixed_user_name_sub_claim_key, google_workspace_group_name, google_workspace_group_role, google_workspace_role_name, google_workspace_role_scope, grace_rotated_secret_key, grant_types, groups, gw_cloud_identity_external_id_opt, 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_auth_type, k8s_bearer_token, k8s_client_cert_data, k8s_client_key_data, k8s_cluster_ca_certificate, k8s_cluster_endpoint, k8s_cluster_name, 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_fixed_user_name_sub_claim_key, ldap_fixed_user_type, ldap_group_dn, 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, openai_url, oracle_creation_statements, oracle_revocation_statements, oracle_wallet_details, organization_id, password, password_length, password_policy, payload, ping_url, postgres_creation_statements, postgres_revocation_statements, privileged_user, project_id, 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, rdp_fixed_user_name_sub_claim_key, 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_auth_mode, sf_key_algo, 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, use_gw_service_account, user_name, user_password, user_principal_name, user_ttl, username_length, username_policy, username_template, 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_access_token, venafi_tpp_client_id, venafi_tpp_password, venafi_tpp_refresh_token, venafi_tpp_username, venafi_use_tpp, venafi_zone, warn_before_user_expiration_min].hash
2406
2460
  end
2407
2461
 
2408
2462
  # Builds the object from hash
@@ -33,6 +33,9 @@ module Akeyless
33
33
  # Service account key algorithm, e.g. KEY_ALG_RSA_1024
34
34
  attr_accessor :gcp_key_algo
35
35
 
36
+ # GCP Project ID override for dynamic secret operations (tmp service accounts)
37
+ attr_accessor :gcp_project_id
38
+
36
39
  # The email of the fixed service acocunt to generate keys or tokens for. (revelant for service-account-type=fixed)
37
40
  attr_accessor :gcp_sa_email
38
41
 
@@ -78,6 +81,7 @@ module Akeyless
78
81
  :'gcp_cred_type' => :'gcp-cred-type',
79
82
  :'gcp_key' => :'gcp-key',
80
83
  :'gcp_key_algo' => :'gcp-key-algo',
84
+ :'gcp_project_id' => :'gcp-project-id',
81
85
  :'gcp_sa_email' => :'gcp-sa-email',
82
86
  :'gcp_token_scopes' => :'gcp-token-scopes',
83
87
  :'json' => :'json',
@@ -107,6 +111,7 @@ module Akeyless
107
111
  :'gcp_cred_type' => :'String',
108
112
  :'gcp_key' => :'String',
109
113
  :'gcp_key_algo' => :'String',
114
+ :'gcp_project_id' => :'String',
110
115
  :'gcp_sa_email' => :'String',
111
116
  :'gcp_token_scopes' => :'String',
112
117
  :'json' => :'Boolean',
@@ -167,6 +172,10 @@ module Akeyless
167
172
  self.gcp_key_algo = attributes[:'gcp_key_algo']
168
173
  end
169
174
 
175
+ if attributes.key?(:'gcp_project_id')
176
+ self.gcp_project_id = attributes[:'gcp_project_id']
177
+ end
178
+
170
179
  if attributes.key?(:'gcp_sa_email')
171
180
  self.gcp_sa_email = attributes[:'gcp_sa_email']
172
181
  end
@@ -262,6 +271,7 @@ module Akeyless
262
271
  gcp_cred_type == o.gcp_cred_type &&
263
272
  gcp_key == o.gcp_key &&
264
273
  gcp_key_algo == o.gcp_key_algo &&
274
+ gcp_project_id == o.gcp_project_id &&
265
275
  gcp_sa_email == o.gcp_sa_email &&
266
276
  gcp_token_scopes == o.gcp_token_scopes &&
267
277
  json == o.json &&
@@ -285,7 +295,7 @@ module Akeyless
285
295
  # Calculates hash code according to all attributes.
286
296
  # @return [Integer] Hash code
287
297
  def hash
288
- [custom_username_template, delete_protection, description, gcp_cred_type, gcp_key, gcp_key_algo, gcp_sa_email, gcp_token_scopes, json, name, producer_encryption_key_name, role_binding, service_account_type, tags, target_name, token, uid_token, user_ttl].hash
298
+ [custom_username_template, delete_protection, description, gcp_cred_type, gcp_key, gcp_key_algo, gcp_project_id, gcp_sa_email, gcp_token_scopes, json, name, producer_encryption_key_name, role_binding, service_account_type, tags, target_name, token, uid_token, user_ttl].hash
289
299
  end
290
300
 
291
301
  # Builds the object from hash
@@ -0,0 +1,339 @@
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: 3.0
7
+ Contact: support@akeyless.io
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.10.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ # dynamicSecretCreateOpenAI is a command that creates OpenAI dynamic secret
18
+ class DynamicSecretCreateOpenAI
19
+ # Customize how temporary usernames are generated using go template
20
+ attr_accessor :custom_username_template
21
+
22
+ # Protection from accidental deletion of this object [true/false]
23
+ attr_accessor :delete_protection
24
+
25
+ # Description of the object
26
+ attr_accessor :description
27
+
28
+ # Set output format to JSON
29
+ attr_accessor :json
30
+
31
+ # Dynamic secret name
32
+ attr_accessor :name
33
+
34
+ # Dynamic producer encryption key
35
+ attr_accessor :producer_encryption_key_name
36
+
37
+ # Project ID
38
+ attr_accessor :project_id
39
+
40
+ # Add tags attached to this object
41
+ attr_accessor :tags
42
+
43
+ # Name of existing target to use in producer creation
44
+ attr_accessor :target_name
45
+
46
+ # Authentication token (see `/auth` and `/configure`)
47
+ attr_accessor :token
48
+
49
+ # The universal identity token, Required only for universal_identity authentication
50
+ attr_accessor :uid_token
51
+
52
+ # User TTL
53
+ attr_accessor :user_ttl
54
+
55
+ # Attribute mapping from ruby-style variable name to JSON key.
56
+ def self.attribute_map
57
+ {
58
+ :'custom_username_template' => :'custom-username-template',
59
+ :'delete_protection' => :'delete_protection',
60
+ :'description' => :'description',
61
+ :'json' => :'json',
62
+ :'name' => :'name',
63
+ :'producer_encryption_key_name' => :'producer-encryption-key-name',
64
+ :'project_id' => :'project-id',
65
+ :'tags' => :'tags',
66
+ :'target_name' => :'target-name',
67
+ :'token' => :'token',
68
+ :'uid_token' => :'uid-token',
69
+ :'user_ttl' => :'user-ttl'
70
+ }
71
+ end
72
+
73
+ # Returns all the JSON keys this model knows about
74
+ def self.acceptable_attributes
75
+ attribute_map.values
76
+ end
77
+
78
+ # Attribute type mapping.
79
+ def self.openapi_types
80
+ {
81
+ :'custom_username_template' => :'String',
82
+ :'delete_protection' => :'String',
83
+ :'description' => :'String',
84
+ :'json' => :'Boolean',
85
+ :'name' => :'String',
86
+ :'producer_encryption_key_name' => :'String',
87
+ :'project_id' => :'String',
88
+ :'tags' => :'Array<String>',
89
+ :'target_name' => :'String',
90
+ :'token' => :'String',
91
+ :'uid_token' => :'String',
92
+ :'user_ttl' => :'String'
93
+ }
94
+ end
95
+
96
+ # List of attributes with nullable: true
97
+ def self.openapi_nullable
98
+ Set.new([
99
+ ])
100
+ end
101
+
102
+ # Initializes the object
103
+ # @param [Hash] attributes Model attributes in the form of hash
104
+ def initialize(attributes = {})
105
+ if (!attributes.is_a?(Hash))
106
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::DynamicSecretCreateOpenAI` initialize method"
107
+ end
108
+
109
+ # check to see if the attribute exists and convert string to symbol for hash key
110
+ attributes = attributes.each_with_object({}) { |(k, v), h|
111
+ if (!self.class.attribute_map.key?(k.to_sym))
112
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::DynamicSecretCreateOpenAI`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
113
+ end
114
+ h[k.to_sym] = v
115
+ }
116
+
117
+ if attributes.key?(:'custom_username_template')
118
+ self.custom_username_template = attributes[:'custom_username_template']
119
+ end
120
+
121
+ if attributes.key?(:'delete_protection')
122
+ self.delete_protection = attributes[:'delete_protection']
123
+ end
124
+
125
+ if attributes.key?(:'description')
126
+ self.description = attributes[:'description']
127
+ end
128
+
129
+ if attributes.key?(:'json')
130
+ self.json = attributes[:'json']
131
+ else
132
+ self.json = false
133
+ end
134
+
135
+ if attributes.key?(:'name')
136
+ self.name = attributes[:'name']
137
+ else
138
+ self.name = nil
139
+ end
140
+
141
+ if attributes.key?(:'producer_encryption_key_name')
142
+ self.producer_encryption_key_name = attributes[:'producer_encryption_key_name']
143
+ end
144
+
145
+ if attributes.key?(:'project_id')
146
+ self.project_id = attributes[:'project_id']
147
+ end
148
+
149
+ if attributes.key?(:'tags')
150
+ if (value = attributes[:'tags']).is_a?(Array)
151
+ self.tags = value
152
+ end
153
+ end
154
+
155
+ if attributes.key?(:'target_name')
156
+ self.target_name = attributes[:'target_name']
157
+ end
158
+
159
+ if attributes.key?(:'token')
160
+ self.token = attributes[:'token']
161
+ end
162
+
163
+ if attributes.key?(:'uid_token')
164
+ self.uid_token = attributes[:'uid_token']
165
+ end
166
+
167
+ if attributes.key?(:'user_ttl')
168
+ self.user_ttl = attributes[:'user_ttl']
169
+ else
170
+ self.user_ttl = '60m'
171
+ end
172
+ end
173
+
174
+ # Show invalid properties with the reasons. Usually used together with valid?
175
+ # @return Array for valid properties with the reasons
176
+ def list_invalid_properties
177
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
178
+ invalid_properties = Array.new
179
+ if @name.nil?
180
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
181
+ end
182
+
183
+ invalid_properties
184
+ end
185
+
186
+ # Check to see if the all the properties in the model are valid
187
+ # @return true if the model is valid
188
+ def valid?
189
+ warn '[DEPRECATED] the `valid?` method is obsolete'
190
+ return false if @name.nil?
191
+ true
192
+ end
193
+
194
+ # Checks equality by comparing each attribute.
195
+ # @param [Object] Object to be compared
196
+ def ==(o)
197
+ return true if self.equal?(o)
198
+ self.class == o.class &&
199
+ custom_username_template == o.custom_username_template &&
200
+ delete_protection == o.delete_protection &&
201
+ description == o.description &&
202
+ json == o.json &&
203
+ name == o.name &&
204
+ producer_encryption_key_name == o.producer_encryption_key_name &&
205
+ project_id == o.project_id &&
206
+ tags == o.tags &&
207
+ target_name == o.target_name &&
208
+ token == o.token &&
209
+ uid_token == o.uid_token &&
210
+ user_ttl == o.user_ttl
211
+ end
212
+
213
+ # @see the `==` method
214
+ # @param [Object] Object to be compared
215
+ def eql?(o)
216
+ self == o
217
+ end
218
+
219
+ # Calculates hash code according to all attributes.
220
+ # @return [Integer] Hash code
221
+ def hash
222
+ [custom_username_template, delete_protection, description, json, name, producer_encryption_key_name, project_id, tags, target_name, token, uid_token, user_ttl].hash
223
+ end
224
+
225
+ # Builds the object from hash
226
+ # @param [Hash] attributes Model attributes in the form of hash
227
+ # @return [Object] Returns the model itself
228
+ def self.build_from_hash(attributes)
229
+ return nil unless attributes.is_a?(Hash)
230
+ attributes = attributes.transform_keys(&:to_sym)
231
+ transformed_hash = {}
232
+ openapi_types.each_pair do |key, type|
233
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
234
+ transformed_hash["#{key}"] = nil
235
+ elsif type =~ /\AArray<(.*)>/i
236
+ # check to ensure the input is an array given that the attribute
237
+ # is documented as an array but the input is not
238
+ if attributes[attribute_map[key]].is_a?(Array)
239
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
240
+ end
241
+ elsif !attributes[attribute_map[key]].nil?
242
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
243
+ end
244
+ end
245
+ new(transformed_hash)
246
+ end
247
+
248
+ # Deserializes the data based on type
249
+ # @param string type Data type
250
+ # @param string value Value to be deserialized
251
+ # @return [Object] Deserialized data
252
+ def self._deserialize(type, value)
253
+ case type.to_sym
254
+ when :Time
255
+ Time.parse(value)
256
+ when :Date
257
+ Date.parse(value)
258
+ when :String
259
+ value.to_s
260
+ when :Integer
261
+ value.to_i
262
+ when :Float
263
+ value.to_f
264
+ when :Boolean
265
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
266
+ true
267
+ else
268
+ false
269
+ end
270
+ when :Object
271
+ # generic object (usually a Hash), return directly
272
+ value
273
+ when /\AArray<(?<inner_type>.+)>\z/
274
+ inner_type = Regexp.last_match[:inner_type]
275
+ value.map { |v| _deserialize(inner_type, v) }
276
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
277
+ k_type = Regexp.last_match[:k_type]
278
+ v_type = Regexp.last_match[:v_type]
279
+ {}.tap do |hash|
280
+ value.each do |k, v|
281
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
282
+ end
283
+ end
284
+ else # model
285
+ # models (e.g. Pet) or oneOf
286
+ klass = Akeyless.const_get(type)
287
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
288
+ end
289
+ end
290
+
291
+ # Returns the string representation of the object
292
+ # @return [String] String presentation of the object
293
+ def to_s
294
+ to_hash.to_s
295
+ end
296
+
297
+ # to_body is an alias to to_hash (backward compatibility)
298
+ # @return [Hash] Returns the object in the form of hash
299
+ def to_body
300
+ to_hash
301
+ end
302
+
303
+ # Returns the object in the form of hash
304
+ # @return [Hash] Returns the object in the form of hash
305
+ def to_hash
306
+ hash = {}
307
+ self.class.attribute_map.each_pair do |attr, param|
308
+ value = self.send(attr)
309
+ if value.nil?
310
+ is_nullable = self.class.openapi_nullable.include?(attr)
311
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
312
+ end
313
+
314
+ hash[param] = _to_hash(value)
315
+ end
316
+ hash
317
+ end
318
+
319
+ # Outputs non-array value in the form of hash
320
+ # For object, use to_hash. Otherwise, just return the value
321
+ # @param [Object] value Any valid value
322
+ # @return [Hash] Returns the value in the form of hash
323
+ def _to_hash(value)
324
+ if value.is_a?(Array)
325
+ value.compact.map { |v| _to_hash(v) }
326
+ elsif value.is_a?(Hash)
327
+ {}.tap do |hash|
328
+ value.each { |k, v| hash[k] = _to_hash(v) }
329
+ end
330
+ elsif value.respond_to? :to_hash
331
+ value.to_hash
332
+ else
333
+ value
334
+ end
335
+ end
336
+
337
+ end
338
+
339
+ end
@@ -33,6 +33,9 @@ module Akeyless
33
33
  # Service account key algorithm, e.g. KEY_ALG_RSA_1024
34
34
  attr_accessor :gcp_key_algo
35
35
 
36
+ # GCP Project ID override for dynamic secret operations (tmp service accounts)
37
+ attr_accessor :gcp_project_id
38
+
36
39
  # The email of the fixed service acocunt to generate keys or tokens for. (revelant for service-account-type=fixed)
37
40
  attr_accessor :gcp_sa_email
38
41
 
@@ -81,6 +84,7 @@ module Akeyless
81
84
  :'gcp_cred_type' => :'gcp-cred-type',
82
85
  :'gcp_key' => :'gcp-key',
83
86
  :'gcp_key_algo' => :'gcp-key-algo',
87
+ :'gcp_project_id' => :'gcp-project-id',
84
88
  :'gcp_sa_email' => :'gcp-sa-email',
85
89
  :'gcp_token_scopes' => :'gcp-token-scopes',
86
90
  :'json' => :'json',
@@ -111,6 +115,7 @@ module Akeyless
111
115
  :'gcp_cred_type' => :'String',
112
116
  :'gcp_key' => :'String',
113
117
  :'gcp_key_algo' => :'String',
118
+ :'gcp_project_id' => :'String',
114
119
  :'gcp_sa_email' => :'String',
115
120
  :'gcp_token_scopes' => :'String',
116
121
  :'json' => :'Boolean',
@@ -172,6 +177,10 @@ module Akeyless
172
177
  self.gcp_key_algo = attributes[:'gcp_key_algo']
173
178
  end
174
179
 
180
+ if attributes.key?(:'gcp_project_id')
181
+ self.gcp_project_id = attributes[:'gcp_project_id']
182
+ end
183
+
175
184
  if attributes.key?(:'gcp_sa_email')
176
185
  self.gcp_sa_email = attributes[:'gcp_sa_email']
177
186
  end
@@ -271,6 +280,7 @@ module Akeyless
271
280
  gcp_cred_type == o.gcp_cred_type &&
272
281
  gcp_key == o.gcp_key &&
273
282
  gcp_key_algo == o.gcp_key_algo &&
283
+ gcp_project_id == o.gcp_project_id &&
274
284
  gcp_sa_email == o.gcp_sa_email &&
275
285
  gcp_token_scopes == o.gcp_token_scopes &&
276
286
  json == o.json &&
@@ -295,7 +305,7 @@ module Akeyless
295
305
  # Calculates hash code according to all attributes.
296
306
  # @return [Integer] Hash code
297
307
  def hash
298
- [custom_username_template, delete_protection, description, gcp_cred_type, gcp_key, gcp_key_algo, gcp_sa_email, gcp_token_scopes, json, name, new_name, producer_encryption_key_name, role_binding, service_account_type, tags, target_name, token, uid_token, user_ttl].hash
308
+ [custom_username_template, delete_protection, description, gcp_cred_type, gcp_key, gcp_key_algo, gcp_project_id, gcp_sa_email, gcp_token_scopes, json, name, new_name, producer_encryption_key_name, role_binding, service_account_type, tags, target_name, token, uid_token, user_ttl].hash
299
309
  end
300
310
 
301
311
  # Builds the object from hash