akeyless 5.0.18 → 5.0.20

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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -1
  3. data/docs/CertificateDiscovery.md +34 -0
  4. data/docs/CertificateDiscoveryOutput.md +18 -0
  5. data/docs/CertificateMigration.md +20 -0
  6. data/docs/CertificatePayload.md +30 -0
  7. data/docs/CertificateScanTarget.md +20 -0
  8. data/docs/CertificateStore.md +2 -0
  9. data/docs/CreateRole.md +5 -5
  10. data/docs/CreateUSC.md +2 -0
  11. data/docs/GatewayCreateMigration.md +7 -1
  12. data/docs/GatewayUpdateMigration.md +6 -0
  13. data/docs/GatewayUpdateTlsCert.md +2 -0
  14. data/docs/GeneralConfigPart.md +6 -0
  15. data/docs/GetKubeExecCreds.md +1 -1
  16. data/docs/GetPKICertificate.md +1 -1
  17. data/docs/MigrationsConfigPart.md +2 -0
  18. data/docs/ScanResults.md +32 -0
  19. data/docs/SecretInfo.md +2 -0
  20. data/docs/TargetError.md +22 -0
  21. data/docs/UpdateItem.md +2 -0
  22. data/docs/UpdateRole.md +5 -5
  23. data/docs/UscCreate.md +2 -0
  24. data/docs/UscDelete.md +2 -0
  25. data/docs/V2Api.md +65 -2
  26. data/lib/akeyless/api/v2_api.rb +64 -0
  27. data/lib/akeyless/models/certificate_discovery.rb +318 -0
  28. data/lib/akeyless/models/certificate_discovery_output.rb +214 -0
  29. data/lib/akeyless/models/certificate_migration.rb +223 -0
  30. data/lib/akeyless/models/certificate_payload.rb +272 -0
  31. data/lib/akeyless/models/certificate_scan_target.rb +223 -0
  32. data/lib/akeyless/models/certificate_store.rb +12 -1
  33. data/lib/akeyless/models/create_role.rb +5 -5
  34. data/lib/akeyless/models/create_usc.rb +11 -1
  35. data/lib/akeyless/models/gateway_create_migration.rb +43 -2
  36. data/lib/akeyless/models/gateway_update_migration.rb +42 -1
  37. data/lib/akeyless/models/gateway_update_tls_cert.rb +13 -1
  38. data/lib/akeyless/models/general_config_part.rb +30 -1
  39. data/lib/akeyless/models/get_kube_exec_creds.rb +1 -1
  40. data/lib/akeyless/models/get_pki_certificate.rb +1 -1
  41. data/lib/akeyless/models/migrations_config_part.rb +12 -1
  42. data/lib/akeyless/models/scan_results.rb +282 -0
  43. data/lib/akeyless/models/secret_info.rb +10 -1
  44. data/lib/akeyless/models/target_error.rb +233 -0
  45. data/lib/akeyless/models/update_item.rb +11 -1
  46. data/lib/akeyless/models/update_role.rb +5 -5
  47. data/lib/akeyless/models/usc_create.rb +11 -1
  48. data/lib/akeyless/models/usc_delete.rb +11 -1
  49. data/lib/akeyless/version.rb +1 -1
  50. data/lib/akeyless.rb +7 -0
  51. data/spec/models/certificate_discovery_output_spec.rb +36 -0
  52. data/spec/models/certificate_discovery_spec.rb +84 -0
  53. data/spec/models/certificate_migration_spec.rb +42 -0
  54. data/spec/models/certificate_payload_spec.rb +72 -0
  55. data/spec/models/certificate_scan_target_spec.rb +42 -0
  56. data/spec/models/scan_results_spec.rb +78 -0
  57. data/spec/models/target_error_spec.rb +48 -0
  58. metadata +30 -2
@@ -21,6 +21,8 @@ module Akeyless
21
21
 
22
22
  attr_accessor :expiration_date
23
23
 
24
+ attr_accessor :expiration_events
25
+
24
26
  attr_accessor :name
25
27
 
26
28
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -29,6 +31,7 @@ module Akeyless
29
31
  :'certificate_pem' => :'certificate_pem',
30
32
  :'common_name' => :'common_name',
31
33
  :'expiration_date' => :'expiration_date',
34
+ :'expiration_events' => :'expiration_events',
32
35
  :'name' => :'name'
33
36
  }
34
37
  end
@@ -44,6 +47,7 @@ module Akeyless
44
47
  :'certificate_pem' => :'String',
45
48
  :'common_name' => :'String',
46
49
  :'expiration_date' => :'Time',
50
+ :'expiration_events' => :'Array<CertificateExpirationEvent>',
47
51
  :'name' => :'String'
48
52
  }
49
53
  end
@@ -81,6 +85,12 @@ module Akeyless
81
85
  self.expiration_date = attributes[:'expiration_date']
82
86
  end
83
87
 
88
+ if attributes.key?(:'expiration_events')
89
+ if (value = attributes[:'expiration_events']).is_a?(Array)
90
+ self.expiration_events = value
91
+ end
92
+ end
93
+
84
94
  if attributes.key?(:'name')
85
95
  self.name = attributes[:'name']
86
96
  end
@@ -109,6 +119,7 @@ module Akeyless
109
119
  certificate_pem == o.certificate_pem &&
110
120
  common_name == o.common_name &&
111
121
  expiration_date == o.expiration_date &&
122
+ expiration_events == o.expiration_events &&
112
123
  name == o.name
113
124
  end
114
125
 
@@ -121,7 +132,7 @@ module Akeyless
121
132
  # Calculates hash code according to all attributes.
122
133
  # @return [Integer] Hash code
123
134
  def hash
124
- [certificate_pem, common_name, expiration_date, name].hash
135
+ [certificate_pem, common_name, expiration_date, expiration_events, name].hash
125
136
  end
126
137
 
127
138
  # Builds the object from hash
@@ -18,7 +18,7 @@ module Akeyless
18
18
  # Allow this role to view analytics. Currently only 'none', 'own', 'all' values are supported, allowing associated auth methods to view reports produced by the same auth methods.
19
19
  attr_accessor :analytics_access
20
20
 
21
- # Allow this role to view audit logs. Currently only 'none', 'own' and 'all' values are supported, allowing associated auth methods to view audit logs produced by the same auth methods.
21
+ # Allow this role to view audit logs. Currently only 'none', 'own', 'scoped' and 'all' values are supported, allowing associated auth methods to view audit logs produced by the same auth methods.
22
22
  attr_accessor :audit_access
23
23
 
24
24
  # Deprecated - use description
@@ -30,7 +30,7 @@ module Akeyless
30
30
  # Description of the object
31
31
  attr_accessor :description
32
32
 
33
- # Allow this role to view Event Center. Currently only 'none', 'own' and 'all' values are supported
33
+ # Allow this role to view Event Center. Currently only 'none', 'scoped' and 'all' values are supported
34
34
  attr_accessor :event_center_access
35
35
 
36
36
  # Allow this role to manage Event Forwarders. Currently only 'none' and 'all' values are supported.
@@ -39,7 +39,7 @@ module Akeyless
39
39
  # Allow this role to manage the following Event Forwarders.
40
40
  attr_accessor :event_forwarders_name
41
41
 
42
- # Allow this role to view gw analytics. Currently only 'none', 'own', 'all' values are supported, allowing associated auth methods to view reports produced by the same auth methods.
42
+ # Allow this role to view gw analytics. Currently only 'none', 'scoped', 'all' values are supported, allowing associated auth methods to view reports produced by the same auth methods.
43
43
  attr_accessor :gw_analytics_access
44
44
 
45
45
  # Set output format to JSON
@@ -48,10 +48,10 @@ module Akeyless
48
48
  # Role name
49
49
  attr_accessor :name
50
50
 
51
- # Allow this role to view Reverse RBAC. Supported values: 'own', 'all'.
51
+ # Allow this role to view Reverse RBAC. Supported values: 'scoped', 'all'.
52
52
  attr_accessor :reverse_rbac_access
53
53
 
54
- # Allow this role to view SRA Clusters. Currently only 'none', 'own', 'all' values are supported.
54
+ # Allow this role to view SRA Clusters. Currently only 'none', 'scoped', 'all' values are supported.
55
55
  attr_accessor :sra_reports_access
56
56
 
57
57
  # Authentication token (see `/auth` and `/configure`)
@@ -28,6 +28,9 @@ module Akeyless
28
28
  # GCP Project ID (Relevant only for GCP targets)
29
29
  attr_accessor :gcp_project_id
30
30
 
31
+ # GCP Secret Manager regions to query for regional secrets (comma-separated, e.g., us-east1,us-west1). Max 12 regions. Required when listing with object-type=regional-secrets.
32
+ attr_accessor :gcp_sm_regions
33
+
31
34
  # Additional custom fields to associate with the item
32
35
  attr_accessor :item_custom_fields
33
36
 
@@ -65,6 +68,7 @@ module Akeyless
65
68
  :'delete_protection' => :'delete_protection',
66
69
  :'description' => :'description',
67
70
  :'gcp_project_id' => :'gcp-project-id',
71
+ :'gcp_sm_regions' => :'gcp-sm-regions',
68
72
  :'item_custom_fields' => :'item-custom-fields',
69
73
  :'json' => :'json',
70
74
  :'k8s_namespace' => :'k8s-namespace',
@@ -90,6 +94,7 @@ module Akeyless
90
94
  :'delete_protection' => :'String',
91
95
  :'description' => :'String',
92
96
  :'gcp_project_id' => :'String',
97
+ :'gcp_sm_regions' => :'String',
93
98
  :'item_custom_fields' => :'Hash<String, String>',
94
99
  :'json' => :'Boolean',
95
100
  :'k8s_namespace' => :'String',
@@ -140,6 +145,10 @@ module Akeyless
140
145
  self.gcp_project_id = attributes[:'gcp_project_id']
141
146
  end
142
147
 
148
+ if attributes.key?(:'gcp_sm_regions')
149
+ self.gcp_sm_regions = attributes[:'gcp_sm_regions']
150
+ end
151
+
143
152
  if attributes.key?(:'item_custom_fields')
144
153
  if (value = attributes[:'item_custom_fields']).is_a?(Hash)
145
154
  self.item_custom_fields = value
@@ -227,6 +236,7 @@ module Akeyless
227
236
  delete_protection == o.delete_protection &&
228
237
  description == o.description &&
229
238
  gcp_project_id == o.gcp_project_id &&
239
+ gcp_sm_regions == o.gcp_sm_regions &&
230
240
  item_custom_fields == o.item_custom_fields &&
231
241
  json == o.json &&
232
242
  k8s_namespace == o.k8s_namespace &&
@@ -248,7 +258,7 @@ module Akeyless
248
258
  # Calculates hash code according to all attributes.
249
259
  # @return [Integer] Hash code
250
260
  def hash
251
- [azure_kv_name, delete_protection, description, gcp_project_id, item_custom_fields, json, k8s_namespace, name, tags, target_to_associate, token, uid_token, usc_prefix, use_prefix_as_filter].hash
261
+ [azure_kv_name, delete_protection, description, gcp_project_id, gcp_sm_regions, item_custom_fields, json, k8s_namespace, name, tags, target_to_associate, token, uid_token, usc_prefix, use_prefix_as_filter].hash
252
262
  end
253
263
 
254
264
  # Builds the object from hash
@@ -108,6 +108,9 @@ module Akeyless
108
108
  # Azure Key Vault Access tenant ID (relevant only for Azure Key Vault migration)
109
109
  attr_accessor :azure_tenant_id
110
110
 
111
+ # How many days before the expiration of the certificate would you like to be notified.
112
+ attr_accessor :expiration_event_in
113
+
111
114
  # Base64-encoded GCP Service Account private key text with sufficient permissions to Secrets Manager, Minimum required permission is Secret Manager Secret Accessor, e.g. 'roles/secretmanager.secretAccessor' (relevant only for GCP migration)
112
115
  attr_accessor :gcp_key
113
116
 
@@ -123,6 +126,9 @@ module Akeyless
123
126
  # HashiCorp Vault API URL, e.g. https://vault-mgr01:8200 (relevant only for HasiCorp Vault migration)
124
127
  attr_accessor :hashi_url
125
128
 
129
+ # A comma separated list of IPs, CIDR ranges, or DNS names to scan
130
+ attr_accessor :hosts
131
+
126
132
  # Set output format to JSON
127
133
  attr_accessor :json
128
134
 
@@ -156,6 +162,9 @@ module Akeyless
156
162
  # Migration name
157
163
  attr_accessor :name
158
164
 
165
+ # A comma separated list of port ranges Examples: \"80,443\" or \"80,443,8080-8090\" or \"443\"
166
+ attr_accessor :port_ranges
167
+
159
168
  # The name of the key that protects the classic key value (if empty, the account default key will be used)
160
169
  attr_accessor :protection_key
161
170
 
@@ -189,7 +198,7 @@ module Akeyless
189
198
  # Authentication token (see `/auth` and `/configure`)
190
199
  attr_accessor :token
191
200
 
192
- # Migration type (hashi/aws/gcp/k8s/azure_kv/active_directory)
201
+ # Migration type (hashi/aws/gcp/k8s/azure_kv/active_directory/server_inventory/certificate)
193
202
  attr_accessor :type
194
203
 
195
204
  # The universal identity token, Required only for universal_identity authentication
@@ -229,11 +238,13 @@ module Akeyless
229
238
  :'azure_kv_name' => :'azure-kv-name',
230
239
  :'azure_secret' => :'azure-secret',
231
240
  :'azure_tenant_id' => :'azure-tenant-id',
241
+ :'expiration_event_in' => :'expiration-event-in',
232
242
  :'gcp_key' => :'gcp-key',
233
243
  :'hashi_json' => :'hashi-json',
234
244
  :'hashi_ns' => :'hashi-ns',
235
245
  :'hashi_token' => :'hashi-token',
236
246
  :'hashi_url' => :'hashi-url',
247
+ :'hosts' => :'hosts',
237
248
  :'json' => :'json',
238
249
  :'k8s_ca_certificate' => :'k8s-ca-certificate',
239
250
  :'k8s_client_certificate' => :'k8s-client-certificate',
@@ -245,6 +256,7 @@ module Akeyless
245
256
  :'k8s_url' => :'k8s-url',
246
257
  :'k8s_username' => :'k8s-username',
247
258
  :'name' => :'name',
259
+ :'port_ranges' => :'port-ranges',
248
260
  :'protection_key' => :'protection-key',
249
261
  :'si_auto_rotate' => :'si-auto-rotate',
250
262
  :'si_rotation_hour' => :'si-rotation-hour',
@@ -300,11 +312,13 @@ module Akeyless
300
312
  :'azure_kv_name' => :'String',
301
313
  :'azure_secret' => :'String',
302
314
  :'azure_tenant_id' => :'String',
315
+ :'expiration_event_in' => :'Array<String>',
303
316
  :'gcp_key' => :'String',
304
317
  :'hashi_json' => :'String',
305
318
  :'hashi_ns' => :'Array<String>',
306
319
  :'hashi_token' => :'String',
307
320
  :'hashi_url' => :'String',
321
+ :'hosts' => :'String',
308
322
  :'json' => :'Boolean',
309
323
  :'k8s_ca_certificate' => :'Array<Integer>',
310
324
  :'k8s_client_certificate' => :'Array<Integer>',
@@ -316,6 +330,7 @@ module Akeyless
316
330
  :'k8s_url' => :'String',
317
331
  :'k8s_username' => :'String',
318
332
  :'name' => :'String',
333
+ :'port_ranges' => :'String',
319
334
  :'protection_key' => :'String',
320
335
  :'si_auto_rotate' => :'String',
321
336
  :'si_rotation_hour' => :'Integer',
@@ -495,6 +510,12 @@ module Akeyless
495
510
  self.azure_tenant_id = attributes[:'azure_tenant_id']
496
511
  end
497
512
 
513
+ if attributes.key?(:'expiration_event_in')
514
+ if (value = attributes[:'expiration_event_in']).is_a?(Array)
515
+ self.expiration_event_in = value
516
+ end
517
+ end
518
+
498
519
  if attributes.key?(:'gcp_key')
499
520
  self.gcp_key = attributes[:'gcp_key']
500
521
  end
@@ -519,6 +540,12 @@ module Akeyless
519
540
  self.hashi_url = attributes[:'hashi_url']
520
541
  end
521
542
 
543
+ if attributes.key?(:'hosts')
544
+ self.hosts = attributes[:'hosts']
545
+ else
546
+ self.hosts = nil
547
+ end
548
+
522
549
  if attributes.key?(:'json')
523
550
  self.json = attributes[:'json']
524
551
  else
@@ -573,6 +600,12 @@ module Akeyless
573
600
  self.name = nil
574
601
  end
575
602
 
603
+ if attributes.key?(:'port_ranges')
604
+ self.port_ranges = attributes[:'port_ranges']
605
+ else
606
+ self.port_ranges = '443'
607
+ end
608
+
576
609
  if attributes.key?(:'protection_key')
577
610
  self.protection_key = attributes[:'protection_key']
578
611
  end
@@ -639,6 +672,10 @@ module Akeyless
639
672
  def list_invalid_properties
640
673
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
641
674
  invalid_properties = Array.new
675
+ if @hosts.nil?
676
+ invalid_properties.push('invalid value for "hosts", hosts cannot be nil.')
677
+ end
678
+
642
679
  if @name.nil?
643
680
  invalid_properties.push('invalid value for "name", name cannot be nil.')
644
681
  end
@@ -662,6 +699,7 @@ module Akeyless
662
699
  # @return true if the model is valid
663
700
  def valid?
664
701
  warn '[DEPRECATED] the `valid?` method is obsolete'
702
+ return false if @hosts.nil?
665
703
  return false if @name.nil?
666
704
  return false if @si_target_name.nil?
667
705
  return false if @si_users_path_template.nil?
@@ -705,11 +743,13 @@ module Akeyless
705
743
  azure_kv_name == o.azure_kv_name &&
706
744
  azure_secret == o.azure_secret &&
707
745
  azure_tenant_id == o.azure_tenant_id &&
746
+ expiration_event_in == o.expiration_event_in &&
708
747
  gcp_key == o.gcp_key &&
709
748
  hashi_json == o.hashi_json &&
710
749
  hashi_ns == o.hashi_ns &&
711
750
  hashi_token == o.hashi_token &&
712
751
  hashi_url == o.hashi_url &&
752
+ hosts == o.hosts &&
713
753
  json == o.json &&
714
754
  k8s_ca_certificate == o.k8s_ca_certificate &&
715
755
  k8s_client_certificate == o.k8s_client_certificate &&
@@ -721,6 +761,7 @@ module Akeyless
721
761
  k8s_url == o.k8s_url &&
722
762
  k8s_username == o.k8s_username &&
723
763
  name == o.name &&
764
+ port_ranges == o.port_ranges &&
724
765
  protection_key == o.protection_key &&
725
766
  si_auto_rotate == o.si_auto_rotate &&
726
767
  si_rotation_hour == o.si_rotation_hour &&
@@ -745,7 +786,7 @@ module Akeyless
745
786
  # Calculates hash code according to all attributes.
746
787
  # @return [Integer] Hash code
747
788
  def hash
748
- [service_account_key_decoded, ad_auto_rotate, ad_computer_base_dn, ad_discover_iis_app, ad_discover_services, ad_discovery_types, ad_domain_name, ad_domain_users_path_template, ad_local_users_ignore, ad_local_users_path_template, ad_os_filter, ad_rotation_hour, ad_rotation_interval, ad_sra_enable_rdp, ad_ssh_port, ad_target_format, ad_target_name, ad_targets_path_template, ad_targets_type, ad_user_base_dn, ad_user_groups, ad_winrm_over_http, ad_winrm_port, ad_discover_local_users, aws_key, aws_key_id, aws_region, azure_client_id, azure_kv_name, azure_secret, azure_tenant_id, gcp_key, hashi_json, hashi_ns, hashi_token, hashi_url, json, k8s_ca_certificate, k8s_client_certificate, k8s_client_key, k8s_namespace, k8s_password, k8s_skip_system, k8s_token, k8s_url, k8s_username, name, protection_key, si_auto_rotate, si_rotation_hour, si_rotation_interval, si_sra_enable_rdp, si_target_name, si_user_groups, si_users_ignore, si_users_path_template, target_location, token, type, uid_token].hash
789
+ [service_account_key_decoded, ad_auto_rotate, ad_computer_base_dn, ad_discover_iis_app, ad_discover_services, ad_discovery_types, ad_domain_name, ad_domain_users_path_template, ad_local_users_ignore, ad_local_users_path_template, ad_os_filter, ad_rotation_hour, ad_rotation_interval, ad_sra_enable_rdp, ad_ssh_port, ad_target_format, ad_target_name, ad_targets_path_template, ad_targets_type, ad_user_base_dn, ad_user_groups, ad_winrm_over_http, ad_winrm_port, ad_discover_local_users, aws_key, aws_key_id, aws_region, azure_client_id, azure_kv_name, azure_secret, azure_tenant_id, expiration_event_in, gcp_key, hashi_json, hashi_ns, hashi_token, hashi_url, hosts, json, k8s_ca_certificate, k8s_client_certificate, k8s_client_key, k8s_namespace, k8s_password, k8s_skip_system, k8s_token, k8s_url, k8s_username, name, port_ranges, protection_key, si_auto_rotate, si_rotation_hour, si_rotation_interval, si_sra_enable_rdp, si_target_name, si_user_groups, si_users_ignore, si_users_path_template, target_location, token, type, uid_token].hash
749
790
  end
750
791
 
751
792
  # Builds the object from hash
@@ -108,6 +108,9 @@ module Akeyless
108
108
  # Azure Key Vault Access tenant ID (relevant only for Azure Key Vault migration)
109
109
  attr_accessor :azure_tenant_id
110
110
 
111
+ # How many days before the expiration of the certificate would you like to be notified.
112
+ attr_accessor :expiration_event_in
113
+
111
114
  # Base64-encoded GCP Service Account private key text with sufficient permissions to Secrets Manager, Minimum required permission is Secret Manager Secret Accessor, e.g. 'roles/secretmanager.secretAccessor' (relevant only for GCP migration)
112
115
  attr_accessor :gcp_key
113
116
 
@@ -123,6 +126,9 @@ module Akeyless
123
126
  # HashiCorp Vault API URL, e.g. https://vault-mgr01:8200 (relevant only for HasiCorp Vault migration)
124
127
  attr_accessor :hashi_url
125
128
 
129
+ # A comma separated list of IPs, CIDR ranges, or DNS names to scan
130
+ attr_accessor :hosts
131
+
126
132
  # Migration ID (Can be retrieved with gateway-list-migration command)
127
133
  attr_accessor :id
128
134
 
@@ -162,6 +168,9 @@ module Akeyless
162
168
  # New migration name
163
169
  attr_accessor :new_name
164
170
 
171
+ # A comma separated list of port ranges Examples: \"80,443\" or \"80,443,8080-8090\" or \"443\"
172
+ attr_accessor :port_ranges
173
+
165
174
  # The name of the key that protects the classic key value (if empty, the account default key will be used)
166
175
  attr_accessor :protection_key
167
176
 
@@ -232,11 +241,13 @@ module Akeyless
232
241
  :'azure_kv_name' => :'azure-kv-name',
233
242
  :'azure_secret' => :'azure-secret',
234
243
  :'azure_tenant_id' => :'azure-tenant-id',
244
+ :'expiration_event_in' => :'expiration-event-in',
235
245
  :'gcp_key' => :'gcp-key',
236
246
  :'hashi_json' => :'hashi-json',
237
247
  :'hashi_ns' => :'hashi-ns',
238
248
  :'hashi_token' => :'hashi-token',
239
249
  :'hashi_url' => :'hashi-url',
250
+ :'hosts' => :'hosts',
240
251
  :'id' => :'id',
241
252
  :'json' => :'json',
242
253
  :'k8s_ca_certificate' => :'k8s-ca-certificate',
@@ -250,6 +261,7 @@ module Akeyless
250
261
  :'k8s_username' => :'k8s-username',
251
262
  :'name' => :'name',
252
263
  :'new_name' => :'new-name',
264
+ :'port_ranges' => :'port-ranges',
253
265
  :'protection_key' => :'protection-key',
254
266
  :'si_auto_rotate' => :'si-auto-rotate',
255
267
  :'si_rotation_hour' => :'si-rotation-hour',
@@ -304,11 +316,13 @@ module Akeyless
304
316
  :'azure_kv_name' => :'String',
305
317
  :'azure_secret' => :'String',
306
318
  :'azure_tenant_id' => :'String',
319
+ :'expiration_event_in' => :'Array<String>',
307
320
  :'gcp_key' => :'String',
308
321
  :'hashi_json' => :'String',
309
322
  :'hashi_ns' => :'Array<String>',
310
323
  :'hashi_token' => :'String',
311
324
  :'hashi_url' => :'String',
325
+ :'hosts' => :'String',
312
326
  :'id' => :'String',
313
327
  :'json' => :'Boolean',
314
328
  :'k8s_ca_certificate' => :'Array<Integer>',
@@ -322,6 +336,7 @@ module Akeyless
322
336
  :'k8s_username' => :'String',
323
337
  :'name' => :'String',
324
338
  :'new_name' => :'String',
339
+ :'port_ranges' => :'String',
325
340
  :'protection_key' => :'String',
326
341
  :'si_auto_rotate' => :'String',
327
342
  :'si_rotation_hour' => :'Integer',
@@ -500,6 +515,12 @@ module Akeyless
500
515
  self.azure_tenant_id = attributes[:'azure_tenant_id']
501
516
  end
502
517
 
518
+ if attributes.key?(:'expiration_event_in')
519
+ if (value = attributes[:'expiration_event_in']).is_a?(Array)
520
+ self.expiration_event_in = value
521
+ end
522
+ end
523
+
503
524
  if attributes.key?(:'gcp_key')
504
525
  self.gcp_key = attributes[:'gcp_key']
505
526
  end
@@ -524,6 +545,12 @@ module Akeyless
524
545
  self.hashi_url = attributes[:'hashi_url']
525
546
  end
526
547
 
548
+ if attributes.key?(:'hosts')
549
+ self.hosts = attributes[:'hosts']
550
+ else
551
+ self.hosts = nil
552
+ end
553
+
527
554
  if attributes.key?(:'id')
528
555
  self.id = attributes[:'id']
529
556
  end
@@ -584,6 +611,12 @@ module Akeyless
584
611
  self.new_name = attributes[:'new_name']
585
612
  end
586
613
 
614
+ if attributes.key?(:'port_ranges')
615
+ self.port_ranges = attributes[:'port_ranges']
616
+ else
617
+ self.port_ranges = '443'
618
+ end
619
+
587
620
  if attributes.key?(:'protection_key')
588
621
  self.protection_key = attributes[:'protection_key']
589
622
  end
@@ -646,6 +679,10 @@ module Akeyless
646
679
  def list_invalid_properties
647
680
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
648
681
  invalid_properties = Array.new
682
+ if @hosts.nil?
683
+ invalid_properties.push('invalid value for "hosts", hosts cannot be nil.')
684
+ end
685
+
649
686
  if @si_target_name.nil?
650
687
  invalid_properties.push('invalid value for "si_target_name", si_target_name cannot be nil.')
651
688
  end
@@ -665,6 +702,7 @@ module Akeyless
665
702
  # @return true if the model is valid
666
703
  def valid?
667
704
  warn '[DEPRECATED] the `valid?` method is obsolete'
705
+ return false if @hosts.nil?
668
706
  return false if @si_target_name.nil?
669
707
  return false if @si_users_path_template.nil?
670
708
  return false if @target_location.nil?
@@ -707,11 +745,13 @@ module Akeyless
707
745
  azure_kv_name == o.azure_kv_name &&
708
746
  azure_secret == o.azure_secret &&
709
747
  azure_tenant_id == o.azure_tenant_id &&
748
+ expiration_event_in == o.expiration_event_in &&
710
749
  gcp_key == o.gcp_key &&
711
750
  hashi_json == o.hashi_json &&
712
751
  hashi_ns == o.hashi_ns &&
713
752
  hashi_token == o.hashi_token &&
714
753
  hashi_url == o.hashi_url &&
754
+ hosts == o.hosts &&
715
755
  id == o.id &&
716
756
  json == o.json &&
717
757
  k8s_ca_certificate == o.k8s_ca_certificate &&
@@ -725,6 +765,7 @@ module Akeyless
725
765
  k8s_username == o.k8s_username &&
726
766
  name == o.name &&
727
767
  new_name == o.new_name &&
768
+ port_ranges == o.port_ranges &&
728
769
  protection_key == o.protection_key &&
729
770
  si_auto_rotate == o.si_auto_rotate &&
730
771
  si_rotation_hour == o.si_rotation_hour &&
@@ -748,7 +789,7 @@ module Akeyless
748
789
  # Calculates hash code according to all attributes.
749
790
  # @return [Integer] Hash code
750
791
  def hash
751
- [service_account_key_decoded, ad_auto_rotate, ad_computer_base_dn, ad_discover_iis_app, ad_discover_services, ad_discovery_types, ad_domain_name, ad_domain_users_path_template, ad_local_users_ignore, ad_local_users_path_template, ad_os_filter, ad_rotation_hour, ad_rotation_interval, ad_sra_enable_rdp, ad_ssh_port, ad_target_format, ad_target_name, ad_targets_path_template, ad_targets_type, ad_user_base_dn, ad_user_groups, ad_winrm_over_http, ad_winrm_port, ad_discover_local_users, aws_key, aws_key_id, aws_region, azure_client_id, azure_kv_name, azure_secret, azure_tenant_id, gcp_key, hashi_json, hashi_ns, hashi_token, hashi_url, id, json, k8s_ca_certificate, k8s_client_certificate, k8s_client_key, k8s_namespace, k8s_password, k8s_skip_system, k8s_token, k8s_url, k8s_username, name, new_name, protection_key, si_auto_rotate, si_rotation_hour, si_rotation_interval, si_sra_enable_rdp, si_target_name, si_user_groups, si_users_ignore, si_users_path_template, target_location, token, uid_token].hash
792
+ [service_account_key_decoded, ad_auto_rotate, ad_computer_base_dn, ad_discover_iis_app, ad_discover_services, ad_discovery_types, ad_domain_name, ad_domain_users_path_template, ad_local_users_ignore, ad_local_users_path_template, ad_os_filter, ad_rotation_hour, ad_rotation_interval, ad_sra_enable_rdp, ad_ssh_port, ad_target_format, ad_target_name, ad_targets_path_template, ad_targets_type, ad_user_base_dn, ad_user_groups, ad_winrm_over_http, ad_winrm_port, ad_discover_local_users, aws_key, aws_key_id, aws_region, azure_client_id, azure_kv_name, azure_secret, azure_tenant_id, expiration_event_in, gcp_key, hashi_json, hashi_ns, hashi_token, hashi_url, hosts, id, json, k8s_ca_certificate, k8s_client_certificate, k8s_client_key, k8s_namespace, k8s_password, k8s_skip_system, k8s_token, k8s_url, k8s_username, name, new_name, port_ranges, protection_key, si_auto_rotate, si_rotation_hour, si_rotation_interval, si_sra_enable_rdp, si_target_name, si_user_groups, si_users_ignore, si_users_path_template, target_location, token, uid_token].hash
752
793
  end
753
794
 
754
795
  # Builds the object from hash
@@ -19,6 +19,9 @@ module Akeyless
19
19
  # TLS Certificate (base64 encoded)
20
20
  attr_accessor :cert_data
21
21
 
22
+ # How many days before the expiration of the certificate would you like to be notified.
23
+ attr_accessor :expiration_event_in
24
+
22
25
  # Set output format to JSON
23
26
  attr_accessor :json
24
27
 
@@ -35,6 +38,7 @@ module Akeyless
35
38
  def self.attribute_map
36
39
  {
37
40
  :'cert_data' => :'cert-data',
41
+ :'expiration_event_in' => :'expiration-event-in',
38
42
  :'json' => :'json',
39
43
  :'key_data' => :'key-data',
40
44
  :'token' => :'token',
@@ -51,6 +55,7 @@ module Akeyless
51
55
  def self.openapi_types
52
56
  {
53
57
  :'cert_data' => :'String',
58
+ :'expiration_event_in' => :'Array<String>',
54
59
  :'json' => :'Boolean',
55
60
  :'key_data' => :'String',
56
61
  :'token' => :'String',
@@ -83,6 +88,12 @@ module Akeyless
83
88
  self.cert_data = attributes[:'cert_data']
84
89
  end
85
90
 
91
+ if attributes.key?(:'expiration_event_in')
92
+ if (value = attributes[:'expiration_event_in']).is_a?(Array)
93
+ self.expiration_event_in = value
94
+ end
95
+ end
96
+
86
97
  if attributes.key?(:'json')
87
98
  self.json = attributes[:'json']
88
99
  else
@@ -123,6 +134,7 @@ module Akeyless
123
134
  return true if self.equal?(o)
124
135
  self.class == o.class &&
125
136
  cert_data == o.cert_data &&
137
+ expiration_event_in == o.expiration_event_in &&
126
138
  json == o.json &&
127
139
  key_data == o.key_data &&
128
140
  token == o.token &&
@@ -138,7 +150,7 @@ module Akeyless
138
150
  # Calculates hash code according to all attributes.
139
151
  # @return [Integer] Hash code
140
152
  def hash
141
- [cert_data, json, key_data, token, uid_token].hash
153
+ [cert_data, expiration_event_in, json, key_data, token, uid_token].hash
142
154
  end
143
155
 
144
156
  # Builds the object from hash
@@ -42,6 +42,12 @@ module Akeyless
42
42
 
43
43
  attr_accessor :tls_cert
44
44
 
45
+ attr_accessor :tls_cert_common_name
46
+
47
+ attr_accessor :tls_cert_expiration_date
48
+
49
+ attr_accessor :tls_cert_expiration_events
50
+
45
51
  attr_accessor :tls_key
46
52
 
47
53
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -60,6 +66,9 @@ module Akeyless
60
66
  :'notify_on_status_change' => :'notify_on_status_change',
61
67
  :'tcp_port' => :'tcp_port',
62
68
  :'tls_cert' => :'tls_cert',
69
+ :'tls_cert_common_name' => :'tls_cert_common_name',
70
+ :'tls_cert_expiration_date' => :'tls_cert_expiration_date',
71
+ :'tls_cert_expiration_events' => :'tls_cert_expiration_events',
63
72
  :'tls_key' => :'tls_key'
64
73
  }
65
74
  end
@@ -85,6 +94,9 @@ module Akeyless
85
94
  :'notify_on_status_change' => :'Boolean',
86
95
  :'tcp_port' => :'String',
87
96
  :'tls_cert' => :'String',
97
+ :'tls_cert_common_name' => :'String',
98
+ :'tls_cert_expiration_date' => :'Time',
99
+ :'tls_cert_expiration_events' => :'Array<CertificateExpirationEvent>',
88
100
  :'tls_key' => :'String'
89
101
  }
90
102
  end
@@ -162,6 +174,20 @@ module Akeyless
162
174
  self.tls_cert = attributes[:'tls_cert']
163
175
  end
164
176
 
177
+ if attributes.key?(:'tls_cert_common_name')
178
+ self.tls_cert_common_name = attributes[:'tls_cert_common_name']
179
+ end
180
+
181
+ if attributes.key?(:'tls_cert_expiration_date')
182
+ self.tls_cert_expiration_date = attributes[:'tls_cert_expiration_date']
183
+ end
184
+
185
+ if attributes.key?(:'tls_cert_expiration_events')
186
+ if (value = attributes[:'tls_cert_expiration_events']).is_a?(Array)
187
+ self.tls_cert_expiration_events = value
188
+ end
189
+ end
190
+
165
191
  if attributes.key?(:'tls_key')
166
192
  self.tls_key = attributes[:'tls_key']
167
193
  end
@@ -200,6 +226,9 @@ module Akeyless
200
226
  notify_on_status_change == o.notify_on_status_change &&
201
227
  tcp_port == o.tcp_port &&
202
228
  tls_cert == o.tls_cert &&
229
+ tls_cert_common_name == o.tls_cert_common_name &&
230
+ tls_cert_expiration_date == o.tls_cert_expiration_date &&
231
+ tls_cert_expiration_events == o.tls_cert_expiration_events &&
203
232
  tls_key == o.tls_key
204
233
  end
205
234
 
@@ -212,7 +241,7 @@ module Akeyless
212
241
  # Calculates hash code according to all attributes.
213
242
  # @return [Integer] Hash code
214
243
  def hash
215
- [akeyless_url, api_token_ttl, display_name, enable_sni_proxy, enable_tls, enable_tls_configure, enable_tls_curl, enable_tls_hvp, gw_cluster_url, hvp_route_version, notify_on_status_change, tcp_port, tls_cert, tls_key].hash
244
+ [akeyless_url, api_token_ttl, display_name, enable_sni_proxy, enable_tls, enable_tls_configure, enable_tls_curl, enable_tls_hvp, gw_cluster_url, hvp_route_version, notify_on_status_change, tcp_port, tls_cert, tls_cert_common_name, tls_cert_expiration_date, tls_cert_expiration_events, tls_key].hash
216
245
  end
217
246
 
218
247
  # Builds the object from hash
@@ -31,7 +31,7 @@ module Akeyless
31
31
  # Certificate Signing Request contents encoded in base64 to generate the certificate with
32
32
  attr_accessor :csr_data_base64
33
33
 
34
- # A comma-separated list of extended key usage requests which will be used for certificate issuance. Supported values: 'clientauth', 'serverauth'. If critical is present the extension will be marked as critical
34
+ # A comma-separated list of extended key usage requests which will be used for certificate issuance. Supported values: 'clientauth', 'serverauth', 'codesigning'. If critical is present the extension will be marked as critical
35
35
  attr_accessor :extended_key_usage
36
36
 
37
37
  # A json string that defines the requested extra extensions for the certificate
@@ -27,7 +27,7 @@ module Akeyless
27
27
  # Certificate Signing Request contents encoded in base64 to generate the certificate with
28
28
  attr_accessor :csr_data_base64
29
29
 
30
- # A comma-separated list of extended key usage requests which will be used for certificate issuance. Supported values: 'clientauth', 'serverauth'. If critical is present the extension will be marked as critical
30
+ # A comma-separated list of extended key usage requests which will be used for certificate issuance. Supported values: 'clientauth', 'serverauth', 'codesigning'. If critical is present the extension will be marked as critical
31
31
  attr_accessor :extended_key_usage
32
32
 
33
33
  # A json string that defines the requested extra extensions for the certificate