use serde::{Deserialize, Serialize};
/// ACMEChallengeType defines ACME challenge type for Let's Encrypt
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AcmeChallengeType {
}
/// ACMEEnvironment defines Let's Encrypt ACME directory environment
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AcmeEnvironment {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ApiKeyAccessRules {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alg: Option<String>,
/// The public key value of the API-key.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modification_date: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AwsAccessMode {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AwsGatewayCloudIdentityExternalIdOpt {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generated_external_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AwsiamAccessRules {
/// The list of account ids that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<Vec<String>>,
/// The list of ARNs that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub arn: Option<Vec<String>>,
/// The list of resource ids that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<Vec<String>>,
/// The list of role ids that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_id: Option<Vec<String>>,
/// The list of role names that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_name: Option<Vec<String>>,
/// The sts URL.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sts_endpoint: Option<String>,
/// A unique identifier to distinguish different users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
/// The list of user ids that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<Vec<String>>,
/// The list of user names that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AwsPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MigrationGeneral {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_migration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AwsSecretsMigration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general: Option<MigrationGeneral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<AwsPayload>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AwsTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_access_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_secret_access_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_session_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_cloud_identity_external_id_opt: Option<AwsGatewayCloudIdentityExternalIdOpt>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccessOrGroupPermissionAssignment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assignment_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assignment_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccessOrGroupPermissionAssignments {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccessPermission {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccessPermissionAssignment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccessRequestStatus {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccessRulesType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccountCustomFieldCreateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccountCustomFieldDeleteOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// NullTime implements the [Scanner] interface so
it can be used as a scan destination, similar to [NullString].
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct NullTime {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub valid: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccountCustomFieldGetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deletion_date: Option<NullTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modification_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub object: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub object_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccountCustomFieldListOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccountCustomFieldUpdateOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AiInsightsSetting {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AllowedClientType {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_types: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lock: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AllowedIpSettings {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cidr_whitelist: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lock: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UsageEventSetting {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub interval_by_days: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificateExpirationEvent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub seconds_before: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificateExpirationEventsSettings {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<bool>,
/// ExpirationEventsList is the default expiration events for the account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expirations_list: Option<Vec<CertificateExpirationEvent>>,
}
/// We need the fields to be pointers as we
use the same struct for partial updates as well
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DataProtectionSection {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_classic_key_protection: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefaultAuthMethodSettings {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_auth_method_type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefaultHomePage {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub route: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretMaxTtl {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_ttl_by_minutes: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PasswordExpirationInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub days_before_expire: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub days_before_notification: Option<i64>,
/// r/o calculated parameter
#[serde(default, skip_serializing_if = "Option::is_none")]
pub days_until_expire: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PasswordPolicyInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_capital_letters: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_lower_letters: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_numbers: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_special_characters: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PasswordScoreSetting {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotationSecretMaxInterval {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_interval_by_days: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SharingPolicyInfo {
/// AllowedEmailDomains limits email sharing to these domains. By default all domains are allowed.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_email_domains: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_share_link_ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<bool>,
}
/// AccountGeneralSettings describes general settings for an account
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccountGeneralSettings {
/// AccountDefaultKeyItemID is the item ID of the DFC key item configured as the default protection key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_default_key_item_id: Option<i64>,
/// AccountDefaultKeyName is the name of the DFC key item configured as the default key
This is here simply for the response to include the item name in addition to the display ID so the
client can properly show this to the user.
It will not be saved to the DB, only the AccountDefaultKeyItemID will.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_default_key_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ai_insights: Option<AiInsightsSetting>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_auto_fill: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_types: Option<AllowedClientType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_clients_ips: Option<AllowedIpSettings>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_gateways_ips: Option<AllowedIpSettings>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_usage_event: Option<UsageEventSetting>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_expiration_events: Option<CertificateExpirationEventsSettings>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data_protection_section: Option<DataProtectionSection>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_auth_method: Option<DefaultAuthMethodSettings>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_home_page: Option<DefaultHomePage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dynamic_secret_max_ttl: Option<DynamicSecretMaxTtl>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_request_for_access: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hide_personal_folder: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hide_static_password: Option<bool>,
/// InvalidCharacters is the invalid characters for items/targets/roles/auths/notifier_forwarder naming convention
#[serde(default, skip_serializing_if = "Option::is_none")]
pub invalid_characters: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_usage_event: Option<UsageEventSetting>,
/// LockDefaultKey determines whether the configured default key can be updated by end-users on a per-request basis
true - all requests use the configured default key
false - every request can determine its protection key (default)
nil - change nothing (every request can determine its protection key (default))
This parameter is only relevant if AccountDefaultKeyItemID is not empty
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lock_default_key: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_expiration_info: Option<PasswordExpirationInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_policy: Option<PasswordPolicyInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_score: Option<PasswordScoreSetting>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protect_items_by_default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_secret_max_interval: Option<RotationSecretMaxInterval>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sharing_policy: Option<SharingPolicyInfo>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ObjectVersionSettingsOutput {
/// VersionSettingsObjectType defines object types for account version settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccountObjectVersionSettingsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_versioning: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_new_versions: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<ObjectVersionSettingsOutput>>,
}
/// AcmeAccount is copied without the jwk as it seems
like it has issues with sdk
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AcmeAccount {
/// AccountId is the ACME account id, not Akeyless account id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_digest: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DiscoveryType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ActiveDirectoryPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub active_directory_target_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ai_certificate_discovery: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate_interval_in_days: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate_rotation_hour: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificates_expiration_events: Option<Vec<CertificateExpirationEvent>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificates_path_template: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub computer_base_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub discover_iis_apps: Option<bool>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub discover_local_users: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub discover_services: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub discovery_types: Option<Vec<DiscoveryType>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain_server_targets_path_template: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain_users_rotated_secrets_path_template: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_rdp_sra: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub local_users_ignore_list: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub local_users_rotated_secrets_path_template: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub os_filter: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_format: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_base_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_groups: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub winrm_over_http: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub winrm_port: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ActiveDirectoryMigration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general: Option<MigrationGeneral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<ActiveDirectoryPayload>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AdminsConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admins_migration_status: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_access: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AdminsMigrationStatus {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AiInsightsConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub model: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificateStore {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_pem: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub common_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_events: Option<Vec<CertificateExpirationEvent>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CaCertificatesConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_store: Option<Vec<CertificateStore>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CacheConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache_enable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache_encryption_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache_ttl: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_proactive_cache_enable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub proactive_cache_dump_interval: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub proactive_cache_enable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub proactive_cache_minimum_fetching_time: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CfConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_fragements: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GeneralConfigPart {
/// AkeylessUrl is here for BC only. Gator will still return it if it exists in
the configuration, but new clients (>=2.34.0) will ignore it and override it with what exists in
their local file.
It will no longer be sent to Gator for update, so new clusters will only have
the default value saved in the DB.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub akeyless_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_token_ttl: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_sni_proxy: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_tls: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_tls_configure: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_tls_curl: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_tls_hvp: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_cluster_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hvp_route_version: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub notify_on_status_change: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tcp_port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls_cert: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls_cert_common_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls_cert_expiration_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls_cert_expiration_events: Option<Vec<CertificateExpirationEvent>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls_key: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct K8sAuth {
/// AuthMethodTokenExpiration is time in seconds of expiration of the Akeyless Kube Auth Method token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub am_token_expiration: Option<i64>,
/// AuthMethodAccessId of the Kubernetes auth method
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_access_id: Option<String>,
/// AuthMethodSigningKey is the private key (in base64 of the PEM format) associated with the public key defined in the
Kubernetes auth method, that used to sign the internal token for the Akeyless Kubernetes Auth Method
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_prv_key_pem: Option<String>,
/// ClusterApiType defines types of API access to cluster
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_api_type: Option<String>,
/// DisableISSValidation is optional parameter to disable ISS validation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disable_iss_validation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auth_type: Option<String>,
/// K8SCACert is the CA Cert to use to call into the kubernetes API
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_ca_cert: Option<String>,
/// K8sClientCertData is the client certificate for k8s client certificate authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_cert_data: Option<String>,
/// K8sClientKeyData is the client key for k8s client certificate authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_key_data: Option<String>,
/// K8SHost is the url string for the kubernetes API
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_host: Option<String>,
/// K8SIssuer is the claim that specifies who issued the Kubernetes token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_issuer: Option<String>,
/// K8SPublicKeysPEM is the list of public key in PEM format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_pub_keys_pem: Option<Vec<String>>,
/// K8STokenReviewerJWT is the bearer for clusterApiTypeK8s, used during TokenReview API call
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_token_reviewer_jwt: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// RancherApiKey the bear token for clusterApiTypeRancher
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rancher_api_key: Option<String>,
/// RancherClusterId cluster id as define in rancher (in case of clusterApiTypeRancher)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rancher_cluster_id: Option<String>,
/// UseLocalCAJwt is an optional parameter to set defaulting to using
the local service account when running in a Kubernetes pod
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_local_ca_jwt: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct K8sAuthsConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auths: Option<Vec<K8sAuth>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KerberosConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kerberos_access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kerberos_keytab: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kerberos_krb_5_conf: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kerberos_private_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_anonymous_search: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_bind_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_bind_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_cert: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_group_attr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_group_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_group_filter: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_user_attr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_user_dn: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipServer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub active: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_issue_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_ttl_in_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hostname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub root: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clients: Option<serde_json::Value>,
/// Saves the private key of the cert issuer in encypted form
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_enc: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server: Option<KmipServer>,
/// Saved for backward compatibility
TODO: remove this after all clients upgrade
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_enc: Option<Vec<i64>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LdapConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_anonymous_search: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_bind_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_bind_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_cert: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_enable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_group_attr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_group_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_group_filter: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_private_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_token_expiration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_user_attr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_user_dn: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadershipConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub open_leadership: Option<Vec<i64>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AwsS3LogForwardingConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_access_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_auth_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_role_arn: Option<String>,
/// deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_use_gateway_cloud_identity: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bucket_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_folder: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AzureLogAnalyticsForwardingConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_enable_batch: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_workspace_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_workspace_key: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DatadogForwardingConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub datadog_api_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub datadog_host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub datadog_log_service: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub datadog_log_source: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub datadog_log_tags: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ElasticsearchLogForwardingConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub elasticsearch_api_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub elasticsearch_auth_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub elasticsearch_cloud_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub elasticsearch_enable_tls: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub elasticsearch_index: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub elasticsearch_nodes: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub elasticsearch_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub elasticsearch_server_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub elasticsearch_tls_certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub elasticsearch_user_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GoogleChronicleForwardingConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_account_key: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LogstashLogForwardingConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logstash_dns: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logstash_enable_tls: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logstash_protocol: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logstash_tls_certificate: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LogzIoLogForwardingConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_logz_io_protocol: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_logz_io_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SplunkLogForwardingConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_enable_batch: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_enable_tls: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_index: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_source: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_sourcetype: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_tls_certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SumologicLogForwardingConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sumo_logic_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sumo_logic_host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sumo_logic_tags: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SyslogLogForwardingConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub syslog_enable_tls: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub syslog_formatter: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub syslog_host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub syslog_network: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub syslog_target_tag: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub syslog_tls_certificate: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LogForwardingConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_s3_config: Option<AwsS3LogForwardingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_analytics_config: Option<AzureLogAnalyticsForwardingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub datadog_config: Option<DatadogForwardingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub elasticsearch_config: Option<ElasticsearchLogForwardingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub google_chronicle_config: Option<GoogleChronicleForwardingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json_output: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logan_enable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logan_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logstash_config: Option<LogstashLogForwardingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logz_io_config: Option<LogzIoLogForwardingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval_sec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_config: Option<SplunkLogForwardingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sumo_logic_config: Option<SumologicLogForwardingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub syslog_config: Option<SyslogLogForwardingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_log_type: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayMessageQueueInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub broadcast_queue_name_a: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mq_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub queue_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub queue_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AzurePayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AzureKeyVaultMigration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general: Option<MigrationGeneral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<AzurePayload>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CertificateScanTarget {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port_ranges: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificatePayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_events: Option<Vec<CertificateExpirationEvent>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub folder: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_dial_timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_scan_duration: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_workers: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port_ranges: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets: Option<Vec<CertificateScanTarget>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificateMigration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general: Option<MigrationGeneral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<CertificatePayload>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ConjurPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conjur_account: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conjur_api_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conjur_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conjur_username: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ConjurMigration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general: Option<MigrationGeneral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<ConjurPayload>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GcpPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_credentials_json: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub project_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GcpSecretsMigration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general: Option<MigrationGeneral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<GcpPayload>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HashiPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub import_as_json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HashiMigration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general: Option<MigrationGeneral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<HashiPayload>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct K8sPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_cert: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_key: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub skip_system: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct K8sMigration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general: Option<MigrationGeneral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<K8sPayload>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MockPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vaults: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MockMigration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general: Option<MigrationGeneral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<MockPayload>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OnePasswordPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vaults: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OnePasswordMigration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general: Option<MigrationGeneral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<OnePasswordPayload>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ServerInventoryPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate_interval_in_days: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate_rotation_hour: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_rdp_sra: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_target_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_targets_path_template: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_groups: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub users_ignore_list: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub users_rotated_secrets_path_template: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ServerInventoryMigration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general: Option<MigrationGeneral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<ServerInventoryPayload>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MigrationsConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub active_directory_migrations: Option<Vec<ActiveDirectoryMigration>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_secrets_migrations: Option<Vec<AwsSecretsMigration>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_kv_migrations: Option<Vec<AzureKeyVaultMigration>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_migrations: Option<Vec<CertificateMigration>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conjur_migrations: Option<Vec<ConjurMigration>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_secrets_migrations: Option<Vec<GcpSecretsMigration>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_migrations: Option<Vec<HashiMigration>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_migrations: Option<Vec<K8sMigration>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mock_migrations: Option<Vec<MockMigration>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub one_password_migrations: Option<Vec<OnePasswordMigration>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_inventory_migrations: Option<Vec<ServerInventoryMigration>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Producer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub active: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub failure_message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub init: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ProducersConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producers: Option<Vec<Producer>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Rotator {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_error: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatorsConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotators: Option<Vec<Rotator>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefaultConfigPart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_protection_key_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_secret_location: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oidc_access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub saml_access_id: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AkeylessGatewayConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admins: Option<AdminsConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ai_insights: Option<AiInsightsConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_certificates: Option<CaCertificatesConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache: Option<CacheConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cf: Option<CfConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub config_protection_key_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general: Option<GeneralConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auths: Option<K8sAuthsConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kerberos: Option<KerberosConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kmip_clients: Option<KmipConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap: Option<LdapConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub leadership: Option<LeadershipConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_forwarding: Option<LogForwardingConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message_queue_info: Option<GatewayMessageQueueInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migrations: Option<MigrationsConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producers: Option<ProducersConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotators: Option<RotatorsConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub saml: Option<DefaultConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<u64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Algorithm {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificateAnalyticAggregation {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_counts: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub risk_counts: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AllAnalyticsData {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub analytics_data: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificates_expiry_data: Option<CertificateAnalyticAggregation>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clients_usage_reports: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub date_updated: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usage_reports: Option<serde_json::Value>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AllowedAccess {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub editable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_valid: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub permissions: Option<Vec<AccessPermission>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims_case_insensitive: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// Deprecated: AllowedAccessOld please use Gator allowed_access API structs such as AllowedAccessInput/AllowedAccess
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AllowedAccessOld {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub acc_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_permissions: Option<Vec<AccessPermission>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_rules_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_api: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alloweds_login: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub editable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub err_msg: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_valid: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AllowedExtraExtensions {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ArtifactoryTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_admin_apikey: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_admin_username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_base_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AssignmentType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AssocRelationship {
}
/// AttributeTypeAndValue mirrors the ASN.1 structure of the same name in
RFC 5280, Section 4.1.2.4.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AttributeTypeAndValue {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Auth {
/// Access ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
/// Access key (relevant only for access-type=access_key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_key: Option<String>,
/// Access Type
(access_key/password/saml/ldap/k8s/azure_ad/oidc/aws_iam/universal_identity/jwt/gcp/cert/oci/kerberos)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_type: Option<String>,
/// Account id (relevant only for access-type=password where the email address is associated with more than one account)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
/// Email (relevant only for access-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_email: Option<String>,
/// Password (relevant only for access-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_password: Option<String>,
/// Azure cloud environment to use. Values: AzureCloud (default), AzureUSGovernment, AzureChinaCloud.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_cloud: Option<String>,
/// Certificate challenge encoded in base64. (relevant only for access-type=cert)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_challenge: Option<String>,
/// Certificate data encoded in base64. Used if file was not provided. (relevant only for access-type=cert)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_data: Option<String>,
/// The cloud identity (relevant only for access-type=azure_ad,aws_iam,gcp)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cloud_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub debug: Option<bool>,
/// Disable the FAST negotiation in the Kerberos authentication method
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disable_pafxfast: Option<String>,
/// The service principal name of the gateway as registered in LDAP (i.e., HTTP/gateway)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gateway_spn: Option<String>,
/// Gateway URL relevant only for access-type=k8s/oauth2/saml/oidc
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gateway_url: Option<String>,
/// GCP JWT audience
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_audience: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The Json Web Token (relevant only for access-type=jwt/oidc)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt: Option<String>,
/// The K8S Auth config name (relevant only for access-type=k8s)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auth_config_name: Option<String>,
/// The K8S service account token. (relevant only for access-type=k8s)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_service_account_token: Option<String>,
/// KerberosToken represents a Kerberos token generated for the gateway SPN (Service Principal Name).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kerberos_token: Option<String>,
/// TThe username for the entry within the keytab to authenticate via Kerberos
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kerberos_username: Option<String>,
/// Private key data encoded in base64. Used if file was not provided.(relevant only for access-type=cert)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_data: Option<String>,
/// Base64-encoded content of a valid keytab file, containing the service account's entry.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keytab_data: Option<String>,
/// Base64-encoded content of a valid krb5.conf file, specifying the settings and parameters required for Kerberos authentication.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub krb5_conf_data: Option<String>,
/// LDAP password (relevant only for access-type=ldap)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_password: Option<String>,
/// The type of the OCI configuration to use [instance/apikey/resource] (relevant only for access-type=oci)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oci_auth_type: Option<String>,
/// A list of Oracle Cloud IDs groups (relevant only for access-type=oci)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oci_group_ocid: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub otp: Option<String>,
/// Signed certificate challenge encoded in base64. (relevant only for access-type=cert)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signed_cert_challenge: Option<String>,
/// The universal_identity token (relevant only for
access-type=universal_identity)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Returns a link to complete the authentication remotely (relevant only for access-type=saml/oidc)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_remote_browser: Option<bool>,
/// LDAP username (relevant only for access-type=ldap)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthExpirationEvent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub seconds_before: Option<i64>,
}
/// AzureADAccessRules contains access rules specific to Azure Active Directory
authentication.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AzureAdAccessRules {
/// The audience in the JWT.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_endpoint: Option<String>,
/// Azure cloud environment [AzureCloud/AzureUSGovernment/AzureChinaCloud]. For create/update, cloud is inferred from jwks_uri.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_cloud: Option<String>,
/// The list of group ids that login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_group_ids: Option<Vec<String>>,
/// The list of resource groups that login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_groups: Option<Vec<String>>,
/// The list of full resource ids that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_ids: Option<Vec<String>>,
/// The list of resource names that the login is restricted to (e.g, a
virtual machine name, scale set name, etc).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_names: Option<Vec<String>>,
/// The list of resource providers that login is restricted to (e.g,
Microsoft.Compute, Microsoft.ManagedIdentity, etc).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_providers: Option<Vec<String>>,
/// The list of resource types that login is restricted to (e.g,
virtualMachines, userAssignedIdentities, etc).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_types: Option<Vec<String>>,
/// The list of service principal IDs that login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_service_principal_ids: Option<Vec<String>>,
/// The list of subscription IDs that login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_subscription_ids: Option<Vec<String>>,
/// The tenants id for the Azure Active Directory organization.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_tenant_id: Option<String>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// The URL to the JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_uri: Option<String>,
/// A unique identifier to distinguish different users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertAccessRules {
/// a list of allowed cors domains if used for browser authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_cors: Option<Vec<String>>,
/// A list of names. At least one must exist in the Common Name. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_common_names: Option<Vec<String>>,
/// A list of DNS names. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_dns_sans: Option<Vec<String>>,
/// A list of Email Addresses. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_email_sans: Option<Vec<String>>,
/// A list of extensions formatted as "oid:value". Expects the extension value to be some type of ASN1 encoded string. All values must match. Supports globbing on "value".
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_extensions: Option<Vec<String>>,
/// A list of Organizational Units names. At least one must exist in the OU field.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_organizational_units: Option<Vec<String>>,
/// A list of URIs. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_uri_sans: Option<Vec<String>>,
/// Base64 encdoed PEM certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate: Option<String>,
/// RequireCrlDp indicates whether CRL distribution points are required on the leaf client certificate,
and whether CRL validation must be enforced during authentication.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub require_crl_dp: Option<bool>,
/// A list of revoked cert ids
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revoked_cert_ids: Option<Vec<String>>,
/// A unique identifier to distinguish different users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EmailPassAccessRules {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alg: Option<String>,
/// The Email value
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
/// EncEmailWithSharedKey is the email of this auth method,
encrypted with the shared auth/uam key (for use in uam)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enc_email_with_shared_key: Option<String>,
/// The password value
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash_pass: Option<String>,
/// The last password change date
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_reset_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mfa_type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GcpAccessRules {
/// The audience in the JWT
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// A map of GCP labels formatted as "key:value" strings that must be set on authorized GCE instances.
TODO: Because GCP labels are not currently ACL'd ....
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_labels: Option<serde_json::Value>,
/// Human and Machine authentication section
Array of GCP project IDs. Only entities belonging to any of the provided
projects can authenticate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_projects: Option<Vec<String>>,
/// List of regions that a GCE instance must belong to in order to be authenticated.
TODO: If bound_instance_groups is provided, it is assumed to be a regional group and the group must belong to this region. If bound_zones are provided, this attribute is ignored.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_regions: Option<Vec<String>>,
/// List of service accounts the service account must be part of in order to be authenticated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_service_accounts: Option<Vec<String>>,
/// === Machine authentication section ===
List of zones that a GCE instance must belong to in order to be authenticated.
TODO: If bound_instance_groups is provided, it is assumed to be a zonal group and the group must belong to this zone.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_zones: Option<Vec<String>>,
/// ServiceAccount holds the credentials file contents to be used by Akeyless
to validate IAM (Human) and GCE (Machine) logins against GCP
base64 encoded string
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_account: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
/// A unique identifier to distinguish different users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HuaweiAccessRules {
/// The auth URL.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_endpoint: Option<String>,
/// The list of domain ids that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain_id: Option<Vec<String>>,
/// The list of domainNames that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain_name: Option<Vec<String>>,
/// The list of tenantIDs that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant_id: Option<Vec<String>>,
/// The list of tenantNames that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant_name: Option<Vec<String>>,
/// The list of user ids that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<Vec<String>>,
/// The list of user names that the login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KubernetesAccessRules {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alg: Option<String>,
/// Audience is an optional Kubernetes jwt claim to verify
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// A list of namespaces that the authentication is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_namespaces: Option<Vec<String>>,
/// A list of pods names that the authentication is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_pod_names: Option<Vec<String>>,
/// A list of service account names that the authentication is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_service_account_names: Option<Vec<String>>,
/// Generate public/private key (the private key is required for the K8S Auth Config in the Akeyless Gateway)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gen_key_pair: Option<String>,
/// The public key value of the Kubernetes auth method configuration in the Akeyless Gateway.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pub_key: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KerberosAccessRules {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sign_public_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LdapAccessRules {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alg: Option<String>,
/// Generate public/private key (the private key is required for the LDAP Auth Config in the Akeyless Gateway)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gen_key_pair: Option<String>,
/// The public key value of LDAP.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// A unique identifier to distinguish different users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
/// OAuth2CustomClaim is a custom claim specific to OAuth2 authentication
method.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OAuth2CustomClaim {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
/// OAuth2AccessRules contains access rules specific to OAuth2 authentication
method.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OAuth2AccessRules {
/// The audience in the JWT.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// The gateway cluster name that is authorized to access JWKeySetURL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorized_gw_cluster_name: Option<String>,
/// The claims that login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_claims: Option<Vec<OAuth2CustomClaim>>,
/// The clients ids that login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_clients_id: Option<Vec<String>>,
/// Certificate to use when calling jwks_uri from the gateway. in PEM format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate: Option<String>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// The JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
base64 encoded string
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_json_data: Option<String>,
/// The URL to the JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_uri: Option<String>,
/// A unique identifier to distinguish different users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
/// OCIAccessRules contains access rules specific to Oracle cloud instance / user authentication
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OciAccessRules {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_ocids: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant_ocid: Option<String>,
}
/// OIDCCustomClaim is a custom claim specific to OIDC authentication
method.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OidcCustomClaim {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
/// OIDCAccessRules contains access rules specific to Open Id Connect authentication
method.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OidcAccessRules {
/// Allowed redirect URIs after the authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_redirect_ur_is: Option<Vec<String>>,
/// Audience claim to be used as part of the authentication flow. In case set, it must match the one configured on the Identity Provider's Application
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// The claims that login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_claims: Option<Vec<OidcCustomClaim>>,
/// Client ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Client Secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// IsInternal indicates whether this is an internal Auth Method where the client has no control
over it, or it was created by the client
e.g - Sign In with Google will create an OIDC Auth Method with IsInternal=true
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_internal: Option<bool>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// A list of required scopes to request from the oidc provider, and to check on the token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_scopes: Option<Vec<String>>,
/// A prefix to add to the required scopes (for example, azures' Application ID URI)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_scopes_prefix: Option<String>,
/// A unique identifier to distinguish different users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Product {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SamlAttribute {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SamlAccessRules {
/// Allowed redirect URIs after the authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_redirect_ur_is: Option<Vec<String>>,
/// The attributes that login is restricted to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_attributes: Option<Vec<SamlAttribute>>,
/// IDP metadata url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub idp_metadata_url: Option<String>,
/// IDP metadata XML
#[serde(default, skip_serializing_if = "Option::is_none")]
pub idp_metadata_xml: Option<String>,
/// A unique identifier to distinguish different users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UniversalIdentityAccessRules {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deny_inheritance: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deny_rotate: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodAccessInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// for accounts where AccessId holds encrypted email this field will hold generated AccessId,
for accounts based on regular AccessId it will be equal to accessId itself
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id_alias: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key_access_rules: Option<ApiKeyAccessRules>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_iam_access_rules: Option<AwsiamAccessRules>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_ad_access_rules: Option<AzureAdAccessRules>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_access_rules: Option<CertAccessRules>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cidr_whitelist: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_pass_access_rules: Option<EmailPassAccessRules>,
/// if true the role associated with this auth method must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_access_rules: Option<GcpAccessRules>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_cidr_whitelist: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub huawei_access_rules: Option<HuaweiAccessRules>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_access_rules: Option<KubernetesAccessRules>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kerberos_access_rules: Option<KerberosAccessRules>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_access_rules: Option<LdapAccessRules>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oauth2_access_rules: Option<OAuth2AccessRules>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oci_access_rules: Option<OciAccessRules>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oidc_access_rules: Option<OidcAccessRules>,
/// List of product types this auth method will be in use of
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_types: Option<Vec<Product>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rules_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub saml_access_rules: Option<SamlAccessRules>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims_delimiters: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub universal_identity_access_rules: Option<UniversalIdentityAccessRules>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KerberosAuthMethodInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kerberos_keytab: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kerberos_krb5_conf: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_anonymous_search: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_bind_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_bind_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_group_attr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_group_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_group_filter: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url_address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_user_attr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_user_dn: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodAdditionalData {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kerberos_data: Option<KerberosAuthMethodInfo>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RuleAssigner {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_id: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PathRule {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assigners: Option<Vec<RuleAssigner>>,
/// The approved/denied capabilities in the path
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cb: Option<u64>,
/// flag that indicate that this rule is allowed to be access RemainingAccess of times.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_limit_access: Option<bool>,
/// The item id this rule directly refers to (when applicable)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub number_of_access_used: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub number_of_allowed_access: Option<i64>,
/// The path the rule refers to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start_time: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Rules {
/// Is admin
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin: Option<bool>,
/// The path the rules refers to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path_rules: Option<Vec<PathRule>>,
}
/// AuthMethodRoleAssociation includes details of an association between an auth
method and a role.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodRoleAssociation {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_ops: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assoc_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_sub_claims: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_sub_claims_case_sensitive: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_subclaims_with_operator: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rules: Option<Rules>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethod {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date_display: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_info: Option<AuthMethodAccessInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub associated_gw_ids: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_additional_data: Option<AuthMethodAdditionalData>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_roles_assoc: Option<Vec<AuthMethodRoleAssociation>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_permissions: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_events: Option<Vec<AuthExpirationEvent>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_approved: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modification_date: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SystemAccessCredentialsReplyObj {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
/// Temporary credentials for accessing Auth
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_creds: Option<String>,
/// Credentials expiration date
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiry: Option<i64>,
/// Temporary credentials for accessing the KFMs instances
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kfm_creds: Option<String>,
/// If the user didn't complete to configure the MFA app
#[serde(default, skip_serializing_if = "Option::is_none")]
pub need_mfa_app_first_config: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_mfa: Option<String>,
/// Credentials tmp token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Temporary credentials for accessing the UAM service
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uam_creds: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub complete_auth_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creds: Option<SystemAccessCredentialsReplyObj>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AutoRotateType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AwsAuthType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AwsStorage {
/// creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_key_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bucket: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AzureStorage {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage_account: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage_container_name: Option<String>,
/// creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant_id: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AzureTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_cloud: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_resource_group_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_resource_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_subscription_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_tenant_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotated_secret_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SraDesktopAppConf {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_cert_issuer_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_web_access_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_web_proxy_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BastionGlobalConf {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_bastion_urls: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_ssh_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_session_ttl_minutes: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub legacy_signing_alg: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_username_sub_claim: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_username_sub_claim: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SshBastionSessionTermination {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SshBastionConf {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hide_session_recording: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kexalgs: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_forwarding: Option<LogForwardingConfigPart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub session_termination: Option<SshBastionSessionTermination>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WebBastionGuacamole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keyboard_layout: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WebBastionRdpRecord {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws: Option<AwsStorage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure: Option<AzureStorage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub compress: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub encryption_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recording_quality: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage_type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WebBastionConf {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub guacamole: Option<WebBastionGuacamole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_record: Option<WebBastionRdpRecord>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BastionConfigReplyObj {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub desktop_app: Option<SraDesktopAppConf>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gator_cluster_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub global: Option<BastionGlobalConf>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_bastion: Option<SshBastionConf>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub web_bastion: Option<WebBastionConf>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BastionListEntry {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_access_ids: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_urls: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_urls_per_instance: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bastion_ssh_port: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bastion_urls_per_type: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub has_gateway_identity: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_report: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BastionsList {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clusters: Option<Vec<BastionListEntry>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BatchEncryptionRequest {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BatchEncryptionRequestLine {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub context: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BatchEncryptionResponse {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BatchEncryptionResponseLine {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BatchTokenizationRequest {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BatchTokenizationRequestLine {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tweak: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BatchTokenizationResponse {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BatchTokenizationResponseLine {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tweak: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CaMode {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertIssuerType {
}
/// Each of the ExtKeyUsage* constants define a unique action.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ExtKeyUsage {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Extension {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub critical: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
/// Name represents an X.509 distinguished name. This only includes the common
elements of a DN. Note that Name is only an approximation of the X.509
structure. If an accurate representation is needed, asn1.Unmarshal the raw
subject or issuer as an [RDNSequence].
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Name {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<Vec<String>>,
/// ExtraNames contains attributes to be copied, raw, into any marshaled
distinguished names. Values override any attributes with the same OID.
The ExtraNames field is not populated when parsing, see Names.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extra_names: Option<Vec<AttributeTypeAndValue>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub locality: Option<Vec<String>>,
/// Names contains all parsed attributes. When parsing distinguished names,
this can be used to extract non-standard attributes that are not parsed
by this package. When marshaling to RDNSequences, the Names field is
ignored, see ExtraNames.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub names: Option<Vec<AttributeTypeAndValue>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub serial_number: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub street_address: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CertificateInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ext_key_usage: Option<Vec<ExtKeyUsage>>,
/// KeyUsage represents the set of actions that are valid for a given key. It's
a bitmap of the KeyUsage* constants.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_usage: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub crl_distribution_points: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dns_names: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_addresses: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extensions: Option<Vec<Extension>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ip_addresses: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_ca: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<Name>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuing_certificate_url: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_size: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub not_after: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub not_before: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ocsp_server: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key_algorithm_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub serial_number: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sha_1_fingerprint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sha_256_fingerprint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signature: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signature_algorithm_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<Name>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject_public_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uris: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
/// var s NullString
err := db.QueryRow("SELECT name FROM foo WHERE id=?", id).Scan(&s)
...
if s.Valid {
use s.String
} else {
NULL value
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct NullString {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub string: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub valid: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificateChainInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_renew_certificate: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_chain: Option<Vec<CertificateInfo>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_format: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_has_private_key: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_issuer_gw_cluster_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_issuer_gw_cluster_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_issuer_item_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_issuer_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_pem: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub common_name: Option<String>,
/// CSRPEM contains the PEM-encoded CSR for pending certificates (HTTP-01 challenge)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub csr_pem: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error_message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_events: Option<Vec<CertificateExpirationEvent>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_ca_id: Option<NullString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuance_status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub not_before: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub renew_before_expiration_in_days: Option<i64>,
}
/// CertificateDiscovery is a command that discovery certificates
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificateDiscovery {
/// Debug mode
#[serde(default, skip_serializing_if = "Option::is_none")]
pub debug: Option<bool>,
/// How many days before the expiration of the certificate would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// A comma separated list of IPs, CIDR ranges, or DNS names to discovery
pub hosts: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// A comma separated list of port ranges
Examples: "80,443" or "80,443,8080-8090" or "443"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port_ranges: Option<String>,
/// The name of the key that protects the certificate value
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
/// The folder where the results will be saved
pub target_location: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// TargetError represents a failed target scan
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetError {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<i64>,
}
/// ScanResults contains detailed results from a certificate scan
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ScanResults {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count_existing: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count_failed: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count_hosts: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count_new: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count_subdomains: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub failed_targets: Option<Vec<TargetError>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_names: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificateDiscoveryOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub results: Option<ScanResults>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificateFormat {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PkiCertificateIssueDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub acme_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_any_name: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_copy_ext_from_csr: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_subdomains: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_domains_list: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_extra_extensions: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_ip_sans: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_uri_sans: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_renew_certificate: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub basic_constraints_valid_for_non_ca: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_authority_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_flag: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code_signing_flag: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create_private_crl: Option<bool>,
/// CreatePrivateOcsp enables exposing an OCSP endpoint on the Gateway and
embedding its URL in the AIA extension of issued certificates.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create_private_ocsp: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create_public_crl: Option<bool>,
/// CreatePublicOcsp enables exposing a public OCSP endpoint on the Gateway and
embedding its URL in the AIA extension of issued certificates.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create_public_ocsp: Option<bool>,
/// DestinationPath is the destination to save generated certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub destination_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disable_wildcards: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enforce_hostnames: Option<bool>,
/// ExpirationNotification holds a list of expiration notices that should be sent in case a certificate is about to
expire, this value is being propagated to the Certificate resources that are created
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_events: Option<Vec<CertificateExpirationEvent>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_cluster_id: Option<i64>,
/// GWClusterURL is required when CAMode is "public" and it defines the cluster URL the PKI should be issued from.
The GW cluster must have permissions to read associated target's details
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_cluster_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_ca: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_bits: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_usage_list: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub locality: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_path_len: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub non_critical_key_usage: Option<bool>,
/// A Duration represents the elapsed time between two instants
as an int64 nanosecond count. The representation limits the
largest representable duration to approximately 290 years.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub not_before_duration: Option<i64>,
/// OcspNextUpdate defines the desired NextUpdate window for OCSP responses.
Value is in seconds; 0 means not set. Minimum enforced is 10 minutes.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ocsp_next_update: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organization_list: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organization_unit_list: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pki_issuer_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postal_code: Option<Vec<String>>,
/// ProtectGeneratedCertificates dictates whether the created certificates should be protected from deletion
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protect_generated_certificates: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub province: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub renew_before_expiration_in_days: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub require_cn: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_flag: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub street_address: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SshCertificateIssueDetails {
/// Relevant for host certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_domains: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_user_key_lengths: Option<serde_json::Value>,
/// Relevant for user certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_users: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_type: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub critical_options: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extensions: Option<serde_json::Value>,
/// ExternallyProvidedUserSubClaimKey is the claim key name where the user name should be taken from
#[serde(default, skip_serializing_if = "Option::is_none")]
pub externally_provided_user_sub_claim_key: Option<String>,
/// IsExternallyProvidedUser is true if allow users should be taken from claims and not from AllowedUsers
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_externally_provided_user: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub principals: Option<Vec<String>>,
/// In case it is empty, the key ID will be combination of user identifiers and a random string
#[serde(default, skip_serializing_if = "Option::is_none")]
pub static_key_id: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificateIssueInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_issuer_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pki_cert_issuer_details: Option<PkiCertificateIssueDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_cert_issuer_details: Option<SshCertificateIssueDetails>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificateStatus {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificateTemplateInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub common_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub csr_cnf_base_64: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub digest_algo: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash_algorithm: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub locality: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organization: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub province: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub self_signed_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CertificateVersionInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub not_after: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub not_before: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CfInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cf_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CfType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ChefAccessMode {
}
/// ChefTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ChefTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_host_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_skip_ssl: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ExternalKmsKeyId {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_reference: Option<String>,
}
/// ClassicKeyPurpose defines purpose for classic keys
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClassicKeyPurpose {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClassicKeyStatusInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_error: Option<String>,
/// ClassicKeyTargetStatus defines status of classic key target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClassicKeyTargetInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_kms_id: Option<ExternalKmsKeyId>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_purpose: Option<Vec<ClassicKeyPurpose>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_status: Option<ClassicKeyStatusInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_assoc_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClassicKeyDetailsInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classic_key_attributes: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classic_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_cluster_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub has_certificate: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_provided_by_user: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_unexportable: Option<bool>,
/// ItemState defines the different states an Item can be in
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_error: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_alias_helper: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_types: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets: Option<Vec<ClassicKeyTargetInfo>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub websites: Option<Vec<String>>,
}
/// ClassicKeyTargetStatus defines status of classic key target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClassicKeyTargetStatus {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClassicKeyType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClientPermissions {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClientUsageInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_unique_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exceeded_clients: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClientsUsageReport {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clients: Option<Vec<ClientUsageInfo>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total_clients: Option<i64>,
}
/// ClusterApiType defines types of API access to cluster
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClusterApiType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ConfigHash {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admins: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ai_insights: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_fragements: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auths: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kmip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub leadership: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_forwarding: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub m_queue: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migrations: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producers: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producers_status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotators: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub saml: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub universal_identity: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct K8sAuthsConfigLastChange {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub changed_k8s_auths_ids: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_k8s_auths_ids: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted_k8s_auths_ids: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MigrationsConfigLastChange {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub changed_migrations: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_migrations: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted_migrations: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LastConfigChange {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_k8s_auths_change: Option<K8sAuthsConfigLastChange>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_migrations_change: Option<MigrationsConfigLastChange>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MigrationStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_messages: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_reports: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_statuses: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LastStatusInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migrations_status: Option<MigrationStatus>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producers_errors: Option<serde_json::Value>,
/// flag to indicate migrationStatus copied to new table
#[serde(default, skip_serializing_if = "Option::is_none")]
pub was_migrations_copied_to_new_table: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RequiredActivity {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migrations_required_activity: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ConfigChange {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub config_hash: Option<ConfigHash>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_change: Option<LastConfigChange>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_status: Option<LastStatusInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_activity: Option<RequiredActivity>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_stamp: Option<i64>,
}
/// Connect is a command that performs secure remote access
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Connect {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub helper: Option<serde_json::Value>,
/// used to override .akeyless-connect.rc in tests
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rc_file_override: Option<String>,
/// Deprecated. use bastion-ctrl-path
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bastion_ctrl_path: Option<String>,
/// Deprecated. use sra-ctrl-port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bastion_ctrl_port: Option<String>,
/// Deprecated. use sra-ctrl-proto
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bastion_ctrl_proto: Option<String>,
/// Deprecated. use sra-ctrl-subdomain
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bastion_ctrl_subdomain: Option<String>,
/// The Akeyless certificate issuer name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_issuer_name: Option<String>,
/// The Gateway URL (configuration management) address, e.g. http://localhost:8000
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gateway_url: Option<String>,
/// The file from which the identity (private key) for public key authentication is read
#[serde(default, skip_serializing_if = "Option::is_none")]
pub identity_file: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub justification: Option<String>,
/// The Secret name (for database and AWS producers - producer name)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// The Bastion API path
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sra_ctrl_path: Option<String>,
/// The Bastion API Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sra_ctrl_port: Option<String>,
/// The SRA API protocol
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sra_ctrl_proto: Option<String>,
/// The SRA API prefix
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sra_ctrl_subdomain: Option<String>,
/// Path to SSH executable. e.g. /usr/bin/ssh
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_command: Option<String>,
/// Additional SSH arguments (except -i)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_extra_args: Option<String>,
/// Set this option to output legacy ('ssh-rsa-cert-v01@openssh.com') signing algorithm name in the ssh certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_legacy_signing_alg: Option<bool>,
/// The target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_ssh_agent: Option<bool>,
/// Deprecated. Use via-sra
#[serde(default, skip_serializing_if = "Option::is_none")]
pub via_bastion: Option<String>,
/// The jump box server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub via_sra: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ConnectHepler {
}
/// CreateClassicKey is a command that creates classic key
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateClassicKey {
/// Classic Key type; options: [AES128GCM, AES256GCM, AES128SIV, AES256SIV, RSA1024, RSA2048, RSA3072, RSA4096, EC256, EC384, GPG]
pub alg: String,
/// Whether to automatically rotate every rotation_interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Certificate in a PEM format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_file_data: Option<String>,
/// Common name for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_common_name: Option<String>,
/// Country name for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_country: Option<String>,
/// Digest algorithm to be used for the certificate key signing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_digest_algo: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_format: Option<String>,
/// Locality for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_locality: Option<String>,
/// Organization name for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_organization: Option<String>,
/// Province name for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_province: Option<String>,
/// TTL in days for the generated certificate. Required only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_ttl: Option<i64>,
/// The csr config data in base64 encoding
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conf_file_data: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the certificate would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// Whether to generate a self signed certificate with the key. If set, --certificate-ttl must be provided.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generate_self_signed_certificate: Option<bool>,
/// gpg alg: Relevant only if GPG key type selected; options: [RSA1024, RSA2048, RSA3072, RSA4096, Ed25519]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gpg_alg: Option<String>,
/// Specifies the hash algorithm used for the encryption key's operations, available options: [SHA256, SHA384, SHA512]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash_algorithm: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Base64-encoded classic key value
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_data: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// ClassicKey name
pub name: String,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key_name: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The number of days to wait between every automatic rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateClassicKeyOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classic_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classic_key_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classic_key_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// CreateESM is a command that creates an External Secrets Manager. [Deprecated: Use command create-usc]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateEsm {
/// Azure Key Vault name (Relevant only for Azure targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_kv_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the External Secrets Manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// GCP Project ID (Relevant only for GCP targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_project_id: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// K8s namespace (Relevant to Kubernetes targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_namespace: Option<String>,
/// External Secrets Manager name
pub name: String,
/// List of the tags attached to this External Secrets Manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target External Secrets Manager to connect
pub target_to_associate: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateEsmOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_secret_manager_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_secret_manager_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGroupOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_alias: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateOidcAppOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreatePkiCertIssuer {
/// If set, clients can request certificates for any CN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_any_name: Option<bool>,
/// If set, will allow copying the extra extensions from the csr file (if given)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_copy_ext_from_csr: Option<bool>,
/// If set, clients can request certificates for subdomains of the allowed domains
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_subdomains: Option<bool>,
/// A list of the allowed domains that clients can request to be included in
the certificate (in a comma-delimited list)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_domains: Option<String>,
/// A json string containing the allowed extra extensions for the pki cert issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_extra_extensions: Option<String>,
/// A list of the allowed CIDRs for ips that clients can request to be included in the certificate as part of the IP Subject Alternative Names (in a comma-delimited list)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_ip_sans: Option<String>,
/// A list of the allowed URIs that clients can request to be included in
the certificate as part of the URI Subject Alternative Names (in a
comma-delimited list)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_uri_sans: Option<String>,
/// Automatically renew certificates before expiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_renew: Option<bool>,
/// The name of an existing CA target to attach this PKI Certificate Issuer to, required in Public CA mode
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_target: Option<String>,
/// If set, certificates will be flagged for client auth use
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_flag: Option<bool>,
/// If set, certificates will be flagged for code signing use
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code_signing_flag: Option<bool>,
/// A comma-separated list of countries that will be set in the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
/// Set this to allow the issuer will expose a CRL endpoint in the Gateway
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create_private_crl: Option<bool>,
/// Set this to enable an OCSP endpoint in the Gateway and include its URL in AIA
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create_private_ocsp: Option<bool>,
/// Set this to allow the cert issuer will expose a public CRL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create_public_crl: Option<bool>,
/// Set this to enable a public OCSP endpoint and include its URL in AIA (served by UAM and includes account id)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create_public_ocsp: Option<bool>,
/// Mark key usage as critical [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub critical_key_usage: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A path in which to save generated certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub destination_path: Option<String>,
/// If set, generation of wildcard certificates will be disabled.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disable_wildcards: Option<bool>,
/// If set, the cert issuer will support the acme protocol
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_acme: Option<bool>,
/// How many days before the expiration of the certificate would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// The GW cluster URL to issue the certificate from. Required in Public CA mode, to allow CRLs on private CA, or to enable ACME
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_cluster_url: Option<String>,
/// If set, the basic constraints extension will be added to certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_ca: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// key-usage
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_usage: Option<String>,
/// A comma-separated list of localities that will be set in the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub locality: Option<String>,
/// The maximum path length for the generated certificate. -1, means unlimited
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_path_len: Option<i64>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// PKI certificate issuer name
pub name: String,
/// If set, any names are allowed for CN and SANs in the certificate and not
only a valid host name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub not_enforce_hostnames: Option<bool>,
/// If set, clients can request certificates without a CN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub not_require_cn: Option<bool>,
/// OCSP NextUpdate window for OCSP responses (min 10m). Supports s,m,h,d suffix.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ocsp_ttl: Option<String>,
/// A comma-separated list of organizational units (OU) that will be set in
the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organizational_units: Option<String>,
/// A comma-separated list of organizations (O) that will be set in the
issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organizations: Option<String>,
/// A comma-separated list of postal codes that will be set in the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postal_code: Option<String>,
/// Whether to protect generated certificates from deletion
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protect_certificates: Option<bool>,
/// A comma-separated list of provinces that will be set in the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub province: Option<String>,
/// Number of days before expiration to renew certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduled_renew: Option<i64>,
/// If set, certificates will be flagged for server auth use
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_flag: Option<bool>,
/// A key to sign the certificate with, required in Private CA mode
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signer_key_name: Option<String>,
/// A comma-separated list of street addresses that will be set in the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub street_address: Option<String>,
/// List of the tags attached to this key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tag: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The maximum requested Time To Live for issued certificates, in seconds. In case of Public CA, this is based on the CA target's supported maximum TTLs
pub ttl: String,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// CreatePasskey is a command that creates a new passkey
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreatePasskey {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Passkey type; options: [EC256, EC384, EC512]
pub alg: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// ClassicKey name
pub name: String,
/// Originating websites for this passkey
#[serde(default, skip_serializing_if = "Option::is_none")]
pub origin_url: Option<Vec<String>>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// For Password Management use
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreatePasskeyOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classic_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classic_key_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classic_key_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// CreateRoleAuthMethodAssocOutput defines output of CreateRoleAuthMethodAssoc
operation.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateRoleAuthMethodAssocOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assoc_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateRotatedSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// CreateTargetItemAssocOutput defines output of CreateTargetItemAssoc
operation.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateTargetItemAssocOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assoc_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// CreateUSC is a command that creates a Universal Secrets Connector
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateUsc {
/// Azure Key Vault name (Relevant only for Azure targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_kv_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the Universal Secrets Connector
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// The environments in repo-name/environment-name format, comma-separated (only relevant for: github-scope=repository-environment)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub environment_names: Option<String>,
/// GCP Project ID (Relevant only for GCP targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_project_id: Option<String>,
/// 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.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_sm_regions: Option<String>,
/// The scope where secrets will be created, available options: [repository, organization, repository-environment]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_scope: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// K8s namespace (Relevant to Kubernetes targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_namespace: Option<String>,
/// Universal Secrets Connector name
pub name: String,
/// The organization name to create the secret in (only relevant for: github-scope=organization)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organization_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub repository_access: Option<String>,
/// The repository names, comma-separated (only relevant for: github-scope=repository)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub repository_names: Option<String>,
/// List of the tags attached to this Universal Secrets Connector
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target Universal Secrets Connector to connect
pub target_to_associate: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Prefix for all secrets created in AWS Secrets Manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usc_prefix: Option<String>,
/// Whether to filter the USC secret list using the specified usc-prefix [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_prefix_as_filter: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateUscOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub universal_secrets_connector_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub universal_secrets_connector_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CustomTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CustomerFragmentConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fragment_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CustomerFragmentsConfigJson {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_fragments: Option<Vec<CustomerFragmentConfig>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CustomerFullAddress {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub city: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postal_code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub street: Option<String>,
}
/// ItemCustomFieldsDetails includes details of item custom field configuration and value
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ItemCustomFieldsDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
/// and a target.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ItemTargetAssociation {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assoc_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WalletDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub login_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub p12_data_base64: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sso_data_base64: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ItemSraStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count_by_host_info: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count_info: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosts_in_use: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_in_use: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_used_item: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetNameWithHosts {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosts: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SecureRemoteAccess {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_port_forwarding: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_providing_external_username: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bastion_api: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bastion_issuer: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bastion_issuer_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bastion_ssh: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub block_concurrent_connections: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub block_concurrent_connections_level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_delay_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dashboard_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enforce_hosts_restriction: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_cluster_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_provider_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_cli: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_desktop_app: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_web: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub isolated: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub native: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rd_gateway_server: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub schema: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_password: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_private_key: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status_info: Option<ItemSraStatus>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_hosts: Option<Vec<TargetNameWithHosts>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_internal_bastion: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub web_proxy: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DsProducerDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_token_manager_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub acl_rules: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub active: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_pwd: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_rotation_interval_days: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub administrative_port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_admin_apikey: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_admin_username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_base_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_token_audience: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_token_scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization_port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_access_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_access_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_external_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_role_arns: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_secret_access_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_session_tags: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_session_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_transitive_tag_keys: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_console_access: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_groups: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_policies: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_programmatic_access: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_administrative_unit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_app_object_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_cloud: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_fixed_user_name_sub_claim_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_fixed_user_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_resource_group_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_resource_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_subscription_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_tenant_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_user_groups_obj_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_user_portal_access: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_user_programmatic_access: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_user_roles_template_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_creation_statements: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_organizations: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_access_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_host_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_skip_ssl: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_authentication_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cloud_service_provider: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_mode: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create_sync_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_client_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_host_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_isolation_level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_max_idle_conns: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_max_open_conns: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_port: Option<String>,
/// (Optional) Private Key in PEM format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_private_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_private_key_passphrase: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_pwd: Option<String>,
/// (Optional) DBServerCertificates defines the set of root certificate authorities
that clients use when verifying server certificates.
If DBServerCertificates is empty, TLS uses the host's root CA set.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) ServerName is used to verify the hostname on the returned
certificates unless InsecureSkipVerify is given. It is also included
in the client's handshake to support virtual hosting unless it is
an IP address.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_tenant_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_user_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dynamic_secret_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dynamic_secret_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dynamic_secret_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dynamic_secret_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_access_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_assume_role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_ca_certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_secret_access_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_admin_rotation: Option<bool>,
/// relevant for PRIVATE_KEY_JWT client authentication type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enforce_replay_prevention: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub externally_provided_user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub failure_message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_access_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_fixed_user_claim_keyname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key_algo: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_project_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_role_bindings: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_role_names: Option<String>,
/// GCPServiceAccountEmail overrides the deprecated field from the target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_key_base64: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_tmp_service_account_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_token_lifetime: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_token_scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_token_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_private_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_base_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_installation_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_installation_token_permissions: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_installation_token_repositories: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_installation_token_repositories_ids: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_organization_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_repository_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_access_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_access_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_group_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_project_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_token_scope: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_ca_certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_service_account_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_service_account_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub google_workspace_access_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub google_workspace_admin_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub google_workspace_fixed_user_name_sub_claim_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub google_workspace_group_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub google_workspace_group_role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub google_workspace_role_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub google_workspace_role_scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotated_secret_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grant_types: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub groups: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_cloud_identity_external_id_opt: Option<AwsGatewayCloudIdentityExternalIdOpt>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_creation_statements: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_revocation_statements: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub implementation_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_fixed_user: Option<String>,
/// relevant for CLIENT_TLS_CERTIFICATE client authentication type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields_details: Option<Vec<ItemCustomFieldsDetails>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_targets_assoc: Option<Vec<ItemTargetAssociation>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_url: Option<String>,
/// comma-separated list of allowed namespaces. Can hold just * which signifies that any namespace is allowed
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_allowed_namespaces: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auth_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_bearer_token: Option<String>,
/// For K8s Client certificates authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_cert_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_key_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_ca_certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_name: Option<String>,
/// when native k8s is in dynamic mode, user can define allowed namespaces,
K8sServiceAccount doesn't exist from the start and will only be created at time of getting dynamic secret value
By default dynamic mode is false and producer behaves like it did before
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_dynamic_mode: Option<bool>,
/// Yaml definition for creation of temporary objects. Field that can hold multiple docs from which following will be extracted:
ServiceAccount, Role/ClusterRole and RoleBinding/ClusterRoleBinding. If ServiceAccount not specified - it will be generated automatically
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_multiple_doc_yaml_temp_definition: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_namespace: Option<String>,
/// Name of the pre-existing Role or ClusterRole to bind a generated service account to.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_role_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_role_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_service_account: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_admin_rotation: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_audience: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_bind_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_bind_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_fixed_user_name_sub_claim_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_fixed_user_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_group_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_token_expiration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_user_attr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_user_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_private_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_public_key: Option<String>,
/// mongodb atlas fields
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_project_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_custom_data: Option<String>,
/// common fields
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_db_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_default_auth_db: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_host_port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_is_atlas: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_password: Option<String>,
/// common fields
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_roles: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_scopes: Option<String>,
/// mongodb fields
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_uri_connection: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_uri_options: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_username: Option<String>,
/// Comma-separated list of allowed DB names for runtime selection when fetching the secret value.
Empty string => use target DB name only (no override allowed)
"*" => any DB name is allowed
One or more names => user must select one of the provided names
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_allowed_db_names: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_creation_statements: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_revocation_statements: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_creation_statements: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_revocation_statements: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub openai_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_creation_statements: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_revocation_statements: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_details: Option<WalletDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organization_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgres_creation_statements: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgres_revocation_statements: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged_user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub project_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_conf_permission: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_read_permission: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_tags: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_vhost: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_write_permission: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_fixed_user_name_sub_claim_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redirect_uris: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_creation_statements: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub restricted_scopes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revoke_sync_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_sync_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scopes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_remote_access_details: Option<SecureRemoteAccess>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub session_extension_warn_interval_min: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sf_account: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sf_auth_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sf_key_algo: Option<String>,
/// generated users info
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sf_user_role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sf_warehouse_name: Option<String>,
/// TODO delete this after migration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub should_stop: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signing_algorithm: Option<String>,
/// (Optional) SSLConnectionCertificate defines the certificate for SSL connection. Must be base64 certificate loaded by UI using file loader field
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_connection_certificate: Option<String>,
/// (Optional) SSLConnectionMode defines if SSL mode will be used to connect to DB
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_connection_mode: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_service_account: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_principal_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username_length: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username_template: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_allow_subdomains: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_allowed_domains: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_api_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_auto_generated_folder: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_base_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_root_first_in_chain: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_sign_using_akeyless_pki: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_signer_key_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_store_private_key: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_tpp_access_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_tpp_client_id: Option<String>,
/// Deprecated: VenafiAccessToken and VenafiRefreshToken should be used instead
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_tpp_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_tpp_refresh_token: Option<String>,
/// Deprecated: VenafiAccessToken and VenafiRefreshToken should be used instead
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_tpp_username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_use_tpp: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_zone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub warn_before_user_expiration_min: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// DbTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DbTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cloud_service_provider: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_mode: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_client_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_host_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_port: Option<String>,
/// (Optional) Private Key in PEM format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_private_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_private_key_passphrase: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_pwd: Option<String>,
/// (Optional) DBServerCertificates defines the set of root certificate authorities
that clients use when verifying server certificates.
If DBServerCertificates is empty, TLS uses the host's root CA set.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) ServerName is used to verify the hostname on the returned
certificates unless InsecureSkipVerify is given. It is also included
in the client's handshake to support virtual hosting unless it is
an IP address.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_tenant_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_user_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_details: Option<WalletDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sf_account: Option<String>,
/// (Optional) SSLConnectionCertificate defines the certificate for SSL connection. Must be base64 certificate loaded by UI using file loader field
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_connection_certificate: Option<String>,
/// (Optional) SSLConnectionMode defines if SSL mode will be used to connect to DB
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_connection_mode: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeactivateAcmeAccountOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteGroupOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteItemOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deletion_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version_deleted: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeriveKey {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Kdf algorithm
pub alg: String,
/// HashFunction the hash function to use (relevant for pbkdf2)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash_function: Option<String>,
/// IterationCount the number of iterations
pub iter: i64,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// KeyLength the byte length of the generated key
pub key_len: i64,
/// MemorySizeInKb the memory paramter in kb (relevant for argon2id)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mem: Option<i64>,
/// Static Secret full name
pub name: String,
/// Parallelism the number of threads to use (relevant for argon2id)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parallelism: Option<i64>,
/// Salt Base64 encoded salt value. If not provided, the salt will be generated as part of the operation. The salt should be securely-generated random bytes, minimum 64 bits, 128 bits is recommended
#[serde(default, skip_serializing_if = "Option::is_none")]
pub salt: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DeriveKeyOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub salt: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DescribePermissionsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_permissions: Option<Vec<String>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DesktopAppConf {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_cert_issuer_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_cert_issuer_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_web_access_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_web_proxy_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DiscoveryTypes {
}
/// DockerhubTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DockerhubTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
}
/// A Duration represents the elapsed time between two instants
as an int64 nanosecond count. The representation limits the
largest representable duration to approximately 290 years.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Duration {
}
/// DynamicSecretProducerInfo The dynamic secret producer info
This parameter relevant and required only in case of create update dynamic secret.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretProducerInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub failure_message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_cluster_id: Option<i64>,
/// Relevant only for generic k8s producer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_allowed_namespaces: Option<String>,
/// Relevant only for generic k8s producer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_dynamic_mode: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_last_keep_alive: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_metadata: Option<String>,
/// RotationStatus defines types of rotation Status
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretType {
}
/// EKSTargetDetails defines details related to connecting to
a EKS (Elastic Container Service) target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EksTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_access_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_ca_certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_secret_access_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EmailEntry {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub to_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub to_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EmailError {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
}
/// EmailTokenizerInfo represents a tokenizer that specifically tokenizes emails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EmailTokenizerInfo {
/// What length of a random domain suffix to generate
used only if FixedDomainSuffix is empty
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain_suffix_length: Option<i64>,
/// if FixedDomainSuffix isn't empty, it will be appended to the output
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_domain_suffix: Option<String>,
/// How many letters of the plaintext to keep in the output
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prefix_length: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EsmCreateSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EsmDeleteSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EsmGetSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub binary_value: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub encryption_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GithubMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub environment_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organization_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub repository: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub repository_access: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selected_repositories: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SecretInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github: Option<GithubMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_retrieved: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub location: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub thumbprint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EsmListSecretsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secrets_list: Option<Vec<SecretInfo>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EsmUpdateSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventSource {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventType {
}
/// ExportClassicKey is a command that returns the classic key material
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ExportClassicKey {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Use this option to output only public key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub export_public_key: Option<bool>,
/// Retrieve the Secret value without checking the Gateway's cache [true/false]. This flag is only relevant when using the RestAPI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ignore_cache: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// ClassicKey name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Classic key version
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
/// Classic key name to wrap the key material with
#[serde(default, skip_serializing_if = "Option::is_none")]
pub wrapping_key_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ExportClassicKeyOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_pem: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub wrapping_iv: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FolderType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GcpAccessRulesType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GcpAccessType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GcpCredentialsType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GcpServiceAccountType {
}
/// GKETargetDetails defines details related to connecting to
a GKE (Google Kubernetes Engine) target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GkeTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_ca_certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_service_account_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_service_account_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwClusterStatus {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwsAccessMode {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwsGroupRoleType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwsRoleScope {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayDetailsForItemReplyObj {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub desktop_app: Option<DesktopAppConf>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_cluster_available: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetDefaultsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_protection_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hvp_route_version: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub notify_on_status_change: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oidc_access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub saml_access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetK8sAuthConfigOutput {
/// AuthMethodTokenExpiration is time in seconds of expiration of the Akeyless Kube Auth Method token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub am_token_expiration: Option<i64>,
/// AuthMethodAccessId of the Kubernetes auth method
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_access_id: Option<String>,
/// AuthMethodSigningKey is the private key (in base64 of the PEM format) associated with the public key defined in the
Kubernetes auth method, that used to sign the internal token for the Akeyless Kubernetes Auth Method
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_prv_key_pem: Option<String>,
/// ClusterApiType defines types of API access to cluster
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_api_type: Option<String>,
/// DisableISSValidation is optional parameter to disable ISS validation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disable_iss_validation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auth_type: Option<String>,
/// K8SCACert is the CA Cert to use to call into the kubernetes API
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_ca_cert: Option<String>,
/// K8sClientCertData is the client certificate for k8s client certificate authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_cert_data: Option<String>,
/// K8sClientKeyData is the client key for k8s client certificate authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_key_data: Option<String>,
/// K8SHost is the url string for the kubernetes API
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_host: Option<String>,
/// K8SIssuer is the claim that specifies who issued the Kubernetes token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_issuer: Option<String>,
/// K8SPublicKeysPEM is the list of public key in PEM format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_pub_keys_pem: Option<Vec<String>>,
/// K8STokenReviewerJWT is the bearer for clusterApiTypeK8s, used during TokenReview API call
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_token_reviewer_jwt: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
/// RancherApiKey the bear token for clusterApiTypeRancher
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rancher_api_key: Option<String>,
/// RancherClusterId cluster id as define in rancher (in case of clusterApiTypeRancher)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rancher_cluster_id: Option<String>,
/// UseLocalCAJwt is an optional parameter to set defaulting to using
the local service account when running in a Kubernetes pod
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_local_ca_jwt: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayMigrationCreateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayMigrationDeleteOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayMigrationSyncOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayMigrationUpdateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayNameInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_display_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_name: Option<String>,
}
/// gatewayUpdateLdapAuth is a command that updates ldap auth config
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLdapAuthConfig {
/// The access ID of the Ldap auth method
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
/// Bind DN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn: Option<String>,
/// Bind DN Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn_password: Option<String>,
/// Group Attr
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_attr: Option<String>,
/// Group Dn
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_dn: Option<String>,
/// Group Filter
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_filter: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// LDAP CA Certificate (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_ca_cert: Option<String>,
/// Enable Ldap [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_enable: Option<String>,
/// LDAP Server URL, e.g. ldap://planetexpress.com:389
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url: Option<String>,
/// The private key (base64 encoded), associated with the public key defined in the Ldap auth
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signing_key_data: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User Attribute
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_attribute: Option<String>,
/// User DN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_dn: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLdapAuthConfigOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateTlsCert is a command that updates Gateway TLS certificate
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateTlsCert {
/// TLS Certificate (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_data: Option<String>,
/// How many days before the expiration of the certificate would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// TLS Private Key (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_data: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateTlsCertOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwClusterIdentity {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action_allowed: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_access_ids: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub current_gw: Option<bool>,
/// Deprecated - use CustomerFragments instead
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_fragment_ids: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_fragments: Option<Vec<CfInfo>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_protection_key_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_secret_location: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_kerberos_auth_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_ldap_auth_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub serverless_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status_description: Option<String>,
}
/// GatewaysListResponse Gateway cluster identity list
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewaysListResponse {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clusters: Option<Vec<GwClusterIdentity>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GcpTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_key_base64: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotated_secret_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
/// GeminiTargetDetails defines details related to connecting to a Google Gemini provider
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GeminiTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gemini_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GenerateAcmeEabOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expires_at: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kid: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mac_key: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// GenerateCA is a command that creates a new PKI CA and Intermediate issuers
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GenerateCa {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alg: Option<String>,
/// A list of the allowed domains that clients can request to be included in
the certificate (in a comma-delimited list)
pub allowed_domains: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// A comma sepereted list of extended key usage for the intermediate (serverauth / clientauth / codesigning)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extended_key_usage: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_type: Option<String>,
/// The maximum number of intermediate certificates that can appear in a certification path
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_path_len: Option<i64>,
/// PKI chain name
pub pki_chain_name: String,
/// The name of a key that used to encrypt the secrets values (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key_name: Option<String>,
/// The number of fragments that the item will be split into
#[serde(default, skip_serializing_if = "Option::is_none")]
pub split_level: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The maximum requested Time To Live for issued certificate by default in seconds, supported formats are s,m,h,d
pub ttl: String,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GenerateCaOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub intermediate_certificate_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub intermediate_issuer_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub intermediate_key_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub root_certificate_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub root_issuer_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub root_key_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SmInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sla: Option<String>,
/// Tier represents a level of extensibility the account will have, defined by various limits for different
resources of Akeyless
e.g - A StarterTier may have a limit of 3 Client resources and 50 Secret resources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SraInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sla: Option<String>,
/// Tier represents a level of extensibility the account will have, defined by various limits for different
resources of Akeyless
e.g - A StarterTier may have a limit of 3 Client resources and 50 Secret resources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tier: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_type: Option<String>,
}
/// SystemAccessCredsSettings describes system access credential settings for account by minutes
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SystemAccessCredsSettings {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl_default: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl_maximum: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl_minimum: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetAccountSettingsCommandOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub address: Option<CustomerFullAddress>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub company_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub general_settings: Option<AccountGeneralSettings>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub object_version_settings: Option<AccountObjectVersionSettingsOutput>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret_management: Option<SmInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_remote_access: Option<SraInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub system_access_creds_settings: Option<SystemAccessCredsSettings>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// GetCertChallenge is a command that gets a challenge for certificate authentication
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetCertChallenge {
/// Access ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
/// Certificate data encoded in base64. Used if file was not provided.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_data: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetCertChallengeOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub challenge: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetCertificateValueOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_pem: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_pem: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// GetFolderOutput is the result of the getFolder operation
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetFolderOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date_display: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub folder_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub folder_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modification_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetGroupOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_alias: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_subclaims_with_operator: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modification_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_assignments: Option<Vec<AccessPermissionAssignment>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetPkiCertificate {
/// The Subject Alternative Names to be included in the PKI certificate (in
a comma-separated list) (if CSR is supplied this flag is ignored and any DNS.* names are taken from it)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alt_names: Option<String>,
/// The name of the PKI certificate issuer
pub cert_issuer_name: String,
/// The common name to be included in the PKI certificate (if CSR is supplied this flag is ignored and the CSR subject CN is taken)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub common_name: Option<String>,
/// Certificate Signing Request contents encoded in base64 to generate the certificate with
#[serde(default, skip_serializing_if = "Option::is_none")]
pub csr_data_base64: Option<String>,
/// 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
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extended_key_usage: Option<String>,
/// A json string that defines the requested extra extensions for the certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extra_extensions: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// PKI key file contents. If this option is used, the certificate
will be printed to stdout
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_data_base64: Option<String>,
/// The maximum path length for the generated certificate. -1, means unlimited unless the signing certificate has a maximum path length set
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_path_len: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Updated certificate lifetime in seconds (must be less than the Certificate Issuer default TTL)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The URI Subject Alternative Names to be included in the PKI certificate
(in a comma-separated list) (if CSR is supplied this flag is ignored and any URI.* names are taken from it)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri_sans: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetProducersListReplyObj {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producers: Option<Vec<Producer>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producers_errors: Option<serde_json::Value>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetSecretValue {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Retrieve the Secret value without checking the Gateway's cache [true/false]. This flag is only relevant when using the RestAPI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ignore_cache: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Secret name
pub names: Vec<String>,
/// Print the secret value with json-pretty-print (not relevent to SDK)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pretty_print: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Secret version, if negative value N is provided the last N versions will return (maximum 20)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
/// TargetItemAssociation includes details of an association between a target
and an item. Also, between targets in case of child target or Linked target.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetItemAssociation {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assoc_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub relationship: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ItemVersion {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date_display: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_version_info: Option<CertificateVersionInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_fragment_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deletion_date: Option<String>,
/// ItemState defines the different states an Item can be in
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_version_state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modification_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub with_customer_fragment: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Target {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date_display: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_request_status: Option<String>,
/// this is not "omitempty" since an empty value causes no update
while an empty map will clear the attributes
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_permissions: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_access_request_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_version: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modification_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_target_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_details: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_items_assoc: Option<Vec<TargetItemAssociation>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_sub_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_versions: Option<Vec<ItemVersion>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub with_customer_fragment: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GithubTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_private_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_base_url: Option<String>,
}
/// GitlabTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GitlabTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_access_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_url: Option<String>,
}
/// GlobalSignAtlasTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GlobalSignAtlasTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mtls_cert: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mtls_key: Option<String>,
/// A Duration represents the elapsed time between two instants
as an int64 nanosecond count. The representation limits the
largest representable duration to approximately 290 years.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<i64>,
}
/// GlobalSignGCCTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GlobalSignGccTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
/// Contact Info - GlobalSign requires this to be sent with every certificate creation request
#[serde(default, skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile_id: Option<String>,
/// A Duration represents the elapsed time between two instants
as an int64 nanosecond count. The representation limits the
largest representable duration to approximately 290 years.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
/// GodaddyTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GodaddyTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_fqdn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<String>,
/// Optional, used to find the certificate ID in GoDaddy's API
#[serde(default, skip_serializing_if = "Option::is_none")]
pub shopper_id: Option<String>,
/// A Duration represents the elapsed time between two instants
as an int64 nanosecond count. The representation limits the
largest representable duration to approximately 290 years.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub validation_email: Option<String>,
}
/// HashiVaultTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HashiVaultTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vault_namespaces: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vault_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vault_url: Option<String>,
}
/// LdapTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LdapTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub implementation_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_audience: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_bind_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_bind_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_token_expiration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url: Option<String>,
}
/// LetsEncryptTargetDetails defines configuration for Let's Encrypt ACME target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LetsEncryptTargetDetails {
/// ACME Account Private Key (PEM-encoded)
Supports ECDSA (P-256, P-384, P-521), RSA (2048+), and Ed25519
Auto-generated as ECDSA P-256 on first certificate issuance if not provided
Stored encrypted, required for certificate operations and revocation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_key_pem: Option<String>,
/// ACME Account URL (returned after registration with Let's Encrypt)
Used to retrieve existing account instead of re-registering
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_url: Option<String>,
/// ACMEEnvironment defines Let's Encrypt ACME directory environment
#[serde(default, skip_serializing_if = "Option::is_none")]
pub acme_environment: Option<String>,
/// ACMEChallengeType defines ACME challenge type for Let's Encrypt
#[serde(default, skip_serializing_if = "Option::is_none")]
pub challenge_type: Option<String>,
/// Name of DNS target (transient field - not stored in DB)
Used by CLI to pass DNS target name to SDK for creating target_object_assoc
Retrieved from target_object_assoc when reading target
Required when ChallengeType is "dns"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dns_target_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dns_target_type: Option<String>,
/// Email address for ACME account registration
Required
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
/// GCP Cloud DNS: Project ID
Optional - can be derived from service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_project: Option<String>,
/// AWS Route53: Hosted zone ID
Required when DNSTargetType is AWS
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosted_zone: Option<String>,
/// Azure DNS: Resource group name
Required when DNSTargetType is Azure
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_group: Option<String>,
/// A Duration represents the elapsed time between two instants
as an int64 nanosecond count. The representation limits the
largest representable duration to approximately 290 years.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<i64>,
}
/// LinkedTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LinkedTargetDetails {
/// key hostname, value description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosts: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MongoDbTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_private_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_public_key: Option<String>,
/// mongodb atlas fields
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_project_id: Option<String>,
/// common fields
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_db_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_default_auth_db: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_host_port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_is_atlas: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_password: Option<String>,
/// mongodb fields
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_uri_connection: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_uri_options: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_username: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NativeK8sTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auth_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_bearer_token: Option<String>,
/// For K8s Client certificates authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_cert_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_key_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_ca_certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_service_account: Option<bool>,
}
/// OpenAITargetDetails defines details related to connecting to an OpenAI provider
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OpenAiTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub openai_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organization_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub project_id: Option<String>,
}
/// PingTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PingTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub administrative_port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization_port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged_user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_password: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RabbitMqTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_user: Option<String>,
}
/// SalesforceTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SalesforceTargetDetails {
/// params needed for jwt auth
AppPrivateKey is the rsa private key in PEM format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_private_key: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_flow: Option<String>,
/// CACertData is the rsa 4096 certificate data in PEM format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_cert_data: Option<Vec<i64>>,
/// CACertName is the name of the certificate in SalesForce tenant
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_cert_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// params needed for password auth
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub security_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
}
/// SectigoTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SectigoTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_profile_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_requester: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub org_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// A Duration represents the elapsed time between two instants
as an int64 nanosecond count. The representation limits the
largest representable duration to approximately 290 years.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SplunkPayload {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hec_token_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_owner: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub validity_period_days: Option<i64>,
}
/// SplunkTargetDetails defines details related to connecting to a Splunk server
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SplunkTargetDetails {
/// Token audience
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Authentication mode: "username" or "token"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_payload: Option<SplunkPayload>,
/// Splunk server URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_url: Option<String>,
/// Token is used when AuthMode == "token"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Token owner (the Splunk user who owns the token, required for token rotation)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_owner: Option<String>,
/// Use TLS certificate verification when connecting to the Splunk management API.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_tls: Option<bool>,
/// Username & Password are used when AuthMode == "username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SshTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VenafiTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_api_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_base_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_tpp_access_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_tpp_client_id: Option<String>,
/// Deprecated: VenafiAccessToken and VenafiRefreshToken should be used instead
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_tpp_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_tpp_refresh_token: Option<String>,
/// Deprecated: VenafiAccessToken and VenafiRefreshToken should be used instead
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_tpp_username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_use_tpp: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_zone: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WebTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
/// WindowsTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WindowsTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hostname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_tls: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
/// ZeroSSLTargetDetails
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ZeroSslTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_fqdn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_user: Option<String>,
/// A Duration represents the elapsed time between two instants
as an int64 nanosecond count. The representation limits the
largest representable duration to approximately 290 years.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub validation_email: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetTypeDetailsInput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_target_details: Option<ArtifactoryTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_target_details: Option<AwsTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_target_details: Option<AzureTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_target_details: Option<ChefTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_target_details: Option<CustomTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_target_details: Option<DbTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_target_details: Option<DockerhubTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_target_details: Option<EksTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_target_details: Option<GcpTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gemini_target_details: Option<GeminiTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_target_details: Option<GithubTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_target_details: Option<GitlabTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_target_details: Option<GkeTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub globalsign_atlas_target_details: Option<GlobalSignAtlasTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub globalsign_target_details: Option<GlobalSignGccTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub godaddy_target_details: Option<GodaddyTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_vault_target_details: Option<HashiVaultTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_target_details: Option<LdapTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub letsencrypt_target_details: Option<LetsEncryptTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub linked_target_details: Option<LinkedTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongo_db_target_details: Option<MongoDbTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub native_k8s_target_details: Option<NativeK8sTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub openai_target_details: Option<OpenAiTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_target_details: Option<PingTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbit_mq_target_details: Option<RabbitMqTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub salesforce_target_details: Option<SalesforceTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sectigo_target_details: Option<SectigoTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_target_details: Option<SplunkTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_target_details: Option<SshTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_target_details: Option<VenafiTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub web_target_details: Option<WebTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub windows_target_details: Option<WindowsTargetDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub zerossl_target_details: Option<ZeroSslTargetDetails>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetTargetDetailsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<Target>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<TargetTypeDetailsInput>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetUserEventStatusOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_created_at: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GitlabRole {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GraceRotationTiming {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Group {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_alias: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_subclaims_with_operator: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modification_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_assignments: Option<Vec<AccessPermissionAssignment>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GroupPermissionsAssignments {
}
/// HTTPChallengeInfo contains HTTP-01 challenge details for user display
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HttpChallengeInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file_content: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub file_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub instructions: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_auth: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HashAlgorithm {
}
/// HashFunction defines the hash function (e.g. sha-256)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HashFunction {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HostProviderType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ImportPasswordsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imported: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub passwords_in_file: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub successfully_parsed: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ImporterInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_item_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct IssuerOverviewInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_authority_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NextAutoRotationEvent {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub seconds_before: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OidcClientInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_permission_assignment: Option<Vec<AccessOrGroupPermissionAssignment>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grant_types: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logout_uris: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redirect_uris: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub response_types: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scopes: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WindowsServiceAttributes {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
/// IISAppPool marks this entry as an IIS Application Pool rather than a Windows Service
#[serde(default, skip_serializing_if = "Option::is_none")]
pub iis_app_pool: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// SkipRestart allows skipping recycle/start of the IIS App Pool after credential update
#[serde(default, skip_serializing_if = "Option::is_none")]
pub skip_restart: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_tls: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WindowsService {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<WindowsServiceAttributes>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
/// RotatedSecretDetailsInfo The rotated secret rotator info
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretDetailsInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_previous_version_in_days: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_custom_password_policy: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_hour: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_interval: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_timing: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_cluster_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub iis_apps_details: Option<Vec<WindowsService>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_rotation_error: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub managed_by_akeyless: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_auto_rotate_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub number_of_versions_to_save: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key_remote_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval_min: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_statement: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotator_creds_type: Option<String>,
/// RotationStatus defines types of rotation Status
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotator_status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotator_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub same_password: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub services_details: Option<Vec<WindowsService>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout_seconds: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PasswordBreachSuggestion {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PasswordBreachInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub breach_check_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub breach_count: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub breach_suggestions: Option<Vec<PasswordBreachSuggestion>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PasswordScoreSuggestion {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PasswordScoreInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub score: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub suggestions: Option<Vec<PasswordScoreSuggestion>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PasswordSecurityInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub breach_info: Option<PasswordBreachInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub score_info: Option<PasswordScoreInfo>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StaticSecretDetailsInfo {
/// StaticSecretFormat defines the format of static secret (e.g. Text)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub notify_on_change_event: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_security_info: Option<PasswordSecurityInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
/// deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub website: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub websites: Option<Vec<String>>,
}
/// RegexpTokenizerInfo represents a general Regexp tokenization template
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegexpTokenizerInfo {
/// The Alphabet used for the tokenization
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alphabet: Option<String>,
/// Transformation to perform on the decrypted data
#[serde(default, skip_serializing_if = "Option::is_none")]
pub decoding_template: Option<String>,
/// Transformation to perform on the encrypted data,
if the required output template doesn't match the input string
The output Should still be valid for the Pattern, otherwise the secret would be able to be decrypted.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub encoding_template: Option<String>,
/// Regexp pattern to extract and deposit the text/encdata
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pattern: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VaultlessTokenizerInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_tokenizer_info: Option<EmailTokenizerInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub regexp_tokenizer_info: Option<RegexpTokenizerInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template_type: Option<String>,
/// Tweak used in the case of internal tweak type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tweak: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tweak_type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TokenizerInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vaultless_tokenizer_info: Option<VaultlessTokenizerInfo>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ItemGeneralInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_issue_details: Option<CertificateIssueInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_chain_info: Option<CertificateChainInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_format: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificates_template_info: Option<CertificateTemplateInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classic_key_details: Option<ClassicKeyDetailsInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_gw_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_metadata: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dynamic_secret_producer_details: Option<DynamicSecretProducerInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_events: Option<Vec<CertificateExpirationEvent>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub importer_info: Option<ImporterInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer_overview_info: Option<IssuerOverviewInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_rotation_events: Option<Vec<NextAutoRotationEvent>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oidc_client_info: Option<OidcClientInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_policy: Option<PasswordPolicyInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_secret_details: Option<RotatedSecretDetailsInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_remote_access_details: Option<SecureRemoteAccess>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub static_secret_info: Option<StaticSecretDetailsInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tokenizer_info: Option<TokenizerInfo>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LinkedDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosts: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetItemVersion {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date_display: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_version_info: Option<CertificateVersionInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_fragment_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deletion_date: Option<String>,
/// ItemState defines the different states an Item can be in
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_version_state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub latest_version: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modification_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub with_customer_fragment: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UscSyncInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_remote: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jq_secret_filter: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_error: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret_name: Option<String>,
}
/// ItemUSCSyncAssociation includes details of usc sync associations
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ItemUscSyncAssociation {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assoc_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<UscSyncInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_remote: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Item {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date_display: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_request_status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bastion_details: Option<BastionsList>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_issuer_signer_key_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_issue_details: Option<CertificateIssueInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificates: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_permissions: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_fragment_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deletion_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gateway_details: Option<Vec<GatewayDetailsForItemReplyObj>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_access_request_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_accessibility: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields_details: Option<Vec<ItemCustomFieldsDetails>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_general_info: Option<ItemGeneralInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_metadata: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_size: Option<i64>,
/// ItemState defines the different states an Item can be in
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_sub_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_tags: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_targets_assoc: Option<Vec<ItemTargetAssociation>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_versions: Option<Vec<ItemVersion>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_rotation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_version: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub linked_details: Option<LinkedDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modification_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_rotation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub shared_by: Option<RuleAssigner>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_versions: Option<Vec<TargetItemVersion>>,
/// for USC item, hold rotated-secrets that are associated to him
for rotated-secret, holds the associated USCs
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usc_sync_associated_items: Option<Vec<ItemUscSyncAssociation>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub with_customer_fragment: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ItemAccessibility {
}
/// ItemState defines the different states an Item can be in
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ItemState {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ItemSubType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ItemType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct JsonError {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct K8sRoleType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipClient {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub activate_keys_on_creation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_issue_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_ttl_in_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rules: Option<Vec<PathRule>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipClientGetResponse {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client: Option<KmipClient>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipClientListResponse {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clients: Option<Vec<KmipClient>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipClientUpdateResponse {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client: Option<KmipClient>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipEnvironmentCreateResponse {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_cert: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub root: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KeyType {
}
/// KeyUsage represents the set of actions that are valid for a given key. It's
a bitmap of the KeyUsage* constants.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KeyUsage {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KubeconfigCluster {
/// CertificateAuthority is optional and can be omitted if not used.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_authority: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_authority_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KubeconfigNamedCluster {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster: Option<KubeconfigCluster>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KubeconfigContext {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KubeconfigNamedContext {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub context: Option<KubeconfigContext>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct KubeconfigExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub interactive_mode: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KubeconfigUserExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<KubeconfigExec>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KubeconfigUser {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<KubeconfigUserExec>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct KubeConfigValue {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clusters: Option<Vec<KubeconfigNamedCluster>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contexts: Option<Vec<KubeconfigNamedContext>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub current_context: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub users: Option<Vec<KubeconfigUser>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KubeconfigGenerateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conflicted_clusters_names: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<KubeConfigValue>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub errors: Option<Vec<String>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListAcmeAccountsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accounts: Option<Vec<AcmeAccount>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListAuthMethodsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_methods: Option<Vec<AuthMethod>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_page: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListGroupsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub groups: Option<Vec<Group>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_page: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListItemsInPathOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub folders: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub has_next: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<Item>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_page: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListItemsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub has_next: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<Item>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_page: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// RoleAuthMethodAssociation includes details of an association between a role
and an auth method.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RoleAuthMethodAssociation {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assoc_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_sub_claims: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_subclaims_with_operator: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims_case_sensitive: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Role {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_date_display: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_permissions: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modification_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_auth_methods_assoc: Option<Vec<RoleAuthMethodAssociation>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rules: Option<Rules>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListRolesOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_page: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub roles: Option<Vec<Role>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SraSessionEntryOut {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_unique_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error_msg: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gateway_info: Option<GatewayNameInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub instance_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub session_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListSraSessionsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_gateways: Option<Vec<GatewayNameInfo>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_page: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sessions: Option<Vec<SraSessionEntryOut>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListTargetsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_page: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets: Option<Vec<Target>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LoginType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MfaType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MigrationItems {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub failed: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migrated: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub skipped: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MigrationStatusReplyObj {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificates: Option<MigrationItems>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub computers: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub duration_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_status_message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_name_length: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_value_length: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_items: Option<MigrationItems>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_type_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_secrets: Option<MigrationItems>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets: Option<MigrationItems>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NativeK8sAuthType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WebHookNotiForwarderPublicDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint_url: Option<String>,
/// Auth type - User Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NotiForwarder {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
/// Auth - JWT
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_permissions: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_types: Option<Vec<EventType>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gateway_cluster_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub include_error: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_version: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modification_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub noti_forwarder_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub noti_forwarder_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub noti_forwarder_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub noti_forwarder_versions: Option<Vec<ItemVersion>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub override_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub paths: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub runner_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub slack_noti_forwarder_public_details: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub teams_noti_forwarder_public_details: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timespan_in_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub to_emails: Option<Vec<EmailEntry>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_email: Option<String>,
/// Auth - User Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub webhook_noti_forwarder_public_details: Option<WebHookNotiForwarderPublicDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub with_customer_fragment: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SlackNotiForwarderDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TeamsNotiForwarderDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub webhook_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WebhookNotiForwarderDetails {
/// Auth type - Certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate: Option<String>,
/// Auth type - User Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_certificate: Option<String>,
/// Auth type - Token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NotiForwarderDetailsInput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_private_key_pem_base64: Option<String>,
/// Auth - JWT
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Auth - User Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub slack_noti_forwarder_details: Option<SlackNotiForwarderDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub teams_noti_forwarder_details: Option<TeamsNotiForwarderDetails>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub webhook_noti_forwarder_details: Option<WebhookNotiForwarderDetails>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NotiForwarderRunnerType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NotiForwarderType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ObjectIdentifier {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ObjectType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PasswordBreachStatus {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PasswordScoreStatus {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PathRuleType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PkiIssuerType {
}
/// RotationStatus defines types of rotation Status
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ProducerStatus {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ProvisionCertificateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fail_message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub success_message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_names: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provisioned_at: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RecordStorageType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RecordingQuality {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RenewCertificate {
/// The name of the PKI certificate issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_issuer_name: Option<String>,
/// Generate a new key as part of the certificate renewal
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generate_key: Option<bool>,
/// Certificate item id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Certificate name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RenewCertificateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_display_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_cert: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reading_token: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// ResetAuthMethodAccessKeyOutput defines output of ResetAuthMethodAccessKey
operation.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ResetAuthMethodAccessKeyOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_key: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ResponseStopShareItem {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub errors: Option<Vec<EmailError>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ReverseRbacClient {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assocs: Option<Vec<AuthMethodRoleAssociation>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ReverseRbacOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clients: Option<serde_json::Value>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// RevokeCertificate is a command that revokes a certificate and adds it to the crl
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RevokeCertificate {
/// The item id of the certificate to revoke
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Certificate item name to revoke
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// The serial number of the certificate to revoke
#[serde(default, skip_serializing_if = "Option::is_none")]
pub serial_number: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Certificate version to revoke. Required if item-id or name are used.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RevokeCertificateOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// RoleAssociationDetails includes details of an association between a role
and an auth method.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RoleAssociationDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assoc_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_sub_claims: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_subclaims_with_operator: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims_case_sensitive: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// RotateKeyOutput defines output of RotateKey operation
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotateKeyOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classic_key_gw_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_item_version: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_rotation_date: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotateOidcClientOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_secret: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretDeleteSyncOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usc_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatorCredsType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatorType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Sla {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SraConcurrentConnsLevel {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SshCertificateType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SecretSyncOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remote_secret_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usc_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SecureRemoteAccessCategory {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ServiceNowAuthType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SharingItemFullInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assigners: Option<Vec<RuleAssigner>>,
/// The approved/denied capabilities in the path
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cb: Option<u64>,
/// flag that indicate that this rule is allowed to be access RemainingAccess of times.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_limit_access: Option<bool>,
/// The item id this rule directly refers to (when applicable)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub number_of_access_used: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub number_of_allowed_access: Option<i64>,
/// The path the rule refers to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start_time: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignEcDsaOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignPkcs1Output {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignRsaSsaPssOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SlackNotiForwarderPublicDetails {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SnowflakeAuthMode {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SraClientType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SraSessionStatus {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StaticSecretDeleteSyncOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usc_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// StaticSecretFormat defines the format of static secret (e.g. Text)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StaticSecretFormat {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SubClaimsDelimiters {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetAuthType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetFormatType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetSubType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TeamsNotiForwarderPublicDetails {
}
/// Tier represents a level of extensibility the account will have, defined by various limits for different
resources of Akeyless
e.g - A StarterTier may have a limit of 3 Client resources and 50 Secret resources
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Tier {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TmpUserData {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dynamic_secret_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub encrypted_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims: Option<serde_json::Value>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TokenType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TokenizerTemplateType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TweakType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UidTokenDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub children: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deny_inheritance: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deny_rotate: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub depth: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expired_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_rotate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revoked: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UniversalIdentityDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_depth: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub number_of_tokens: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub root: Option<UidTokenDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UnwrapTokenOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// UpdateClassicKeyCertificate is a command that updates the certificate for a classic key
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateClassicKeyCertificate {
/// PEM Certificate in a Base64 format. Used for updating RSA keys' certificates.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_file_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_format: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// ClassicKey name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateClassicKeyCertificateOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGroupOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateModeType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateOidcAppOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdatePkiCertIssuer {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// If set, clients can request certificates for any CN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_any_name: Option<bool>,
/// If set, will allow copying the extra extensions from the csr file (if given)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_copy_ext_from_csr: Option<bool>,
/// If set, clients can request certificates for subdomains of the allowed domains
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_subdomains: Option<bool>,
/// A list of the allowed domains that clients can request to be included in
the certificate (in a comma-delimited list)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_domains: Option<String>,
/// A json string containing the allowed extra extensions for the pki cert issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_extra_extensions: Option<String>,
/// A list of the allowed CIDRs for ips that clients can request to be included in the certificate as part of the IP Subject Alternative Names (in a comma-delimited list)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_ip_sans: Option<String>,
/// A list of the allowed URIs that clients can request to be included in
the certificate as part of the URI Subject Alternative Names (in a
comma-delimited list)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_uri_sans: Option<String>,
/// Automatically renew certificates before expiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_renew: Option<bool>,
/// If set, certificates will be flagged for client auth use
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_flag: Option<bool>,
/// If set, certificates will be flagged for code signing use
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code_signing_flag: Option<bool>,
/// A comma-separated list of countries that will be set in the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
/// Set this to allow the issuer will expose a CRL endpoint in the Gateway
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create_private_crl: Option<bool>,
/// Set this to enable an OCSP endpoint in the Gateway and include its URL in AIA
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create_private_ocsp: Option<bool>,
/// Set this to allow the cert issuer will expose a public CRL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create_public_crl: Option<bool>,
/// Set this to enable a public OCSP endpoint and include its URL in AIA (served by UAM and includes account id)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create_public_ocsp: Option<bool>,
/// Mark key usage as critical [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub critical_key_usage: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A path in which to save generated certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub destination_path: Option<String>,
/// If set, generation of wildcard certificates will be disabled.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disable_wildcards: Option<bool>,
/// If set, the cert issuer will support the acme protocol
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_acme: Option<bool>,
/// How many days before the expiration of the certificate would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// The GW cluster URL to issue the certificate from. Required in Public CA mode, to allow CRLs on private CA, or to enable ACME
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_cluster_url: Option<String>,
/// If set, the basic constraints extension will be added to certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_ca: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// key-usage
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_usage: Option<String>,
/// A comma-separated list of localities that will be set in the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub locality: Option<String>,
/// The maximum path length for the generated certificate. -1, means unlimited
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_path_len: Option<i64>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// PKI certificate issuer name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// If set, any names are allowed for CN and SANs in the certificate and not
only a valid host name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub not_enforce_hostnames: Option<bool>,
/// If set, clients can request certificates without a CN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub not_require_cn: Option<bool>,
/// OCSP NextUpdate window for OCSP responses (min 10m). Supports s,m,h,d suffix.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ocsp_ttl: Option<String>,
/// A comma-separated list of organizational units (OU) that will be set in
the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organizational_units: Option<String>,
/// A comma-separated list of organizations (O) that will be set in the
issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organizations: Option<String>,
/// A comma-separated list of postal codes that will be set in the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postal_code: Option<String>,
/// Whether to protect generated certificates from deletion
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protect_certificates: Option<bool>,
/// A comma-separated list of provinces that will be set in the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub province: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Number of days before expiration to renew certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduled_renew: Option<i64>,
/// If set, certificates will be flagged for server auth use
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_flag: Option<bool>,
/// A key to sign the certificate with, required in Private CA mode
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signer_key_name: Option<String>,
/// A comma-separated list of street addresses that will be set in the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub street_address: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The maximum requested Time To Live for issued certificates, in seconds. In case of Public CA, this is based on the CA target's supported maximum TTLs
pub ttl: String,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateSecretValOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UsageReportSummary {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clients_by_auth_method_types: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secrets_by_types: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total_clients: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total_secrets: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UscCreateSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UscDeleteSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UscGetSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub binary_value: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub encryption_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UscListSecretsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secrets_list: Option<Vec<SecretInfo>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UscUpdateSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// ValidateCertificateChallengeOutput defines output for HTTP-01 challenge validation
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ValidateCertificateChallengeOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_display_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_item_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// ValidateCertificateChallenge validates HTTP-01 challenge and finalizes certificate issuance (Phase 2)
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ValidateCertificateChallenge {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<ValidateCertificateChallengeOutput>,
/// Certificate display ID from Phase 1
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_display_id: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Certificate name (alternative to cert-display-id)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Validation timeout in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ValidateTokenOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_valid: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_rotate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// VersionSettingsObjectType defines object types for account version settings
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VersionSettingsObjectType {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WebHookNotiForwarderAuthType {
}
/// accountCustomFieldCreate is a command that creates a new custom field in the account settings
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccountCustomFieldCreate {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the custom field
pub name: String,
/// The object to create the custom field
pub object: String,
/// The object type to create the custom field [e.g. STATIC_SECRET,DYNAMIC_SECRET,ROTATED_SECRET]
pub object_type: String,
/// Specify whether the custom field is mandatory
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// accountCustomFieldDelete is a command that deletes an account custom field
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccountCustomFieldDelete {
/// The custom field id
pub id: i64,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// accountCustomFieldGet is a command that retrieves an account custom field
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccountCustomFieldGet {
/// The custom field id
pub id: i64,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// accountCustomFieldList is a command that retrieves the account custom fields
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccountCustomFieldList {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The object to filter by the custom fields
in: body
#[serde(default, skip_serializing_if = "Option::is_none")]
pub object: Option<String>,
/// The object type to filter by the custom fields
in: body
#[serde(default, skip_serializing_if = "Option::is_none")]
pub object_type: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// accountCustomFieldUpdate is a command to update an account custom field
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccountCustomFieldUpdate {
/// The custom field id
pub id: i64,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The new name of the custom field
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Specify whether the custom field is mandatory
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// Responses:
default: errorResponse
200: addGatewayAllowedAccessIdResponse
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AddGatewayAllowedAccessId {
/// The access id that will be able to access to gateway
pub access_id: String,
/// The name of the updated cluster, e.g. acc-abcd12345678/p-123456789012/defaultCluster
pub cluster_name: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// key/val of sub claims, e.g group=admins,developers
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims: Option<serde_json::Value>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AddGatewayAllowedAccessIdOutput {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AliasDetails {
/// Account alias
pub account_alias: String,
/// Auth method name
pub auth_method_name: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AliasDetailsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant_tag: Option<String>,
}
/// assocRoleAuthMethod is a command that creates an association between role
and auth method.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AssocRoleAuthMethod {
/// The auth method to associate
pub am_name: String,
/// Treat sub claims as case-sensitive [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub case_sensitive: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The role to associate
pub role_name: String,
/// key/val of sub claims, e.g group=admins,developers
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims: Option<serde_json::Value>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// assocTargetItem is a command that creates an association between target
and item.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AssocTargetItem {
/// A path on the target to store the certificate pem file (relevant only for certificate provisioning)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_path: Option<String>,
/// A path on the target to store the full chain pem file (relevant only for certificate provisioning)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chain_path: Option<String>,
/// Automatically disable previous key version (required for azure targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disable_previous_key_version: Option<bool>,
/// The external key name to associate with the classic key (Relevant only for Classic Key AWS/Azure/GCP targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_key_name: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// A list of allowed operations for the key (required for azure targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_operations: Option<Vec<String>>,
/// Keyring name of the GCP KMS (required for gcp targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keyring_name: Option<String>,
/// Algorithm of the key in GCP KMS (required for gcp targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kms_algorithm: Option<String>,
/// Location id of the GCP KMS (required for gcp targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub location_id: Option<String>,
/// Set to 'true' to create a multi-region managed key. (Relevant only for Classic Key AWS targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub multi_region: Option<String>,
/// The item to associate
pub name: String,
/// A custom command to run on the remote target after successful provisioning (relevant only for certificate provisioning)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub post_provision_command: Option<String>,
/// A path on the target to store the private key (relevant only for certificate provisioning)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_path: Option<String>,
/// Project id of the GCP KMS (required for gcp targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub project_id: Option<String>,
/// Protection level of the key [software/hardware] (relevant for gcp targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_level: Option<String>,
/// Purpose of the key in GCP KMS (required for gcp targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub purpose: Option<String>,
/// The list of regions to create a copy of the key in (relevant for aws targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub regions: Option<Vec<String>>,
/// Is the target to associate is for sra, relevant only for linked target association for ldap rotated secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sra_association: Option<bool>,
/// The target to associate
pub target_name: String,
/// The tenant secret type [Data/SearchIndex/Analytics] (required for salesforce targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant_secret_type: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Name of the vault used (required for azure targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vault_name: Option<String>,
}
/// authMethodCreateApiKey is a command that creates Api Key auth method
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateApiKey {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// authMethodCreateAwsIam is a command that creates a new Auth Method that will
be able to authenticate using AWS IAM credentials.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateAwsIam {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A list of full arns that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_arn: Option<Vec<String>>,
/// A list of AWS account-IDs that the access is restricted to
pub bound_aws_account_id: Vec<String>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of full resource ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_id: Option<Vec<String>>,
/// A list of full role ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_role_id: Option<Vec<String>>,
/// A list of full role-name that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_role_name: Option<Vec<String>>,
/// A list of full user ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_user_id: Option<Vec<String>>,
/// A list of full user-name that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_user_name: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// sts URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sts_url: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
/// authMethodCreateAzureAD is a command that creates a new auth method that
will be able to authenticate using Azure Active Directory credentials.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateAzureAd {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Deprecated
(Deprecated) The audience in the JWT
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A list of group ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_group_id: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of resource providers that the access is restricted to (e.g,
Microsoft.Compute, Microsoft.ManagedIdentity, etc)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_providers: Option<Vec<String>>,
/// A list of full resource ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_id: Option<Vec<String>>,
/// A list of resource names that the access is restricted to (e.g, a
virtual machine name, scale set name, etc).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_names: Option<Vec<String>>,
/// A list of resource types that the access is restricted to (e.g,
virtualMachines, userAssignedIdentities, etc)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_types: Option<Vec<String>>,
/// A list of resource groups that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_rg_id: Option<Vec<String>>,
/// A list of service principal IDs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_spid: Option<Vec<String>>,
/// A list of subscription ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_sub_id: Option<Vec<String>>,
/// The Azure tenant id that the access is restricted to
pub bound_tenant_id: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The URL to the JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_uri: Option<String>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
/// authMethodCreateCert is a command that creates a new auth method that
will be able to authenticate using a client certificate
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateCert {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Comma separated list of allowed CORS domains to be validated as part of the authentication flow.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_cors: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A list of names. At least one must exist in the Common Name. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_common_names: Option<Vec<String>>,
/// A list of DNS names. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_dns_sans: Option<Vec<String>>,
/// A list of Email Addresses. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_email_sans: Option<Vec<String>>,
/// A list of extensions formatted as "oid:value". Expects the extension value to be some type of ASN1 encoded string. All values much match. Supports globbing on "value".
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_extensions: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of Organizational Units names. At least one must exist in the OU field.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_organizational_units: Option<Vec<String>>,
/// A list of URIs. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_uri_sans: Option<Vec<String>>,
/// The certificate data in base64, if no file was provided
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_data: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Require certificate CRL distribution points (CDP) and enforce CRL validation during authentication.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub require_crl_dp: Option<bool>,
/// A list of revoked cert ids
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revoked_cert_ids: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured, such as common_name or organizational_unit
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
/// authMethodCreateEmail is a command that creates a new auth method that will
be able to authenticate using email.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateEmail {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// An email address to be invited to have access
pub email: String,
/// Enable MFA for this authentication method [True / False]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_mfa: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Enable two-factor-authentication via [email/auth app]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mfa_type: Option<String>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// authMethodCreateGcp is a command that creates a new auth method that
will be able to authenticate using GCP IAM Service Account credentials
or GCE instance credentials.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateGcp {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// The audience to verify in the JWT received by the client
pub audience: String,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A comma-separated list of GCP labels formatted as "key:value" strings that must be set on authorized GCE instances.
TODO: Because GCP labels are not currently ACL'd ....
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_labels: Option<Vec<String>>,
/// === Human and Machine authentication section ===
Array of GCP project IDs. Only entities belonging to any of the provided projects can authenticate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_projects: Option<Vec<String>>,
/// List of regions that a GCE instance must belong to in order to be authenticated.
TODO: If bound_instance_groups is provided, it is assumed to be a regional group and the group must belong to this region. If bound_zones are provided, this attribute is ignored.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_regions: Option<Vec<String>>,
/// List of service accounts the service account must be part of in order to be authenticated.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_service_accounts: Option<Vec<String>>,
/// === Machine authentication section ===
List of zones that a GCE instance must belong to in order to be authenticated.
TODO: If bound_instance_groups is provided, it is assumed to be a zonal group and the group must belong to this zone.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_zones: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// ServiceAccount credentials data instead of giving a file path, base64 encoded
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_account_creds_data: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Type of the GCP Access Rules
pub r#type: String,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
/// authMethodCreateK8s is a command that creates a new auth method that will
be able to authenticate using K8S.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateK8s {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// The audience in the Kubernetes JWT that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of namespaces that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_namespaces: Option<Vec<String>>,
/// A list of pod names that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_pod_names: Option<Vec<String>>,
/// A list of service account names that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_sa_names: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// Automatically generate key-pair for K8S configuration. If set to false, a public key needs to be provided [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gen_key: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Base64-encoded or PEM formatted public key data for K8S authentication method is required [RSA2048]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// authMethodCreateKerberos is a command that creates a new auth
method that will be able to authenticate using Kerberos
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateKerberos {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn_password: Option<String>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_attr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_filter: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keytab_file_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keytab_file_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub krb5_conf_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub krb5_conf_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_anonymous_search: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_ca_cert: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url: Option<String>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_attribute: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_dn: Option<String>,
}
/// authMethodCreateLdap is a command that creates a new auth method that will
be able to authenticate using LDAP.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateLdap {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// Automatically generate key-pair for LDAP configuration. If set to false, a public key needs to be provided [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gen_key: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A public key generated for LDAP authentication method on Akeyless in base64 or PEM format
[RSA2048]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key_data: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
/// authMethodCreateOCI is a command that creates a new Oracle Auth Method
that will be used in the account using OCI principle and groups.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateOci {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A list of required groups ocids
pub group_ocid: Vec<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// The Oracle Cloud tenant ID
pub tenant_ocid: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// authMethodCreateOIDC is a command that creates a new auth method that will
be available to authenticate using OIDC.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateOidc {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Allowed redirect URIs after the authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_redirect_uri: Option<Vec<String>>,
/// Audience claim to be used as part of the authentication flow. In case set, it must match the one configured on the Identity Provider's Application
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Client ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Client Secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// RequiredScopes is a list of required scopes that the oidc method will request from the oidc provider and the user must approve
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_scopes: Option<Vec<String>>,
/// RequiredScopesPrefix is a a prefix to add to all required-scopes when requesting them from the oidc server (for example, azures' Application ID URI)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_scopes_prefix: Option<String>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OIDC, OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
/// authMethodCreateOauth2 is a command that creates a new auth method that will
be able to authenticate using Oauth2.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateOauth2 {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// The audience in the JWT
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// The clients ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_client_ids: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// CertificateFile Path to a file that contain the certificate in a PEM format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<String>,
/// CertificateFileData PEM Certificate in a Base64 format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_file_data: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// Akeyless Gateway URL (Configuration Management port). Relevant only when the jwks-uri is accessible only from the gateway.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gateway_url: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
base64 encoded string
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_json_data: Option<String>,
/// The URL to the JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_uri: Option<String>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prv_key: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// authMethodCreateSAML is a command that creates a new auth method that will
be available to authenticate using SAML.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateSaml {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Allowed redirect URIs after the authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_redirect_uri: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// IDP metadata url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub idp_metadata_url: Option<String>,
/// IDP metadata xml data
#[serde(default, skip_serializing_if = "Option::is_none")]
pub idp_metadata_xml_data: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
/// authMethodCreateUniversalIdentity is a command that creates a new auth
method that will be able to authenticate using Akeyless Universal Identity.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodCreateUniversalIdentity {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Deny from root to create children
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deny_inheritance: Option<bool>,
/// Deny from the token to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deny_rotate: Option<bool>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Token ttl
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<i64>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// authMethodDelete is a command that deletes auth method
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodDelete {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Auth Method name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodDeleteOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodGet {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Auth Method name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// authMethodList is a command that returns a list of auth methods
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodList {
/// Filter by auth method name or part of it
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Next page reference
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pagination_token: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The Auth method types list of the requested method. In case it is empty, all
types of auth methods will be returned. options: [api_key, azure_ad, oauth2/jwt, saml2,
ldap, aws_iam, oidc, universal_identity, gcp, k8s, cert]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<Vec<String>>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateApiKey {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// authMethodUpdateAwsIam is a command that Updates a new Auth Method that will
be able to authenticate using AWS IAM credentials.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateAwsIam {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A list of full arns that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_arn: Option<Vec<String>>,
/// A list of AWS account-IDs that the access is restricted to
pub bound_aws_account_id: Vec<String>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of full resource ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_id: Option<Vec<String>>,
/// A list of full role ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_role_id: Option<Vec<String>>,
/// A list of full role-name that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_role_name: Option<Vec<String>>,
/// A list of full user ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_user_id: Option<Vec<String>>,
/// A list of full user-name that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_user_name: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// sts URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sts_url: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
/// authMethodUpdateAzureAD is a command that updates a new auth method that
will be able to authenticate using Azure Active Directory credentials.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateAzureAd {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Deprecated
(Deprecated) The audience in the JWT
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A list of group ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_group_id: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of resource providers that the access is restricted to (e.g,
Microsoft.Compute, Microsoft.ManagedIdentity, etc)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_providers: Option<Vec<String>>,
/// A list of full resource ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_id: Option<Vec<String>>,
/// A list of resource names that the access is restricted to (e.g, a
virtual machine name, scale set name, etc).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_names: Option<Vec<String>>,
/// A list of resource types that the access is restricted to (e.g,
virtualMachines, userAssignedIdentities, etc)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_types: Option<Vec<String>>,
/// A list of resource groups that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_rg_id: Option<Vec<String>>,
/// A list of service principal IDs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_spid: Option<Vec<String>>,
/// A list of subscription ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_sub_id: Option<Vec<String>>,
/// The Azure tenant id that the access is restricted to
pub bound_tenant_id: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The URL to the JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_uri: Option<String>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
/// authMethodUpdateCert is a command that updates a new auth method that
will be able to authenticate using a client certificate
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateCert {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Comma separated list of allowed CORS domains to be validated as part of the authentication flow.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_cors: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A list of names. At least one must exist in the Common Name. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_common_names: Option<Vec<String>>,
/// A list of DNS names. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_dns_sans: Option<Vec<String>>,
/// A list of Email Addresses. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_email_sans: Option<Vec<String>>,
/// A list of extensions formatted as "oid:value". Expects the extension value to be some type of ASN1 encoded string. All values much match. Supports globbing on "value".
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_extensions: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of Organizational Units names. At least one must exist in the OU field.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_organizational_units: Option<Vec<String>>,
/// A list of URIs. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_uri_sans: Option<Vec<String>>,
/// The certificate data in base64, if no file was provided
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_data: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Require certificate CRL distribution points (CDP) and enforce CRL validation during authentication.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub require_crl_dp: Option<bool>,
/// A list of revoked cert ids
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revoked_cert_ids: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured, such as common_name or organizational_unit
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
/// authMethodUpdateEmail is a command that updates an Email auth method
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateEmail {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Enable MFA for this authentication method [True / False]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_mfa: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Enable two-factor-authentication via [email/auth app]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mfa_type: Option<String>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// authMethodUpdateGcp is a command that updates a new auth method that
will be able to authenticate using GCP IAM Service Account credentials
or GCE instance credentials.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateGcp {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// The audience to verify in the JWT received by the client
pub audience: String,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A comma-separated list of GCP labels formatted as "key:value" strings that must be set on authorized GCE instances.
TODO: Because GCP labels are not currently ACL'd ....
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_labels: Option<Vec<String>>,
/// === Human and Machine authentication section ===
Array of GCP project IDs. Only entities belonging to any of the provided projects can authenticate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_projects: Option<Vec<String>>,
/// List of regions that a GCE instance must belong to in order to be authenticated.
TODO: If bound_instance_groups is provided, it is assumed to be a regional group and the group must belong to this region. If bound_zones are provided, this attribute is ignored.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_regions: Option<Vec<String>>,
/// List of service accounts the service account must be part of in order to be authenticated.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_service_accounts: Option<Vec<String>>,
/// === Machine authentication section ===
List of zones that a GCE instance must belong to in order to be authenticated.
TODO: If bound_instance_groups is provided, it is assumed to be a zonal group and the group must belong to this zone.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_zones: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// ServiceAccount credentials data instead of giving a file path, base64 encoded
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_account_creds_data: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Type of the GCP Access Rules
pub r#type: String,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
/// authMethodUpdateK8s is a command that updates a new auth method that will
be able to authenticate using K8S.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateK8s {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// The audience in the Kubernetes JWT that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of namespaces that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_namespaces: Option<Vec<String>>,
/// A list of pod names that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_pod_names: Option<Vec<String>>,
/// A list of service account names that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_sa_names: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// Automatically generate key-pair for K8S configuration. If set to false, a public key needs to be provided [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gen_key: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Base64-encoded or PEM formatted public key data for K8S authentication method is required [RSA2048]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// authMethodUpdateKerberos is a command that updates an auth
method that will be able to authenticate using Kerberos
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateKerberos {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn_password: Option<String>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_attr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_filter: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keytab_file_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keytab_file_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub krb5_conf_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub krb5_conf_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_anonymous_search: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_ca_cert: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url: Option<String>,
/// Auth Method name
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_attribute: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_dn: Option<String>,
}
/// authMethodUpdateLdap is a command that updates a new auth method that will
be able to authenticate using LDAP.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateLdap {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// Automatically generate key-pair for LDAP configuration. If set to false, a public key needs to be provided [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gen_key: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A public key generated for LDAP authentication method on Akeyless in base64 or PEM format
[RSA2048]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key_data: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
/// authMethodUpdateOCI is a command that updates an auth method that
will be used in the account using OCI principle and groups.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateOci {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A list of required groups ocids
pub group_ocid: Vec<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// The Oracle Cloud tenant ID
pub tenant_ocid: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// authMethodUpdateOIDC is a command that updates a new auth method that will
be available to authenticate using OIDC.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateOidc {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Allowed redirect URIs after the authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_redirect_uri: Option<Vec<String>>,
/// Audience claim to be used as part of the authentication flow. In case set, it must match the one configured on the Identity Provider's Application
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Client ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Client Secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// RequiredScopes is a list of required scopes that the oidc method will request from the oidc provider and the user must approve
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_scopes: Option<Vec<String>>,
/// RequiredScopesPrefix is a a prefix to add to all required-scopes when requesting them from the oidc server (for example, azures' Application ID URI)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_scopes_prefix: Option<String>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OIDC, OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
/// authMethodUpdateOauth2 is a command that updates a new auth method that will
be able to authenticate using Oauth2.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateOauth2 {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// The audience in the JWT
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// The clients ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_client_ids: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// CertificateFile Path to a file that contain the certificate in a PEM format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<String>,
/// CertificateFileData PEM Certificate in a Base64 format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_file_data: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// Akeyless Gateway URL (Configuration Management port). Relevant only when the jwks-uri is accessible only from the gateway.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gateway_url: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
base64 encoded string
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_json_data: Option<String>,
/// The URL to the JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_uri: Option<String>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prv_key: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// authMethodUpdateSAML is a command that updates a new auth method that will
be available to authenticate using SAML.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateSaml {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Allowed redirect URIs after the authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_redirect_uri: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// IDP metadata url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub idp_metadata_url: Option<String>,
/// IDP metadata xml data
#[serde(default, skip_serializing_if = "Option::is_none")]
pub idp_metadata_xml_data: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
/// authMethodUpdateUniversalIdentity is a command that updates a new auth
method that will be able to authenticate using Akeyless Universal Identity.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AuthMethodUpdateUniversalIdentity {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Deny from root to create children
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deny_inheritance: Option<bool>,
/// Deny from the token to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deny_rotate: Option<bool>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Token ttl
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<i64>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CalcPasswordSecurityInfo {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub min_length: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ChangeAdminAccountPassword {
/// Current password
pub current_password: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// New password
pub new_password: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ClientData {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_certificate_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_key_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_certificate_data: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Configure {
/// Access ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
/// Access Key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_key: Option<String>,
/// Access Type (access_key/password/azure_ad/saml/oidc/aws_iam/gcp/k8s/cert)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_type: Option<String>,
/// Account id (relevant only for access-type=password where the email address is associated with more than one account)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
/// Email (relevant only for access-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_email: Option<String>,
/// Password (relevant only for access-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_password: Option<String>,
/// Azure Active Directory ObjectId (relevant only for access-type=azure_ad)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_ad_object_id: Option<String>,
/// Azure cloud environment to use. Values: AzureCloud (default), AzureUSGovernment, AzureChinaCloud.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_cloud: Option<String>,
/// Certificate data encoded in base64. Used if file was not provided. (relevant only for access-type=cert in Curl Context)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_data: Option<String>,
/// Certificate Issuer Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_issuer_name: Option<String>,
/// The username to sign in the SSH certificate (use a comma-separated list for more than one username)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_username: Option<String>,
/// Default path prefix for name of items, targets and auth methods
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_location_prefix: Option<String>,
/// Disable the FAST negotiation in the Kerberos authentication method
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disable_pafxfast: Option<String>,
/// The service principal name of the gateway as registered in LDAP (i.e., HTTP/gateway)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gateway_spn: Option<String>,
/// GCP JWT audience
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_audience: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The K8S Auth config name (relevant only for access-type=k8s)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auth_config_name: Option<String>,
/// KerberosToken represents a Kerberos token generated for the gateway SPN (Service Principal Name).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kerberos_token: Option<String>,
/// TThe username for the entry within the keytab to authenticate via Kerberos
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kerberos_username: Option<String>,
/// Private key data encoded in base64. Used if file was not provided.(relevant only for access-type=cert in Curl Context)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_data: Option<String>,
/// Base64-encoded content of a valid keytab file, containing the service account's entry.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keytab_data: Option<String>,
/// Base64-encoded content of a valid krb5.conf file, specifying the settings and parameters required for Kerberos authentication.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub krb5_conf_data: Option<String>,
/// Set this option to output legacy ('ssh-rsa-cert-v01@openssh.com') signing algorithm name in the certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub legacy_signing_alg_name: Option<bool>,
/// The type of the OCI configuration to use [instance/apikey/resource] (relevant only for access-type=oci)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oci_auth_type: Option<String>,
/// A list of Oracle Cloud IDs groups (relevant only for access-type=oci)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oci_group_ocid: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ConfigureOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ConnectOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAWSTarget is a command that creates a new target. [Deprecated: Use target-create-aws command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAwsTarget {
/// AWS secret access key
pub access_key: String,
/// AWS access key ID
pub access_key_id: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A unique auto-generated value used in your AWS account when configuring your AWS IAM role to securely delegate access to Akeyless. Relevant only when using GW cloud ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generate_external_id: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// AWS region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// AWS IAM role identifier that Gateway will assume in your AWS account, relevant only when using external ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
/// Required only for temporary security credentials retrieved using STS
#[serde(default, skip_serializing_if = "Option::is_none")]
pub session_token: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's Cloud IAM
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAwsTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createArtifactoryTarget is a command that creates a new target. [Deprecated: Use target-create-artifactory command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateArtifactoryTarget {
/// Artifactory Admin Name
pub artifactory_admin_name: String,
/// Artifactory Admin password
pub artifactory_admin_pwd: String,
/// Base URL
pub base_url: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key used to encrypt the target secret value (if empty, the
account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateArtifactoryTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAuthMethod is a command that creates a new auth method. [Deprecated: Use auth-method-create-api-key command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethod {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// createAuthMethodAWSIAM is a command that creates a new Auth Method that will
be able to authenticate using AWS IAM credentials. [Deprecated: Use auth-method-create-aws-iam command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodAwsiam {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A list of full arns that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_arn: Option<Vec<String>>,
/// A list of AWS account-IDs that the access is restricted to
pub bound_aws_account_id: Vec<String>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of full resource ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_id: Option<Vec<String>>,
/// A list of full role ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_role_id: Option<Vec<String>>,
/// A list of full role-name that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_role_name: Option<Vec<String>>,
/// A list of full user ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_user_id: Option<Vec<String>>,
/// A list of full user-name that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_user_name: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// sts URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sts_url: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodAwsiamOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAuthMethodAzureAD is a command that creates a new auth method that
will be able to authenticate using Azure Active Directory credentials. [Deprecated: Use auth-method-create-azure-ad command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodAzureAd {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Deprecated
(Deprecated) The audience in the JWT
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A list of group ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_group_id: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of resource providers that the access is restricted to (e.g,
Microsoft.Compute, Microsoft.ManagedIdentity, etc)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_providers: Option<Vec<String>>,
/// A list of full resource ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_id: Option<Vec<String>>,
/// A list of resource names that the access is restricted to (e.g, a
virtual machine name, scale set name, etc).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_names: Option<Vec<String>>,
/// A list of resource types that the access is restricted to (e.g,
virtualMachines, userAssignedIdentities, etc)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_types: Option<Vec<String>>,
/// A list of resource groups that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_rg_id: Option<Vec<String>>,
/// A list of service principal IDs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_spid: Option<Vec<String>>,
/// A list of subscription ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_sub_id: Option<Vec<String>>,
/// The Azure tenant id that the access is restricted to
pub bound_tenant_id: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The URL to the JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_uri: Option<String>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodAzureAdOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAuthMethodCert is a command that creates a new auth method that
will be able to authenticate using a client certificate. [Deprecated: Use auth-method-create-cert command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodCert {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Comma separated list of allowed CORS domains to be validated as part of the authentication flow.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_cors: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A list of names. At least one must exist in the Common Name. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_common_names: Option<Vec<String>>,
/// A list of DNS names. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_dns_sans: Option<Vec<String>>,
/// A list of Email Addresses. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_email_sans: Option<Vec<String>>,
/// A list of extensions formatted as "oid:value". Expects the extension value to be some type of ASN1 encoded string. All values much match. Supports globbing on "value".
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_extensions: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of Organizational Units names. At least one must exist in the OU field.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_organizational_units: Option<Vec<String>>,
/// A list of URIs. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_uri_sans: Option<Vec<String>>,
/// The certificate data in base64, if no file was provided
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_data: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Require certificate CRL distribution points (CDP) and enforce CRL validation during authentication.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub require_crl_dp: Option<bool>,
/// A list of revoked cert ids
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revoked_cert_ids: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured, such as common_name or organizational_unit
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodCertOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAuthMethodEmail is a command that creates a new auth method that will
be able to authenticate using email. [Deprecated: Use auth-method-create-email command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodEmail {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// An email address to be invited to have access
pub email: String,
/// Enable MFA for this authentication method [True / False]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_mfa: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Enable two-factor-authentication via [email/auth app]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mfa_type: Option<String>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodEmailOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAuthMethodGCP is a command that creates a new auth method that
will be able to authenticate using GCP IAM Service Account credentials
or GCE instance credentials. [Deprecated: Use auth-method-create-gcp command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodGcp {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// The audience to verify in the JWT received by the client
pub audience: String,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A comma-separated list of GCP labels formatted as "key:value" strings that must be set on authorized GCE instances.
TODO: Because GCP labels are not currently ACL'd ....
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_labels: Option<Vec<String>>,
/// === Human and Machine authentication section ===
Array of GCP project IDs. Only entities belonging to any of the provided projects can authenticate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_projects: Option<Vec<String>>,
/// List of regions that a GCE instance must belong to in order to be authenticated.
TODO: If bound_instance_groups is provided, it is assumed to be a regional group and the group must belong to this region. If bound_zones are provided, this attribute is ignored.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_regions: Option<Vec<String>>,
/// List of service accounts the service account must be part of in order to be authenticated.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_service_accounts: Option<Vec<String>>,
/// === Machine authentication section ===
List of zones that a GCE instance must belong to in order to be authenticated.
TODO: If bound_instance_groups is provided, it is assumed to be a zonal group and the group must belong to this zone.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_zones: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// ServiceAccount credentials data instead of giving a file path, base64 encoded
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_account_creds_data: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Type of the GCP Access Rules
pub r#type: String,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodGcpOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAuthMethodHuawei is a command that creates a new auth method that will
be able to authenticate using Huawei credentials.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodHuawei {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// sts URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_url: Option<String>,
/// A list of domain IDs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_domain_id: Option<Vec<String>>,
/// A list of domain names that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_domain_name: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of full tenant ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_tenant_id: Option<Vec<String>>,
/// A list of full tenant names that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_tenant_name: Option<Vec<String>>,
/// A list of full user ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_user_id: Option<Vec<String>>,
/// A list of full user-name that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_user_name: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodHuaweiOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAuthMethodK8S is a command that creates a new auth method that will
be able to authenticate using K8S. [Deprecated: Use auth-method-create-k8s command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodK8s {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// The audience in the Kubernetes JWT that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of namespaces that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_namespaces: Option<Vec<String>>,
/// A list of pod names that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_pod_names: Option<Vec<String>>,
/// A list of service account names that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_sa_names: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// Automatically generate key-pair for K8S configuration. If set to false, a public key needs to be provided [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gen_key: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Base64-encoded or PEM formatted public key data for K8S authentication method is required [RSA2048]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodK8sOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prv_key: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAuthMethodLDAP is a command that creates a new auth method that will
be able to authenticate using LDAP. [Deprecated: Use auth-method-create-ldap command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodLdap {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// Automatically generate key-pair for LDAP configuration. If set to false, a public key needs to be provided [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gen_key: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A public key generated for LDAP authentication method on Akeyless in base64 or PEM format
[RSA2048]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key_data: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodLdapOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prv_key: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAuthMethodOAuth2 is a command that creates a new auth method that will
be able to authenticate using Oauth2. [Deprecated: Use auth-method-create-oauth2 command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodOAuth2 {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// The audience in the JWT
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// The clients ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_client_ids: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// CertificateFile Path to a file that contain the certificate in a PEM format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<String>,
/// CertificateFileData PEM Certificate in a Base64 format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_file_data: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// Akeyless Gateway URL (Configuration Management port). Relevant only when the jwks-uri is accessible only from the gateway.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gateway_url: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
base64 encoded string
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_json_data: Option<String>,
/// The URL to the JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_uri: Option<String>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodOAuth2Output {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAuthMethodOCI is a command that Creates a new Oracle Auth Method
that will be used in the account using OCI principle and groups. [Deprecated: Use auth-method-create-oci command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodOci {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A list of required groups ocids
pub group_ocid: Vec<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// The Oracle Cloud tenant ID
pub tenant_ocid: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodOciOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAuthMethodOIDC is a command that creates a new auth method that will
be available to authenticate using OIDC. [Deprecated: Use auth-method-create-oidc command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodOidc {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Allowed redirect URIs after the authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_redirect_uri: Option<Vec<String>>,
/// Audience claim to be used as part of the authentication flow. In case set, it must match the one configured on the Identity Provider's Application
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Client ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Client Secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// RequiredScopes is a list of required scopes that the oidc method will request from the oidc provider and the user must approve
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_scopes: Option<Vec<String>>,
/// RequiredScopesPrefix is a a prefix to add to all required-scopes when requesting them from the oidc server (for example, azures' Application ID URI)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_scopes_prefix: Option<String>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OIDC, OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodOidcOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAuthMethodSAML is a command that creates a new auth method that will
be available to authenticate using SAML. [Deprecated: Use auth-method-create-saml command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodSaml {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Allowed redirect URIs after the authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_redirect_uri: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// IDP metadata url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub idp_metadata_url: Option<String>,
/// IDP metadata xml data
#[serde(default, skip_serializing_if = "Option::is_none")]
pub idp_metadata_xml_data: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodSamlOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAuthMethodUniversalIdentity is a command that creates a new auth
method that will be able to authenticate using Akeyless Universal Identity. [Deprecated: Use auth-method-create-universal-identity command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodUniversalIdentity {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Deny from root to create children
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deny_inheritance: Option<bool>,
/// Deny from the token to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deny_rotate: Option<bool>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Token ttl
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<i64>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAuthMethodUniversalIdentityOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createAzureTarget is a command that creates a new target. [Deprecated: Use target-create-azure command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAzureTarget {
/// Azure cloud environment to use. Values: AzureCloud (default), AzureUSGovernment, AzureChinaCloud.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_cloud: Option<String>,
/// Azure client/application id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Azure client secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Type of connection [credentials/cloud-identity]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// The Resource Group name in your Azure subscription
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_group_name: Option<String>,
/// The name of the relevant Resource
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_name: Option<String>,
/// Azure Subscription Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subscription_id: Option<String>,
/// Azure tenant id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant_id: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's Cloud IAM [Deprecated: Use connection-type=cloud-identity]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateAzureTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateCertificate {
/// Content of the certificate in a Base64 format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_data: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the certificate would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// CertificateFormat of the certificate and private key, possible values: cer,crt,pem,pfx,p12.
Required when passing inline certificate content with --certificate-data or --key-data, otherwise format is derived from the file extension.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key to use to encrypt the certificate's key (if empty, the
account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Content of the certificate's private key in a Base64 format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_data: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// Certificate name
pub name: String,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateCertificateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createDBTarget is a command that creates a new target. [Deprecated: Use target-create-db command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateDbTarget {
/// (Optional) Client id (relevant for "cloud-service-provider" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_id: Option<String>,
/// (Optional) Client secret (relevant for "cloud-service-provider" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_secret: Option<String>,
/// (Optional) Tenant id (relevant for "cloud-service-provider" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_tenant_id: Option<String>,
/// (Optional) Cloud service provider (currently only supports Azure)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cloud_service_provider: Option<String>,
/// Cluster Mode
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_mode: Option<bool>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Type of connection to mssql database [credentials/cloud-identity/wallet/parent-target]
pub connection_type: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_name: Option<String>,
/// (Optional) DB server certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) Server name for certificate verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
pub db_type: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas: Option<bool>,
/// MongoDB Atlas private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_private_key: Option<String>,
/// MongoDB Atlas public key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_public_key: Option<String>,
/// MongoDB Atlas project ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_project_id: Option<String>,
/// MongoDB server default authentication database
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_default_auth_db: Option<String>,
/// MongoDB server URI options
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_uri_options: Option<String>,
/// Target name
pub name: String,
/// Oracle db service name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_service_name: Option<String>,
/// Oracle Wallet login type (password/mtls)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_login_type: Option<String>,
/// Oracle wallet p12 file data in base64
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_p12_file_data: Option<String>,
/// Oracle wallet sso file data in base64
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_sso_file_data: Option<String>,
/// Name of the parent target, relevant only when connection-type is parent-target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_target_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pwd: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub snowflake_account: Option<String>,
/// RSA Private key (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub snowflake_api_private_key: Option<String>,
/// The Private key passphrase
#[serde(default, skip_serializing_if = "Option::is_none")]
pub snowflake_api_private_key_password: Option<String>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL connection certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateDbTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateDfcKey {
/// DFCKey type; options: [AES128GCM, AES256GCM, AES128SIV, AES256SIV, AES128CBC, AES256CBC, RSA1024,
RSA2048, RSA3072, RSA4096]
pub alg: String,
/// Whether to automatically rotate every rotation_interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Common name for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_common_name: Option<String>,
/// Country name for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_country: Option<String>,
/// Digest algorithm to be used for the certificate key signing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_digest_algo: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_format: Option<String>,
/// Locality for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_locality: Option<String>,
/// Organization name for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_organization: Option<String>,
/// Province name for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_province: Option<String>,
/// TTL in days for the generated certificate. Required only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_ttl: Option<i64>,
/// The csr config data in base64 encoding
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conf_file_data: Option<String>,
/// The customer fragment ID that will be used to create the DFC key (if empty, the key will be created independently of a customer fragment)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_frg_id: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the certificate would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// Whether to generate a self signed certificate with the key. If set, --certificate-ttl must be provided.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generate_self_signed_certificate: Option<bool>,
/// Specifies the hash algorithm used for the encryption key's operations, available options: [SHA256, SHA384, SHA512]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash_algorithm: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// DFCKey name
pub name: String,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The number of days to wait between every automatic rotation (7-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The number of fragments that the item will be split into (not includes
customer fragment)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub split_level: Option<i64>,
/// List of the tags attached to this DFC key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tag: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateDfcKeyOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fragment_results: Option<Vec<Duration>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createDockerhubTarget is a command that creates a new target. [Deprecated: Use target-create-dockerhub command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateDockerhubTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Password for docker repository
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_password: Option<String>,
/// Username for docker repository
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_username: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateDockerhubTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateDynamicSecret {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the dynamic secret values (if
empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// Dynamic secret name
pub name: String,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateDynamicSecretOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createEKSTarget is a command that creates a new target. [Deprecated: Use target-create-eks command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateEksTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Access Key ID
pub eks_access_key_id: String,
/// EKS cluster CA certificate
pub eks_cluster_ca_cert: String,
/// EKS cluster URL endpoint
pub eks_cluster_endpoint: String,
/// EKS cluster name
pub eks_cluster_name: String,
/// Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_region: Option<String>,
/// Secret Access Key
pub eks_secret_access_key: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateEksTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createEventForwarder is a command that creates a new event forwarder [Deprecated - please use event-forwarder-create-* command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateEventForwarder {
/// Workstation Admin Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_name: Option<String>,
/// Workstation Admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_pwd: Option<String>,
/// The RSA Private Key PEM formatted in base64 to use when connecting to ServiceNow with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_private_key_base64: Option<String>,
/// The authentication type to use when connecting to ServiceNow (user-pass / jwt)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
/// The client ID to use when connecting to ServiceNow with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// The client secret to use when connecting to ServiceNow with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A comma seperated list of email addresses to send event to (relevant only for "email" Event Forwarder)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_to: Option<String>,
/// Event sources
pub event_source_locations: Vec<String>,
/// Event Source type [item, target, auth_method, gateway]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_source_type: Option<String>,
/// List of event types to notify about [request-access, certificate-pending-expiration, certificate-expired, certificate-provisioning-success, certificate-provisioning-failure, auth-method-pending-expiration, auth-method-expired, rotated-secret-success, rotated-secret-failure, dynamic-secret-failure, multi-auth-failure, uid-rotation-failure, apply-justification, email-auth-method-approved, usage, rotation-usage, gateway-inactive, static-secret-updated]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_types: Option<Vec<String>>,
/// Rate of periodic runner repetition in hours
#[serde(default, skip_serializing_if = "Option::is_none")]
pub every: Option<String>,
pub forwarder_type: String,
/// Workstation Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the EventForwarder secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// EventForwarder name
pub name: String,
pub runner_type: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The user email to use when connecting to ServiceNow with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_email: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateEventForwarderOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_forwarder_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createGKETarget is a command that creates a new target. [Deprecated: Use target-create-gke command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGkeTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// GKE Service Account key file path
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_account_key: Option<String>,
/// GKE cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_cert: Option<String>,
/// GKE cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_endpoint: Option<String>,
/// GKE cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_name: Option<String>,
/// GKE service account email
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_service_account_email: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGkeTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createGcpTarget is a command that creates a new target. [Deprecated: Use target-create-gcp command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGcpTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGcpTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createGithubTarget is a command that creates a new target. [Deprecated: Use target-create-github command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGithubTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Github app id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_id: Option<i64>,
/// App private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_private_key: Option<String>,
/// Base URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_base_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGithubTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createGitlabTarget is a command that creates a new target. [Deprecated: Use target-create-gitlab command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGitlabTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Gitlab access token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_access_token: Option<String>,
/// Gitlab tls certificate (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_certificate: Option<String>,
/// Gitlab base url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGitlabTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createGlobalSignAtlasTarget is a command that creates a new target. [Deprecated: Use target-create-globalsign-atlas command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGlobalSignAtlasTarget {
/// API Key of the GlobalSign Atlas account
pub api_key: String,
/// API Secret of the GlobalSign Atlas account
pub api_secret: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Mutual TLS Certificate contents of the GlobalSign Atlas account encoded in base64, either mtls-cert-file-path or mtls-cert-data-base64 must be supplied
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mtls_cert_data_base64: Option<String>,
/// Mutual TLS Key contents of the GlobalSign Atlas account encoded in base64, either mtls-key-file-path or mtls-data-base64 must be supplied
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mtls_key_data_base64: Option<String>,
/// Target name
pub name: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGlobalSignAtlasTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createGlobalSignTarget is a command that creates a new target. [Deprecated: Use target-create-globalsign command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGlobalSignTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Email of the GlobalSign GCC account contact
pub contact_email: String,
/// First name of the GlobalSign GCC account contact
pub contact_first_name: String,
/// Last name of the GlobalSign GCC account contact
pub contact_last_name: String,
/// Telephone of the GlobalSign GCC account contact
pub contact_phone: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Password of the GlobalSign GCC account
pub password: String,
/// Profile ID of the GlobalSign GCC account
pub profile_id: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Username of the GlobalSign GCC account
pub username: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGlobalSignTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createGodaddyTarget is a command that creates a new target. [Deprecated: Use target-create-godaddy command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGodaddyTarget {
/// Key of the api credentials to the Godaddy account
pub api_key: String,
/// Customer ID (ShopperId) required for renewal of imported certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_id: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// ImapFQDN of the IMAP service, FQDN or IPv4 address. Must be FQDN if the IMAP is using TLS
pub imap_fqdn: String,
/// ImapPassword to access the IMAP service
pub imap_password: String,
/// ImapPort of the IMAP service
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_port: Option<String>,
/// ImapUsername to access the IMAP service
pub imap_username: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Secret of the api credentials to the Godaddy account
pub secret: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGodaddyTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateGroup {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A short group alias
pub group_alias: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Group name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A json string defining the access permission assignment for this client
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_assignment: Option<String>,
}
/// createHashiVaultTarget is a command that creates a new hashi-vault target. [Deprecated: Use target-create-hashi-vault command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateHashiVaultTarget {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// HashiCorp Vault API URL, e.g. https://vault-mgr01:8200
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Comma-separated list of vault namespaces
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Vault access token with sufficient permissions
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vault_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateHashiVaultTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createKey is a command that creates a new key. [Deprecated: Use command create-dfc-key]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateKey {
/// Key type; options: [AES128GCM, AES256GCM, AES128SIV, AES256SIV, AES128CBC, AES256CBC, RSA1024,
RSA2048, RSA3072, RSA4096]
pub alg: String,
/// Common name for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_common_name: Option<String>,
/// Country name for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_country: Option<String>,
/// Digest algorithm to be used for the certificate key signing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_digest_algo: Option<String>,
/// Locality for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_locality: Option<String>,
/// Organization name for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_organization: Option<String>,
/// Province name for the generated certificate. Relevant only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_province: Option<String>,
/// TTL in days for the generated certificate. Required only for generate-self-signed-certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_ttl: Option<i64>,
/// The csr config data in base64 encoding
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conf_file_data: Option<String>,
/// The customer fragment ID that will be used to create the key (if empty,
the key will be created independently of a customer fragment)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_frg_id: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Whether to generate a self signed certificate with the key. If set, --certificate-ttl must be provided.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generate_self_signed_certificate: Option<bool>,
/// Specifies the hash algorithm used for the encryption key's operations, available options: [SHA256, SHA384, SHA512]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash_algorithm: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// Key name
pub name: String,
/// The number of fragments that the item will be split into (not includes
customer fragment)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub split_level: Option<i64>,
/// List of the tags attached to this key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tag: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateKeyOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fragment_results: Option<Vec<Duration>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createldapTarget is a command that creates a new target. [Deprecated: Use target-create-ldap command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateLdapTarget {
/// Bind DN
pub bind_dn: String,
/// Bind DN Password
pub bind_dn_password: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// CA Certificate File Content
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_ca_cert: Option<String>,
/// LDAP Server URL
pub ldap_url: String,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Set Ldap server type, Options:[OpenLDAP, ActiveDirectory]. Default is OpenLDAP
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_type: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Token expiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_expiration: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateLdapTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createLinkedTarget is a command that creates a new Linked Target which can inherit credentials from existing Targets. [Deprecated: Use target-create-linked command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateLinkedTarget {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A comma seperated list of server hosts and server descriptions joined by semicolon ';' (i.e. 'server-dev.com;My Dev server,server-prod.com;My Prod server description')
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosts: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Target name
pub name: String,
/// The parent Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Specifies the hosts type, relevant only when working without parent target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateLinkedTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createNativeK8STarget is a command that creates a new target. [Deprecated: Use target-create-k8s command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateNativeK8sTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// K8S auth type [token/certificate]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auth_type: Option<String>,
/// Content of the k8 client certificate (PEM format) in a Base64 format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_certificate: Option<String>,
/// Content of the k8 client private key (PEM format) in a Base64 format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_key: Option<String>,
/// K8S cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_ca_cert: Option<String>,
/// K8S cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_endpoint: Option<String>,
/// K8S cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_name: Option<String>,
/// K8S cluster Bearer token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_token: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_service_account: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateNativeK8sTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateOidcApp {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// A comma separated list of allowed audiences
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the OIDC application (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// OIDC application name
pub name: String,
/// A json string defining the access permission assignment for this app
#[serde(default, skip_serializing_if = "Option::is_none")]
pub permission_assignment: Option<String>,
/// Set to true if the app is public (cannot keep secrets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public: Option<bool>,
/// A comma separated list of allowed redirect uris
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redirect_uris: Option<String>,
/// A comma separated list of allowed scopes
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scopes: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreatePkiCertIssuerOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createPingTarget is a command that creates a new target. [Deprecated: Use target-create-ping command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreatePingTarget {
/// Ping Federate administrative port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub administrative_port: Option<String>,
/// Ping Federate authorization port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization_port: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Ping Federate privileged user password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// Ping URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_url: Option<String>,
/// Ping Federate privileged user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged_user: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreatePingTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createRabbitMQTarget is a command that creates a new target. [Deprecated: Use target-create-rabbitmq command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateRabbitMqTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_user: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateRabbitMqTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateRole {
/// 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.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub analytics_access: Option<String>,
/// 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.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_access: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Allow this role to view Event Center. Currently only 'none', 'scoped' and 'all'
values are supported
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_center_access: Option<String>,
/// Allow this role to manage Event Forwarders. Currently only 'none' and 'all' values are supported.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_forwarders_access: Option<String>,
/// Allow this role to manage the following Event Forwarders.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_forwarders_name: Option<Vec<String>>,
/// 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.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_analytics_access: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Role name
pub name: String,
/// Allow this role to view Reverse RBAC. Supported values: 'scoped', 'all'.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reverse_rbac_access: Option<String>,
/// Allow this role to view SRA Clusters. Currently only 'none', 'scoped',
'all' values are supported.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sra_reports_access: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Allow this role to view Usage Report. Currently only 'none' and
'all' values are supported.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usage_reports_access: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateRoleOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createRotatedSecret is a command that creates a rotated secret [Deprecated: Use rotated-secret-create commands]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CreateRotatedSecret {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider_type: Option<String>,
/// API ID to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_id: Option<String>,
/// API key to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// ApplicationId (used in azure)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub application_id: Option<String>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or
disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Aws Region (relevant only for aws)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_region: Option<String>,
/// Secret payload to be sent with rotation request (relevant only for rotator-type=custom)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_payload: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// The email of the gcp service account to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_email: Option<String>,
/// The key id of the gcp service account to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_key_id: Option<String>,
/// Create a new access key without deleting the old key from AWS for backup (relevant only for AWS) [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation: Option<String>,
/// Host provider type [explicit/target], Default Host provider is explicit, Relevant only for Secure Remote Access of ssh cert issuer, ldap rotated secret and ldap dynamic secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_provider: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the
account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// Secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// The Hour of the rotation in UTC. Default rotation-hour is 14:00
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotator_creds_type: Option<String>,
/// Custom rotation command (relevant only for ssh target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotator_custom_cmd: Option<String>,
/// Rotator Type
pub rotator_type: String,
/// Rotate same password for each host from the Linked Target (relevant only for Linked Target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub same_password: Option<String>,
/// Allow providing external user for a domain users (relevant only for rdp)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_external_user: Option<bool>,
/// The AWS account id (relevant only for aws)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_account_id: Option<String>,
/// The AWS native cli
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_native_cli: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The db schema (relevant only for mssql or postgresql)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// Enable this flag to prevent simultaneous use of the same secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_disable_concurrent_connections: Option<bool>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Required when the Dynamic Secret is used for a domain user (relevant only for RDP Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Override the RDP Domain username (relevant only for rdp)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser viaAkeyless's Secure Remote Access (SRA) (relevant only for aws or azure)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA) (relevant only for aws or azure)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Deprecated: use RotatedPassword
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_password: Option<String>,
/// Deprecated: use RotatedUser
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_username: Option<String>,
/// The name of the storage account key to rotate [key1/key2/kerb1/kerb2] (relevat to azure-storage-account)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage_account_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// A list of linked targets to be associated, Relevant only for Secure Remote Access for ssh cert issuer, ldap rotated secret and ldap dynamic secret, To specify multiple targets use argument multiple times
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<Vec<String>>,
/// Target name
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// LDAP User Attribute, Default value "cn"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_attribute: Option<String>,
/// LDAP User Base DN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_dn: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CreateSshCertIssuer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider_type: Option<String>,
/// Users allowed to fetch the certificate, e.g root,ubuntu
pub allowed_users: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Signed certificates with extensions, e.g permit-port-forwarding=\"\"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extensions: Option<serde_json::Value>,
/// Externally provided username [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_username: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (relevant only for external-username=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Host provider type [explicit/target], Default Host provider is explicit, Relevant only for Secure Remote Access of ssh cert issuer, ldap rotated secret and ldap dynamic secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_provider: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// SSH certificate issuer name
pub name: String,
/// Signed certificates with principal, e.g example_role1,example_role2
#[serde(default, skip_serializing_if = "Option::is_none")]
pub principals: Option<String>,
/// Secure Access SSH control API endpoint. E.g. https://my.sra-server:9900
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_api: Option<String>,
/// Deprecated. use secure-access-api
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_api: Option<String>,
/// Deprecated. use secure-access-ssh
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_ssh: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable this flag to enforce connections only to the hosts listed in --secure-access-host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enforce_hosts_restriction: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_gateway: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Bastion's SSH server. E.g. my.sra-server:22
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_ssh: Option<String>,
/// SSH username to connect to target server, must be in 'Allowed Users' list
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_ssh_creds_user: Option<String>,
/// Deprecated. Use secure-access-use-internal-ssh-access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_use_internal_bastion: Option<bool>,
/// Use internal SSH Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_use_internal_ssh_access: Option<bool>,
/// A key to sign the certificate with
pub signer_key_name: String,
/// List of the tags attached to this key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tag: Option<Vec<String>>,
/// A list of linked targets to be associated, Relevant only for Secure Remote Access for ssh cert issuer, ldap rotated secret and ldap dynamic secret, To specify multiple targets use argument multiple times
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The requested Time To Live for the certificate, in seconds
pub ttl: i64,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateSshCertIssuerOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createSSHTarget is a command that creates a new target. [Deprecated: Use target-create-ssh command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateSshTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// SSH host name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// SSH port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// SSH private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
/// SSH private key password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_password: Option<String>,
/// SSH password to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_password: Option<String>,
/// SSH username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_username: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateSshTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createSalesforceTarget is a command that creates a new target. [Deprecated: Use target-create-salesforce command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateSalesforceTarget {
/// Base64 encoded PEM of the connected app private key (relevant for JWT auth only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_private_key_data: Option<String>,
/// type of the auth flow ('jwt' / 'user-password')
pub auth_flow: String,
/// Base64 encoded PEM cert to use when uploading a new key to Salesforce
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_cert_data: Option<String>,
/// name of the certificate in Salesforce tenant to use when uploading new key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_cert_name: Option<String>,
/// Client ID of the oauth2 app to use for connecting to Salesforce
pub client_id: String,
/// Client secret of the oauth2 app to use for connecting to Salesforce (required for password flow)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// The email of the user attached to the oauth2 app used for connecting to Salesforce
pub email: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// The password of the user attached to the oauth2 app used for connecting to Salesforce (required for user-password flow)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// The security token of the user attached to the oauth2 app used for connecting to Salesforce (required for user-password flow)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub security_token: Option<String>,
/// Url of the Salesforce tenant
pub tenant_url: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateSalesforceTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateSecret {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Trigger an event when a secret value changed [true/false] (Relevant only for Static Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub change_event: Option<String>,
/// For Password Management use, additional fields
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_field: Option<serde_json::Value>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Secret format [text/json/key-value] (relevant only for type 'generic')
#[serde(default, skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
/// For Password Management use, reflect the website context
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inject_url: Option<Vec<String>>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// The provided value is a multiline value (separated by '\n')
#[serde(default, skip_serializing_if = "Option::is_none")]
pub multiline_value: Option<bool>,
/// Secret name
pub name: String,
/// For Password Management use, additional fields
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the
account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_gateway: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Remote Desktop Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// Static-Secret values contains SSH Credentials, either Private Key or Password [password/private-key]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_ssh_creds: Option<String>,
/// Override the SSH username as indicated in SSH Certificate Issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_ssh_user: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The secret sub type [generic/password]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// For Password Management use
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
/// The secret value (relevant only for type 'generic')
pub value: String,
}
/// createTokenizer is a command that creates a tokenizer item
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateTokenizer {
/// Alphabet to use in regexp vaultless tokenization
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alphabet: Option<String>,
/// The Decoding output template to use in regexp vaultless tokenization
#[serde(default, skip_serializing_if = "Option::is_none")]
pub decoding_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// The Encoding output template to use in regexp vaultless tokenization
#[serde(default, skip_serializing_if = "Option::is_none")]
pub encoding_template: Option<String>,
/// AES key name to use in vaultless tokenization
#[serde(default, skip_serializing_if = "Option::is_none")]
pub encryption_key_name: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// Tokenizer name
pub name: String,
/// Pattern to use in regexp vaultless tokenization
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pattern: Option<String>,
/// List of the tags attached to this key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tag: Option<Vec<String>>,
/// Which template type this tokenizer is used for [SSN,CreditCard,USPhoneNumber,Email,Regexp]
pub template_type: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Tokenizer type
pub tokenizer_type: String,
/// The tweak type to use in vaultless tokenization [Supplied, Generated, Internal, Masking]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tweak_type: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateTokenizerOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateUserEvent {
/// List of the required capabilities options: [read, update, delete,sra_transparently_connect].
Relevant only for request-access event types
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<Vec<String>>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_source: Option<String>,
pub event_type: String,
/// EventItemName Event item name
pub item_name: String,
/// EventItemType Event item type
pub item_type: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// For how long to grant the requested access, in minutes
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request_access_ttl: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateUserEventOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub response: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createWebTarget is a command that creates a new target. [Deprecated: Use target-create-web command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateWebTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateWebTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createWindowsTarget is a command that creates a new windows target. [Deprecated: Use target-create-windows command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateWindowsTarget {
/// SSL CA certificate in base64 encoding generated from a trusted Certificate Authority (CA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate: Option<String>,
/// Type of connection to Windows Server [credentials/parent-target]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// User domain name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain: Option<String>,
/// Server hostname
pub hostname: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Name of the parent target, relevant only when connection-type is parent-target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_target_name: Option<String>,
/// Privileged user password
pub password: String,
/// Server WinRM port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Enable/Disable TLS for WinRM over HTTPS [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_tls: Option<String>,
/// Privileged username
pub username: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateWindowsTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// createZeroSSLTarget is a command that creates a new target. [Deprecated: Use target-create-zerossl command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateZeroSslTarget {
/// API Key of the ZeroSSLTarget account
pub api_key: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// ImapFQDN of the IMAP service, FQDN or IPv4 address. Must be FQDN if the IMAP is using TLS
pub imap_fqdn: String,
/// ImapPassword to access the IMAP service
pub imap_password: String,
/// ImapPort of the IMAP service
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_port: Option<String>,
/// ImapValidationEmail to use when asking ZeroSSL to send a validation email, if empty will user imap-username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_target_email: Option<String>,
/// ImapUsername to access the IMAP service
pub imap_username: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CreateZeroSslTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// deactivateAcmeAccount is a command that Deactivates \ Deletes an acme external account
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeactivateAcmeAccount {
/// The acme account id to deactivate
pub acme_account_id: String,
/// The name of the PKI certificate issuer
pub cert_issuer_name: String,
/// Delete the account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_account: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// decrypt is a command that decrypts ciphertext into plaintext by using an AES
key.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Decrypt {
/// Ciphertext to be decrypted in base64 encoded format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ciphertext: Option<String>,
/// The display id of the key to use in the decryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// The encryption context. If this was specified in the encrypt command, it
must be specified here or the decryption operation will fail
#[serde(default, skip_serializing_if = "Option::is_none")]
pub encryption_context: Option<serde_json::Value>,
/// The item id of the key to use in the decryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the key to use in the decryption process
pub key_name: String,
/// If specified, the output will be formatted accordingly. options: [base64]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// key version (relevant only for classic key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DecryptBatchOutput {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DecryptFile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cyphertext_header: Option<String>,
/// The display id of the key to use in the decryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// Path to the file to be decrypted. If not provided, the content will be
taken from stdin
pub r#in: String,
/// The item id of the key to use in the decryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the key to use in the decryption process
pub key_name: String,
/// Path to the output file. If not provided, the output will be sent to
stdout
#[serde(default, skip_serializing_if = "Option::is_none")]
pub out: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// key version (relevant only for classic key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DecryptFileOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub plain_text: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DecryptGpg {
/// Ciphertext to be decrypted
pub ciphertext: String,
/// The display id of the key to use in the decryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// Select default assumed format for the ciphertext. Currently supported options: [base64,raw]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub input_format: Option<String>,
/// The item id of the key to use in the decryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the key to use in the decryption process
pub key_name: String,
/// If specified, the output will be formatted accordingly. options: [base64]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Passphrase that was used to generate the key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub passphrase: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DecryptGpgOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DecryptOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DecryptPkcs1 {
/// Ciphertext to be decrypted in base64 encoded format
pub ciphertext: String,
/// The display id of the key to use in the decryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// The item id of the key to use in the decryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the key to use in the decryption process
pub key_name: String,
/// If specified, the output will be formatted accordingly. options: [base64]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// key version (relevant only for classic key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DecryptPkcs1Output {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub plaintext: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DecryptWithClassicKey {
/// Ciphertext to be decrypted in base64 encoded format
pub ciphertext: String,
/// The name of the key to use in the encryption process
pub display_id: String,
/// Retrieve the Secret value without checking the Gateway's cache [true/false]. This flag is only relevant when using the RestAPI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ignore_cache: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// classic key version
pub version: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DecryptWithClassicKeyOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// deleteAuthMethod is a command that deletes the auth method. [Deprecated: Use auth-method-delete command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteAuthMethod {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Auth Method name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteAuthMethodOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// deleteAuthMethods is a command that deletes multiple auth methods from a
given path.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteAuthMethods {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Path to delete the auth methods from
pub path: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteAuthMethodsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// deleteEventForwarder is a command that creates a new event forwarder [Deprecated - please use event-forwarder-delete command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteEventForwarder {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// EventForwarder name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteEventForwarderOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// deleteGatewayAllowedAccessId is a command that deletes access-id
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteGatewayAllowedAccessId {
/// The access id to be stripped of access to gateway
pub access_id: String,
/// The name of the updated cluster, e.g. acc-abcd12345678/p-123456789012/defaultCluster
pub cluster_name: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteGatewayAllowedAccessIdOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteGroup {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Group name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteGwCluster {
/// Gateway Cluster, e.g. acc-abcd12345678/p-123456789012/defaultCluster
pub cluster_name: String,
/// Enforce deletion
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_deletion: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteGwClusterOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteItem {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// When delete-in-days=-1, must be set
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_immediately: Option<bool>,
/// The number of days to wait before deleting the item (relevant for keys
only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_in_days: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Item name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The specific version you want to delete - 0=last version, -1=entire item
with all versions (default)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteItems {
/// A list of items to delete, To specify multiple items use argument multiple times
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Path to delete the items from
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteItemsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted_items: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub failed_deleted_items: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteRole {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Role name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// deleteRoleAssociation is a command that deletes an association between role
and auth method.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteRoleAssociation {
/// The association id to be deleted
pub assoc_id: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteRoleAssociationOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteRoleOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteRoleRule {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The path the rule refers to
pub path: String,
/// The role name to be updated
pub role_name: String,
/// item-rule, role-rule, auth-method-rule, search-rule, reports-rule, gw-reports-rule or sra-reports-rule
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rule_type: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteRoleRuleOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteRoles {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Path to delete the auth methods from
pub path: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteRolesOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// deleteTarget is a command that deletes a target. [Deprecated: Use target-delete command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteTarget {
/// Enforce deletion
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_deletion: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Target name
pub name: String,
/// Target version
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_version: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// deleteTargetAssociation is a command that deletes an association between target
and item.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteTargetAssociation {
/// The association id to be deleted
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assoc_id: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Item name
pub name: String,
/// The target to associate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteTargetAssociationOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteTargetOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteTargets {
/// Enforce deletion
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_deletion: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Path to delete the targets from
pub path: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeleteTargetsOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DescribeAssoc {
/// The association id
pub assoc_id: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DescribeItem {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Indicate if the item should return with ztb cluster details (url, etc)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bastion_details: Option<bool>,
/// The certificate will be displayed in DER format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub der_certificate_format: Option<bool>,
/// The display id of the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// Indicate if the item should return with clusters details (url, etc)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gateway_details: Option<bool>,
/// Include all item custom fields details
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields_details: Option<bool>,
/// Item id of the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Item name
pub name: String,
/// Include all associated services details
#[serde(default, skip_serializing_if = "Option::is_none")]
pub services_details: Option<bool>,
/// Include all item versions in reply
#[serde(default, skip_serializing_if = "Option::is_none")]
pub show_versions: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// describePermissions is a command that shows which permissions your have to a
particular path.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DescribePermissions {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Path to an object
pub path: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Type of object (item, am, role, target)
pub r#type: String,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// describe-sub-claims Get the sub-claims associated with the provided token or authentication profile
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DescribeSubClaims {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DescribeSubClaimsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims: Option<serde_json::Value>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// detokenize is a command that decrypts text with a tokenizer
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Detokenize {
/// Data to be decrypted
pub ciphertext: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The name of the tokenizer to use in the decryption process
pub tokenizer_name: String,
/// Base64 encoded tweak for vaultless encryption
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tweak: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DetokenizeBatchOutput {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DetokenizeOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// dynamicSecretCreateArtifactory is a command that creates artifactory dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateArtifactory {
/// Artifactory Admin Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_admin_name: Option<String>,
/// Artifactory Admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_admin_pwd: Option<String>,
/// Token Audience
pub artifactory_token_audience: String,
/// Token Scope
pub artifactory_token_scope: String,
/// Base URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub base_url: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateAws is a command that creates aws dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateAws {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_mode: Option<String>,
/// Admin credentials rotation interval (days)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_rotation_interval_days: Option<i64>,
/// Access Key ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_access_key_id: Option<String>,
/// Secret Access Key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_access_secret_key: Option<String>,
/// The AWS External ID associated with the AWS role (relevant only for assume_role mode)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_external_id: Option<String>,
/// AWS Role ARNs to be used in the Assume Role operation (relevant only for assume_role mode)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_role_arns: Option<String>,
/// AWS User console access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_console_access: Option<bool>,
/// AWS User groups
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_groups: Option<String>,
/// AWS User policies
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_policies: Option<String>,
/// Enable AWS User programmatic access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_programmatic_access: Option<bool>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Automatic admin credentials rotation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_admin_rotation: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// The AWS account id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_account_id: Option<String>,
/// The AWS native cli
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_native_cli: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// String of Key value session tags comma separated, relevant only for Assumed Role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub session_tags: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// String of transitive tag keys space separated, relevant only for Assumed Role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub transitive_tag_keys: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateAzure is a command that creates azure dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateAzure {
/// Azure App Object Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_obj_id: Option<String>,
/// Azure AD administrative unit (relevant only when azure-user-portal-access=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_administrative_unit: Option<String>,
/// Azure Client ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_id: Option<String>,
/// Azure Client Secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_secret: Option<String>,
/// Azure Tenant ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_tenant_id: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// FixedUserClaimKeyname
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Fixed user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_only: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic secret encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User Group Object Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_obj_id: Option<String>,
/// Azure User portal access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_portal_access: Option<bool>,
/// User Principal Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_principal_name: Option<String>,
/// Azure User programmatic access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_programmatic_access: Option<bool>,
/// User Role Template Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_role_template_id: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateCassandra is a command that creates a Cassandra dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateCassandra {
/// Cassandra creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_creation_statements: Option<String>,
/// Cassandra hosts IP or addresses, comma separated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_hosts: Option<String>,
/// Cassandra superuser password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_password: Option<String>,
/// Cassandra port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_port: Option<String>,
/// Cassandra superuser username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_username: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL CA certificate in base64 encoding generated from a trusted Certificate Authority (CA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateChef is a command that creates chef dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateChef {
/// Organizations
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_orgs: Option<String>,
/// Server key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_key: Option<String>,
/// Server URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_url: Option<String>,
/// Server username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_username: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Skip SSL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub skip_ssl: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateCustom {
/// Define rotation interval in days
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_rotation_interval_days: Option<i64>,
/// URL of an endpoint that implements /sync/create method, for example
https://webhook.example.com/sync/create
pub create_sync_url: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Should admin credentials be rotated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_admin_rotation: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Secret payload to be sent with each create/revoke webhook request
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// URL of an endpoint that implements /sync/revoke method, for example
https://webhook.example.com/sync/revoke
pub revoke_sync_url: String,
/// URL of an endpoint that implements /sync/rotate method, for example
https://webhook.example.com/sync/rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_sync_url: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Maximum allowed time in seconds for the webhook to return the results
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout_sec: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateDockerhub is a command that creates a DOCKERHUB dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateDockerhub {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// DockerhubPassword is either the user's password access token to manage the repository
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_password: Option<String>,
/// Access token scopes list (comma-separated) to give the dynamic secret
valid options are in "repo:admin", "repo:write", "repo:read", "repo:public_read"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_token_scopes: Option<String>,
/// DockerhubUsername is the name of the user in dockerhub
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_username: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateEks is a command that creates eks dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateEks {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Access Key ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_access_key_id: Option<String>,
/// IAM assume role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_assume_role: Option<String>,
/// EKS cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_ca_cert: Option<String>,
/// EKS cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_endpoint: Option<String>,
/// EKS cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_name: Option<String>,
/// Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_region: Option<String>,
/// Secret Access Key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_secret_access_key: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable Port forwarding while using CLI access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_port_forwading: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The K8s cluster endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_cluster_endpoint: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateGcp is a command that creates a GCP dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateGcp {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_type: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (Relevant only when --access-type=external)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_cred_type: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// Service account key algorithm, e.g. KEY_ALG_RSA_1024 (Relevant only when --access-type=sa and --gcp-cred-type=key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key_algo: Option<String>,
/// GCP Project ID override for dynamic secret operations
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_project_id: Option<String>,
/// The email of the fixed service account to generate keys or tokens for (Relevant only when --access-type=sa and --service-account-type=fixed)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_sa_email: Option<String>,
/// Access token scopes list, e.g. scope1,scope2 (Relevant only when --access-type=sa; required when --gcp-cred-type=token)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_token_scopes: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Role binding definitions in JSON format (Relevant only when --access-type=sa and --service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_binding: Option<String>,
/// Comma-separated list of GCP roles to assign to the user (Relevant only when --access-type=external)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_names: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// The type of the GCP service account. Options [fixed, dynamic] (Relevant only when --access-type=sa)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_account_type: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateGithub is a command that creates github dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateGithub {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Github app id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_id: Option<i64>,
/// App private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_private_key: Option<String>,
/// Base URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_base_url: Option<String>,
/// GitHub application installation id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_id: Option<i64>,
/// Optional, mutually exclusive with installation id, GitHub organization name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_organization: Option<String>,
/// Optional, mutually exclusive with installation id, GitHub repository '<owner>/<repo-name>'
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_repository: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Optional - installation token's allowed permissions
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_permissions: Option<Vec<String>>,
/// Optional - installation token's allowed repositories
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_repositories: Option<Vec<String>>,
/// Token TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_ttl: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// dynamicSecretCreateGitlab is a command that creates gitlab dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateGitlab {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Gitlab access token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_access_token: Option<String>,
/// Gitlab access token type [project,group]
pub gitlab_access_type: String,
/// Gitlab tls certificate (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_certificate: Option<String>,
/// Gitlab role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_role: Option<String>,
/// Comma-separated list of access token scopes to grant
pub gitlab_token_scopes: String,
/// Gitlab base url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_url: Option<String>,
/// Gitlab group name, required for access-type=group
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_name: Option<String>,
/// Gitlab project name, required for access-type=project
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_organization: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Access Token TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// dynamicSecretCreateGke is a command that creates gke dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateGke {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// GKE Service Account key file path
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_account_key: Option<String>,
/// GKE cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_cert: Option<String>,
/// GKE cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_endpoint: Option<String>,
/// GKE cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_name: Option<String>,
/// GKE service account email
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_service_account_email: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable Port forwarding while using CLI access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_port_forwading: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The K8s cluster endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_cluster_endpoint: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateGoogleWorkspace is a command that creates Google Workspace dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateGoogleWorkspace {
pub access_mode: String,
/// Admin user email
pub admin_email: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// A group email, relevant only for group access-mode
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_role: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Name of the admin role to assign to the user, relevant only for role access-mode
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_scope: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Name of existing target to use in dynamic secret creation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateHanaDb is a command that creates hanadb dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateHanaDb {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// HanaDb Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hana_dbname: Option<String>,
/// HanaDb Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_create_statements: Option<String>,
/// HanaDb Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_host: Option<String>,
/// HanaDb Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_password: Option<String>,
/// HanaDb Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_port: Option<String>,
/// HanaDb Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_revocation_statements: Option<String>,
/// HanaDb Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_username: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateK8s is a command that creates k8s dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateK8s {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Comma-separated list of allowed K8S namespaces for the generated ServiceAccount (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_allowed_namespaces: Option<String>,
/// K8S cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_ca_cert: Option<String>,
/// K8S cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_endpoint: Option<String>,
/// K8S cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_name: Option<String>,
/// K8S cluster Bearer token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_token: Option<String>,
/// K8S Namespace where the ServiceAccount exists.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_namespace: Option<String>,
/// The pre-existing Role or ClusterRole name to bind the generated ServiceAccount to (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_predefined_role_name: Option<String>,
/// Specifies the type of the pre-existing K8S role [Role, ClusterRole] (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_predefined_role_type: Option<String>,
/// Content of the yaml in a Base64 format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_rolebinding_yaml_data: Option<String>,
/// Path to yaml file that contains definitions of K8S role and role binding (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_rolebinding_yaml_def: Option<String>,
/// K8S ServiceAccount to extract token from.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_service_account: Option<String>,
/// K8S ServiceAccount type [fixed, dynamic].
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_service_account_type: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable Port forwarding while using CLI access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_port_forwading: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The K8s cluster endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_cluster_endpoint: Option<String>,
/// The K8s dashboard url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_dashboard_url: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_service_account: Option<bool>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateLdap is a command that creates ldap dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DynamicSecretCreateLdap {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider_type: Option<String>,
/// Bind DN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn: Option<String>,
/// Bind DN Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn_password: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Externally provided username [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_username: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (relevant only for external-username=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Group DN which the temporary user should be added
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_dn: Option<String>,
/// Host provider type [explicit/target], Default Host provider is explicit, Relevant only for Secure Remote Access of ssh cert issuer, ldap rotated secret and ldap dynamic secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_provider: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// CA Certificate File Content
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_ca_cert: Option<String>,
/// LDAP Server URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url: Option<String>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// RD Gateway server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rd_gateway_server: Option<String>,
/// Required when the Dynamic Secret is used for a domain user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// A list of linked targets to be associated, Relevant only for Secure Remote Access for ssh cert issuer, ldap rotated secret and ldap dynamic secret, To specify multiple targets use argument multiple times
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Token expiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_expiration: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User Attribute
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_attribute: Option<String>,
/// User DN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_dn: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateMongoDb is a command that creates either mongodb dynamic secret or mongodb atlas dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateMongoDb {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// MongoDB Atlas private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_private_key: Option<String>,
/// MongoDB Atlas public key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_public_key: Option<String>,
/// MongoDB Atlas project ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_project_id: Option<String>,
/// MongoDB custom data
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_custom_data: Option<String>,
/// MongoDB server default authentication database
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_default_auth_db: Option<String>,
/// MongoDB server host and port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_host_port: Option<String>,
/// MongoDB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_name: Option<String>,
/// MongoDB server password. You will prompted to provide a password if it will not appear in CLI parameters
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_password: Option<String>,
/// MongoDB Roles
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_roles: Option<String>,
/// MongoDB Scopes (Atlas only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_scopes: Option<String>,
/// MongoDB server URI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_server_uri: Option<String>,
/// MongoDB server URI options
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_uri_options: Option<String>,
/// MongoDB server username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_username: Option<String>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Encrypt producer with following key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateMsSql is a command that creates mssql dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateMsSql {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// CSV of allowed DB names for runtime selection when getting the secret value.
Empty => use target DB only; "*" => any DB allowed; One or more names => user must choose from this list
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_allowed_db_names: Option<String>,
/// MSSQL Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_create_statements: Option<String>,
/// MSSQL Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_dbname: Option<String>,
/// MSSQL Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_host: Option<String>,
/// MSSQL Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_password: Option<String>,
/// MSSQL Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_port: Option<String>,
/// MSSQL Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_revocation_statements: Option<String>,
/// MSSQL Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_username: Option<String>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateMySql is a command that creates mysql dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateMySql {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// (Optional) DB server certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) Server name for certificate verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// MySQL DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_dbname: Option<String>,
/// MySQL Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_host: Option<String>,
/// MySQL Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_password: Option<String>,
/// MySQL Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_port: Option<String>,
/// MySQL Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_revocation_statements: Option<String>,
/// MySQL Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_screation_statements: Option<String>,
/// MySQL Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_username: Option<String>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL connection certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateOpenAI is a command that creates OpenAI dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateOpenAi {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Project ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub project_id: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Name of existing target to use in producer creation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateOracleDb is a command that creates oracle db dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateOracleDb {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// (Optional) DB server certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) Server name for certificate verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Oracle Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_host: Option<String>,
/// Oracle Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_password: Option<String>,
/// Oracle Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_port: Option<String>,
/// Oracle Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_revocation_statements: Option<String>,
/// Oracle Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_screation_statements: Option<String>,
/// Oracle DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_service_name: Option<String>,
/// Oracle Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_username: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dynamic_secret_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// dynamicSecretCreatePing is a command that creates ping dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreatePing {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Ping Federate administrative port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_administrative_port: Option<String>,
/// Set a specific Access Token Management (ATM) instance for the created OAuth Client by providing the ATM Id. If no explicit value is given, the default pingfederate server ATM will be set.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_atm_id: Option<String>,
/// Ping Federate authorization port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_authorization_port: Option<String>,
/// The subject DN of the client certificate. If no explicit value is given, the producer will create CA certificate and matched client certificate and return it as value. Used in conjunction with ping-issuer-dn (relevant for CLIENT_TLS_CERTIFICATE authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_cert_subject_dn: Option<String>,
/// OAuth Client Authentication Type [CLIENT_SECRET, PRIVATE_KEY_JWT, CLIENT_TLS_CERTIFICATE]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_client_authentication_type: Option<String>,
/// Determines whether PingFederate requires a unique signed JWT from the client for each action (relevant for PRIVATE_KEY_JWT authentication method) [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_enforce_replay_prevention: Option<String>,
/// List of OAuth client grant types [IMPLICIT, AUTHORIZATION_CODE, CLIENT_CREDENTIALS, TOKEN_EXCHANGE, REFRESH_TOKEN, ASSERTION_GRANTS, PASSWORD, RESOURCE_OWNER_CREDENTIALS]. If no explicit value is given, AUTHORIZATION_CODE will be selected as default.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_grant_types: Option<Vec<String>>,
/// Issuer DN of trusted CA certificate that imported into Ping Federate server. You may select \"Trust Any\" to trust all the existing issuers in Ping Federate server. Used in conjunction with ping-cert-subject-dn (relevant for CLIENT_TLS_CERTIFICATE authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_issuer_dn: Option<String>,
/// Base64-encoded JSON Web Key Set (JWKS). If no explicit value is given, the producer will create JWKs and matched signed JWT (Sign Algo: RS256) and return it as value (relevant for PRIVATE_KEY_JWT authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_jwks: Option<String>,
/// The URL of the JSON Web Key Set (JWKS). If no explicit value is given, the producer will create JWKs and matched signed JWT and return it as value (relevant for PRIVATE_KEY_JWT authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_jwks_url: Option<String>,
/// Ping Federate privileged user password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_password: Option<String>,
/// Ping Federate privileged user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_privileged_user: Option<String>,
/// List of URIs to which the OAuth authorization server may redirect the resource owner's user agent after authorization is obtained. At least one redirection URI is required for the AUTHORIZATION_CODE and IMPLICIT grant types.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_redirect_uris: Option<Vec<String>>,
/// Limit the OAuth client to specific scopes list
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_restricted_scopes: Option<Vec<String>>,
/// The signing algorithm that the client must use to sign its request objects [RS256,RS384,RS512,ES256,ES384,ES512,PS256,PS384,PS512] If no explicit value is given, the client can use any of the supported signing algorithms (relevant for PRIVATE_KEY_JWT authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_signing_algo: Option<String>,
/// Ping URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_url: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The time from dynamic secret creation to expiration.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreatePostgreSql is a command that creates postgresql dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreatePostgreSql {
/// PostgreSQL Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_statements: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// PostgreSQL DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_db_name: Option<String>,
/// PostgreSQL Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_host: Option<String>,
/// PostgreSQL Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_password: Option<String>,
/// PostgreSQL Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_port: Option<String>,
/// PostgreSQL Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_username: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key: Option<String>,
/// PostgreSQL Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revocation_statement: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateRabbitMq is a command that creates rabbitmq dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateRabbitMq {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// RabbitMQ Admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_admin_pwd: Option<String>,
/// RabbitMQ Admin User
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_admin_user: Option<String>,
/// Server URI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_uri: Option<String>,
/// User configuration permission
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_conf_permission: Option<String>,
/// User read permission
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_read_permission: Option<String>,
/// User Tags
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_tags: Option<String>,
/// User Virtual Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_vhost: Option<String>,
/// User write permission
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_write_permission: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretCreateRdp is a command that creates rdp dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateRdp {
/// AllowUserExtendSession
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_user_extend_session: Option<i64>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (relevant only for fixed-user-only=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Allow access using externally (IdP) provided username [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_only: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// RDP Admin Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_admin_name: Option<String>,
/// RDP Admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_admin_pwd: Option<String>,
/// Hostname
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_host_name: Option<String>,
/// Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_host_port: Option<String>,
/// Groups
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_user_groups: Option<String>,
/// Allow providing external user for a domain users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_external_user: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// RD Gateway server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rd_gateway_server: Option<String>,
/// Required when the Dynamic Secret is used for a domain user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Override the RDP Domain username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// WarnBeforeUserExpiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub warn_user_before_expiration: Option<i64>,
}
/// dynamicSecretCreateRedis is a command that creates Redis dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateRedis {
/// A JSON array list of redis ACL rules to attach to the created user. For available rules see the ACL CAT command https://redis.io/commands/acl-cat
By default the user will have permissions to read all keys '["~*", "+@read"]'
#[serde(default, skip_serializing_if = "Option::is_none")]
pub acl_rules: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Redis Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Redis Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Redis Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL CA certificate in base64 encoding generated from a trusted Certificate Authority (CA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// Redis Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
/// dynamicSecretCreateRedshift is a command that creates redshift dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateRedshift {
/// Redshift Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_statements: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key: Option<String>,
/// Redshift DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_db_name: Option<String>,
/// Redshift Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_host: Option<String>,
/// Redshift Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_password: Option<String>,
/// Redshift Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_port: Option<String>,
/// Redshift Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_username: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// GatewayCreateProducerSnowflakeCmd is a command that creates a Snowflake dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateSnowflake {
/// Account name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account: Option<String>,
/// Database Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_password: Option<String>,
/// Database Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_username: Option<String>,
/// The authentication mode for the temporary user [password/key]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_mode: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Database name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_algo: Option<String>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// RSA Private key (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
/// The Private key passphrase
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_passphrase: Option<String>,
/// User role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// Warehouse name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub warehouse: Option<String>,
}
/// dynamicSecretCreateVenafi is a command that creates a Venafi dynamic secret
to dynamically create certificates generated by Venafi or have
Akeyless generated certificates using PKI be monitored by Venafi
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretCreateVenafi {
/// Admin credentials rotation interval (days)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_rotation_interval_days: Option<i64>,
/// Allow subdomains
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_subdomains: Option<bool>,
/// Allowed domains
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_domains: Option<Vec<String>>,
/// Auto generated folder
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_generated_folder: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Automatic admin credentials rotation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_admin_rotation: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Root first in chain
#[serde(default, skip_serializing_if = "Option::is_none")]
pub root_first_in_chain: Option<bool>,
/// Use Akeyless PKI issuer or Venafi issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sign_using_akeyless_pki: Option<bool>,
/// Signer key name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signer_key_name: Option<String>,
/// Store private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub store_private_key: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL in time.Duration format (2160h / 129600m / etc...). When using sign-using-akeyless-pki certificates created will have this validity period, otherwise the user-ttl is taken from the Validity Period field of the Zone's' Issuing Template. When using cert-manager it is advised to have a TTL of above 60 days (1440h). For more information - https://cert-manager.io/docs/usage/certificate/
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// Venafi Access Token to use to access the TPP environment (Relevant when using TPP)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_access_token: Option<String>,
/// Venafi API key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_api_key: Option<String>,
/// Venafi Baseurl
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_baseurl: Option<String>,
/// Venafi Client ID that was used when the access token was generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_client_id: Option<String>,
/// Venafi Refresh Token to use when the Access Token is expired (Relevant when using TPP)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_refresh_token: Option<String>,
/// Venafi using TPP
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_use_tpp: Option<bool>,
/// Venafi Zone
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_zone: Option<String>,
}
/// dynamicSecretDelete is a command that deletes dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretDelete {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretDeleteOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dynamic_secret_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// dynamicSecretGet is a command that returns dynamic secret details
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretGet {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretGetValue {
/// Optional arguments as key=value pairs or JSON strings, e.g -
\"--args=csr=base64_encoded_csr --args=common_name=bar\" or
args='{\"csr\":\"base64_encoded_csr\"}. It is possible to combine both
formats.'
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
/// DBName: Optional override DB name (works only if DS allows it. only relevant for MSSQL)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dbname: Option<String>,
/// Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Target Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<String>,
/// Timeout in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// dynamicSecretList is a command that returns a list of dynamic secrets
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretList {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// dynamicSecretTmpCredsDelete is a command that deletes dynamic secret temp creds
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretTmpCredsDelete {
/// Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Revoke All Temp Creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revoke_all: Option<bool>,
/// Soft Delete
#[serde(default, skip_serializing_if = "Option::is_none")]
pub soft_delete: Option<bool>,
/// Tmp Creds ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tmp_creds_id: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// dynamicSecretTmpCredsGet is a command that returns dynamic secret temp creds
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretTmpCredsGet {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// dynamicSecretTmpCredsUpdate is a command that updates dynamic secret temp creds
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretTmpCredsUpdate {
/// Host
pub host: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// New TTL in Minutes
pub new_ttl_min: i64,
/// Tmp Creds ID
pub tmp_creds_id: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// dynamicSecretUpdateArtifactory is a command that updates artifactory dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateArtifactory {
/// Artifactory Admin Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_admin_name: Option<String>,
/// Artifactory Admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_admin_pwd: Option<String>,
/// Token Audience
pub artifactory_token_audience: String,
/// Token Scope
pub artifactory_token_scope: String,
/// Base URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub base_url: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateAws is a command that Updates aws dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateAws {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_mode: Option<String>,
/// Admin credentials rotation interval (days)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_rotation_interval_days: Option<i64>,
/// Access Key ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_access_key_id: Option<String>,
/// Secret Access Key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_access_secret_key: Option<String>,
/// The AWS External ID associated with the AWS role (relevant only for assume_role mode)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_external_id: Option<String>,
/// AWS Role ARNs to be used in the Assume Role operation (relevant only for assume_role mode)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_role_arns: Option<String>,
/// AWS User console access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_console_access: Option<bool>,
/// AWS User groups
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_groups: Option<String>,
/// AWS User policies
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_policies: Option<String>,
/// Enable AWS User programmatic access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_programmatic_access: Option<bool>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Automatic admin credentials rotation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_admin_rotation: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// The AWS account id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_account_id: Option<String>,
/// The AWS native cli
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_native_cli: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// String of Key value session tags comma separated, relevant only for Assumed Role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub session_tags: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// String of transitive tag keys space separated, relevant only for Assumed Role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub transitive_tag_keys: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateAzure is a command that updates azure dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateAzure {
/// Azure App Object Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_obj_id: Option<String>,
/// Azure AD administrative unit (relevant only when azure-user-portal-access=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_administrative_unit: Option<String>,
/// Azure Client ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_id: Option<String>,
/// Azure Client Secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_secret: Option<String>,
/// Azure Tenant ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_tenant_id: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// FixedUserClaimKeyname
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Fixed user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_only: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic secret encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User Group Object Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_obj_id: Option<String>,
/// Azure User portal access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_portal_access: Option<bool>,
/// User Principal Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_principal_name: Option<String>,
/// Azure User programmatic access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_programmatic_access: Option<bool>,
/// User Role Template Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_role_template_id: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateCassandra is a command that updates a Cassandra dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateCassandra {
/// Cassandra creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_creation_statements: Option<String>,
/// Cassandra hosts IP or addresses, comma separated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_hosts: Option<String>,
/// Cassandra superuser password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_password: Option<String>,
/// Cassandra port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_port: Option<String>,
/// Cassandra superuser username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_username: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL CA certificate in base64 encoding generated from a trusted Certificate Authority (CA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateChef is a command that updates chef dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateChef {
/// Organizations
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_orgs: Option<String>,
/// Server key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_key: Option<String>,
/// Server URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_url: Option<String>,
/// Server username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_username: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Skip SSL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub skip_ssl: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateCustom {
/// Define rotation interval in days
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_rotation_interval_days: Option<i64>,
/// URL of an endpoint that implements /sync/create method, for example
https://webhook.example.com/sync/create
pub create_sync_url: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Should admin credentials be rotated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_admin_rotation: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Secret payload to be sent with each create/revoke webhook request
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// URL of an endpoint that implements /sync/revoke method, for example
https://webhook.example.com/sync/revoke
pub revoke_sync_url: String,
/// URL of an endpoint that implements /sync/rotate method, for example
https://webhook.example.com/sync/rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_sync_url: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Maximum allowed time in seconds for the webhook to return the results
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout_sec: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateDockerhub is a command that updates a DOCKERHUB dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateDockerhub {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// DockerhubPassword is either the user's password access token to manage the repository
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_password: Option<String>,
/// Access token scopes list (comma-separated) to give the dynamic secret
valid options are in "repo:admin", "repo:write", "repo:read", "repo:public_read"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_token_scopes: Option<String>,
/// DockerhubUsername is the name of the user in dockerhub
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_username: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateEks is a command that updates eks dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateEks {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Access Key ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_access_key_id: Option<String>,
/// IAM assume role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_assume_role: Option<String>,
/// EKS cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_ca_cert: Option<String>,
/// EKS cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_endpoint: Option<String>,
/// EKS cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_name: Option<String>,
/// Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_region: Option<String>,
/// Secret Access Key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_secret_access_key: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable Port forwarding while using CLI access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_port_forwading: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The K8s cluster endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_cluster_endpoint: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateGcp is a command that updates a GCP dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateGcp {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_type: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (Relevant only when --access-type=external)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_cred_type: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// Service account key algorithm, e.g. KEY_ALG_RSA_1024 (Relevant only when --access-type=sa and --gcp-cred-type=key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key_algo: Option<String>,
/// GCP Project ID override for dynamic secret operations
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_project_id: Option<String>,
/// The email of the fixed service account to generate keys or tokens for (Relevant only when --access-type=sa and --service-account-type=fixed)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_sa_email: Option<String>,
/// Access token scopes list, e.g. scope1,scope2 (Relevant only when --access-type=sa; required when --gcp-cred-type=token)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_token_scopes: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Role binding definitions in JSON format (Relevant only when --access-type=sa and --service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_binding: Option<String>,
/// Comma-separated list of GCP roles to assign to the user (Relevant only when --access-type=external)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_names: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// The type of the GCP service account. Options [fixed, dynamic] (Relevant only when --access-type=sa)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_account_type: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateGithub is a command that updates github dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateGithub {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Github app id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_id: Option<i64>,
/// App private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_private_key: Option<String>,
/// Base URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_base_url: Option<String>,
/// GitHub application installation id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_id: Option<i64>,
/// Optional, mutually exclusive with installation id, GitHub organization name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_organization: Option<String>,
/// Optional, mutually exclusive with installation id, GitHub repository '<owner>/<repo-name>'
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_repository: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Optional - installation token's allowed permissions
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_permissions: Option<Vec<String>>,
/// Optional - installation token's allowed repositories
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_repositories: Option<Vec<String>>,
/// Token TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_ttl: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// dynamicSecretUpdateGitlab is a command that updates gitlab dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateGitlab {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Gitlab access token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_access_token: Option<String>,
/// Gitlab access token type [project,group]
pub gitlab_access_type: String,
/// Gitlab tls certificate (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_certificate: Option<String>,
/// Gitlab role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_role: Option<String>,
/// Comma-separated list of access token scopes to grant
pub gitlab_token_scopes: String,
/// Gitlab base url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_url: Option<String>,
/// Gitlab group name, required for access-type=group
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_name: Option<String>,
/// Gitlab project name, required for access-type=project
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_organization: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Access Token TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// dynamicSecretUpdateGke is a command that updates gke dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateGke {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// GKE Service Account key file path
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_account_key: Option<String>,
/// GKE cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_cert: Option<String>,
/// GKE cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_endpoint: Option<String>,
/// GKE cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_name: Option<String>,
/// GKE service account email
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_service_account_email: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable Port forwarding while using CLI access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_port_forwading: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The K8s cluster endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_cluster_endpoint: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateGoogleWorkspace is a command that updates a Google Workspace dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateGoogleWorkspace {
pub access_mode: String,
/// Admin user email
pub admin_email: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// A group email, relevant only for group access-mode
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_role: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Name of the admin role to assign to the user, relevant only for role access-mode
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_scope: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Name of existing target to use in dynamic secret creation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateHanaDb is a command that updates hanadb dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateHanaDb {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// HanaDb Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hana_dbname: Option<String>,
/// HanaDb Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_create_statements: Option<String>,
/// HanaDb Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_host: Option<String>,
/// HanaDb Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_password: Option<String>,
/// HanaDb Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_port: Option<String>,
/// HanaDb Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_revocation_statements: Option<String>,
/// HanaDb Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_username: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateK8s is a command that updates k8s dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateK8s {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Comma-separated list of allowed K8S namespaces for the generated ServiceAccount (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_allowed_namespaces: Option<String>,
/// K8S cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_ca_cert: Option<String>,
/// K8S cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_endpoint: Option<String>,
/// K8S cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_name: Option<String>,
/// K8S cluster Bearer token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_token: Option<String>,
/// K8S Namespace where the ServiceAccount exists.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_namespace: Option<String>,
/// The pre-existing Role or ClusterRole name to bind the generated ServiceAccount to (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_predefined_role_name: Option<String>,
/// Specifies the type of the pre-existing K8S role [Role, ClusterRole] (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_predefined_role_type: Option<String>,
/// Content of the yaml in a Base64 format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_rolebinding_yaml_data: Option<String>,
/// Path to yaml file that contains definitions of K8S role and role binding (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_rolebinding_yaml_def: Option<String>,
/// K8S ServiceAccount to extract token from.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_service_account: Option<String>,
/// K8S ServiceAccount type [fixed, dynamic].
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_service_account_type: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable Port forwarding while using CLI access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_port_forwading: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The K8s cluster endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_cluster_endpoint: Option<String>,
/// The K8s dashboard url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_dashboard_url: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_service_account: Option<bool>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateLdap is a command that updates ldap dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DynamicSecretUpdateLdap {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider_type: Option<String>,
/// Bind DN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn: Option<String>,
/// Bind DN Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn_password: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Externally provided username [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_username: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (relevant only for external-username=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Group DN which the temporary user should be added
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_dn: Option<String>,
/// Host provider type [explicit/target], Default Host provider is explicit, Relevant only for Secure Remote Access of ssh cert issuer, ldap rotated secret and ldap dynamic secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_provider: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// CA Certificate File Content
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_ca_cert: Option<String>,
/// LDAP Server URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// RD Gateway server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rd_gateway_server: Option<String>,
/// Required when the Dynamic Secret is used for a domain user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// A list of linked targets to be associated, Relevant only for Secure Remote Access for ssh cert issuer, ldap rotated secret and ldap dynamic secret, To specify multiple targets use argument multiple times
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Token expiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_expiration: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User Attribute
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_attribute: Option<String>,
/// User DN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_dn: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateMongoDb is a command that updates either mongodb dynamic secret or mongodb atlas dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateMongoDb {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// MongoDB Atlas private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_private_key: Option<String>,
/// MongoDB Atlas public key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_public_key: Option<String>,
/// MongoDB Atlas project ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_project_id: Option<String>,
/// MongoDB custom data
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_custom_data: Option<String>,
/// MongoDB server default authentication database
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_default_auth_db: Option<String>,
/// MongoDB server host and port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_host_port: Option<String>,
/// MongoDB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_name: Option<String>,
/// MongoDB server password. You will prompted to provide a password if it will not appear in CLI parameters
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_password: Option<String>,
/// MongoDB Roles
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_roles: Option<String>,
/// MongoDB Scopes (Atlas only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_scopes: Option<String>,
/// MongoDB server URI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_server_uri: Option<String>,
/// MongoDB server URI options
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_uri_options: Option<String>,
/// MongoDB server username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_username: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Encrypt producer with following key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateMsSql is a command that updates mssql dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateMsSql {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// CSV of allowed DB names for runtime selection when getting the secret value.
Empty => use target DB only; "*" => any DB allowed; One or more names => user must choose from this list
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_allowed_db_names: Option<String>,
/// MSSQL Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_create_statements: Option<String>,
/// MSSQL Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_dbname: Option<String>,
/// MSSQL Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_host: Option<String>,
/// MSSQL Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_password: Option<String>,
/// MSSQL Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_port: Option<String>,
/// MSSQL Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_revocation_statements: Option<String>,
/// MSSQL Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_username: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateMySql is a command that updates mysql dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateMySql {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// (Optional) DB server certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) Server name for certificate verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// MySQL DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_dbname: Option<String>,
/// MySQL Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_host: Option<String>,
/// MySQL Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_password: Option<String>,
/// MySQL Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_port: Option<String>,
/// MySQL Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_revocation_statements: Option<String>,
/// MySQL Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_screation_statements: Option<String>,
/// MySQL Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_username: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL connection certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateOpenAI is a command that updates OpenAI dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateOpenAi {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Project ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub project_id: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Name of existing target to use in producer creation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateOracleDb is a command that updates oracle db dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateOracleDb {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// (Optional) DB server certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) Server name for certificate verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Oracle Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_host: Option<String>,
/// Oracle Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_password: Option<String>,
/// Oracle Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_port: Option<String>,
/// Oracle Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_revocation_statements: Option<String>,
/// Oracle Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_screation_statements: Option<String>,
/// Oracle DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_service_name: Option<String>,
/// Oracle Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_username: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dynamic_secret_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// dynamicSecretUpdatePing is a command that updates Ping dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdatePing {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Ping Federate administrative port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_administrative_port: Option<String>,
/// Set a specific Access Token Management (ATM) instance for the created OAuth Client by providing the ATM Id. If no explicit value is given, the default pingfederate server ATM will be set.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_atm_id: Option<String>,
/// Ping Federate authorization port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_authorization_port: Option<String>,
/// The subject DN of the client certificate. If no explicit value is given, the producer will create CA certificate and matched client certificate and return it as value. Used in conjunction with ping-issuer-dn (relevant for CLIENT_TLS_CERTIFICATE authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_cert_subject_dn: Option<String>,
/// OAuth Client Authentication Type [CLIENT_SECRET, PRIVATE_KEY_JWT, CLIENT_TLS_CERTIFICATE]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_client_authentication_type: Option<String>,
/// Determines whether PingFederate requires a unique signed JWT from the client for each action (relevant for PRIVATE_KEY_JWT authentication method) [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_enforce_replay_prevention: Option<String>,
/// List of OAuth client grant types [IMPLICIT, AUTHORIZATION_CODE, CLIENT_CREDENTIALS, TOKEN_EXCHANGE, REFRESH_TOKEN, ASSERTION_GRANTS, PASSWORD, RESOURCE_OWNER_CREDENTIALS]. If no explicit value is given, AUTHORIZATION_CODE will be selected as default.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_grant_types: Option<Vec<String>>,
/// Issuer DN of trusted CA certificate that imported into Ping Federate server. You may select \"Trust Any\" to trust all the existing issuers in Ping Federate server. Used in conjunction with ping-cert-subject-dn (relevant for CLIENT_TLS_CERTIFICATE authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_issuer_dn: Option<String>,
/// Base64-encoded JSON Web Key Set (JWKS). If no explicit value is given, the producer will create JWKs and matched signed JWT (Sign Algo: RS256) and return it as value (relevant for PRIVATE_KEY_JWT authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_jwks: Option<String>,
/// The URL of the JSON Web Key Set (JWKS). If no explicit value is given, the producer will create JWKs and matched signed JWT and return it as value (relevant for PRIVATE_KEY_JWT authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_jwks_url: Option<String>,
/// Ping Federate privileged user password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_password: Option<String>,
/// Ping Federate privileged user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_privileged_user: Option<String>,
/// List of URIs to which the OAuth authorization server may redirect the resource owner's user agent after authorization is obtained. At least one redirection URI is required for the AUTHORIZATION_CODE and IMPLICIT grant types.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_redirect_uris: Option<Vec<String>>,
/// Limit the OAuth client to specific scopes list
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_restricted_scopes: Option<Vec<String>>,
/// The signing algorithm that the client must use to sign its request objects [RS256,RS384,RS512,ES256,ES384,ES512,PS256,PS384,PS512] If no explicit value is given, the client can use any of the supported signing algorithms (relevant for PRIVATE_KEY_JWT authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_signing_algo: Option<String>,
/// Ping URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_url: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The time from dynamic secret creation to expiration.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdatePostgreSql is a command that updates postgresql dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdatePostgreSql {
/// PostgreSQL Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_statements: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// PostgreSQL DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_db_name: Option<String>,
/// PostgreSQL Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_host: Option<String>,
/// PostgreSQL Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_password: Option<String>,
/// PostgreSQL Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_port: Option<String>,
/// PostgreSQL Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_username: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key: Option<String>,
/// PostgreSQL Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revocation_statement: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateRabbitMq is a command that updates rabbitmq dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateRabbitMq {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// RabbitMQ Admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_admin_pwd: Option<String>,
/// RabbitMQ Admin User
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_admin_user: Option<String>,
/// Server URI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_uri: Option<String>,
/// User configuration permission
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_conf_permission: Option<String>,
/// User read permission
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_read_permission: Option<String>,
/// User Tags
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_tags: Option<String>,
/// User Virtual Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_vhost: Option<String>,
/// User write permission
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_write_permission: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// dynamicSecretUpdateRdp is a command that updates rdp dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateRdp {
/// AllowUserExtendSession
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_user_extend_session: Option<i64>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (relevant only for fixed-user-only=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Allow access using externally (IdP) provided username [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_only: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// RDP Admin Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_admin_name: Option<String>,
/// RDP Admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_admin_pwd: Option<String>,
/// Hostname
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_host_name: Option<String>,
/// Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_host_port: Option<String>,
/// Groups
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_user_groups: Option<String>,
/// Allow providing external user for a domain users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_external_user: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// RD Gateway server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rd_gateway_server: Option<String>,
/// Required when the Dynamic Secret is used for a domain user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Override the RDP Domain username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// WarnBeforeUserExpiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub warn_user_before_expiration: Option<i64>,
}
/// dynamicSecretUpdateRedis is a command that updates redis dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateRedis {
/// A JSON array list of redis ACL rules to attach to the created user. For available rules see the ACL CAT command https://redis.io/commands/acl-cat
By default the user will have permissions to read all keys '["~*", "+@read"]'
#[serde(default, skip_serializing_if = "Option::is_none")]
pub acl_rules: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Redis Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Redis Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Redis Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL CA certificate in base64 encoding generated from a trusted Certificate Authority (CA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// Redis Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
/// dynamicSecretUpdateRedshift is a command that updates redshift dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateRedshift {
/// Redshift Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_statements: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key: Option<String>,
/// Redshift DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_db_name: Option<String>,
/// Redshift Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_host: Option<String>,
/// Redshift Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_password: Option<String>,
/// Redshift Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_port: Option<String>,
/// Redshift Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_username: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
/// GatewayUpdateProducerSnowflakeCmd is a command that updates a Snowflake dynamic secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateSnowflake {
/// Account name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account: Option<String>,
/// Database Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_password: Option<String>,
/// Database Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_username: Option<String>,
/// The authentication mode for the temporary user [password/key]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_mode: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Database name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_algo: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// RSA Private key (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
/// The Private key passphrase
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_passphrase: Option<String>,
/// User role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// Warehouse name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub warehouse: Option<String>,
}
/// dynamicSecretUpdateVenafi is a command that updates a Venafi dynamic secret
to dynamically update certificates generated by Venafi or have
Akeyless generated certificates using PKI be monitored by Venafi
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DynamicSecretUpdateVenafi {
/// Admin credentials rotation interval (days)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_rotation_interval_days: Option<i64>,
/// Allow subdomains
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_subdomains: Option<bool>,
/// Allowed domains
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_domains: Option<Vec<String>>,
/// Auto generated folder
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_generated_folder: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Automatic admin credentials rotation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_admin_rotation: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Root first in chain
#[serde(default, skip_serializing_if = "Option::is_none")]
pub root_first_in_chain: Option<bool>,
/// Use Akeyless PKI issuer or Venafi issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sign_using_akeyless_pki: Option<bool>,
/// Signer key name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signer_key_name: Option<String>,
/// Store private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub store_private_key: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL in time.Duration format (2160h / 129600m / etc...). When using sign-using-akeyless-pki certificates created will have this validity period, otherwise the user-ttl is taken from the Validity Period field of the Zone's' Issuing Template. When using cert-manager it is advised to have a TTL of above 60 days (1440h). For more information - https://cert-manager.io/docs/usage/certificate/
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// Venafi Access Token to use to access the TPP environment (Relevant when using TPP)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_access_token: Option<String>,
/// Venafi API key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_api_key: Option<String>,
/// Venafi Baseurl
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_baseurl: Option<String>,
/// Venafi Client ID that was used when the access token was generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_client_id: Option<String>,
/// Venafi Refresh Token to use when the Access Token is expired (Relevant when using TPP)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_refresh_token: Option<String>,
/// Venafi using TPP
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_use_tpp: Option<bool>,
/// Venafi Zone
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_zone: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Encrypt {
/// The display id of the key to use in the encryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// name-value pair that specifies the encryption context to be used for
authenticated encryption. If used here, the same value must be supplied
to the decrypt command or decryption will fail
#[serde(default, skip_serializing_if = "Option::is_none")]
pub encryption_context: Option<serde_json::Value>,
/// Select default assumed format for any plaintext input. Currently supported options: [base64]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub input_format: Option<String>,
/// The item id of the key to use in the encryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the key to use in the encryption process
pub key_name: String,
/// Data to be encrypted
#[serde(default, skip_serializing_if = "Option::is_none")]
pub plaintext: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// key version (relevant only for classic key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EncryptBatchOutput {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EncryptFile {
/// The display id of the key to use in the encryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// Path to the file to be encrypted. If not provided, the content will be
taken from stdin
pub r#in: String,
/// The item id of the key to use in the encryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the key to use in the encryption process
pub key_name: String,
/// Path to the output file. If not provided, the output will be sent to
stdout
#[serde(default, skip_serializing_if = "Option::is_none")]
pub out: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EncryptFileOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EncryptGpg {
/// The display id of the key to use in the encryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// If specified, the plaintext input is assumed to be formatted accordingly. Current supported options: [base64]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub input_format: Option<String>,
/// The item id of the key to use in the encryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the key to use in the encryption process
pub key_name: String,
/// Data to be encrypted
pub plaintext: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EncryptGpgOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EncryptOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EncryptWithClassicKey {
/// The name of the key to use in the encryption process
pub display_id: String,
/// Retrieve the Secret value without checking the Gateway's cache [true/false]. This flag is only relevant when using the RestAPI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ignore_cache: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Data to be encrypted
pub plaintext: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// classic key version
pub version: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EncryptWithClassicKeyOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
}
/// esmCreate is a command that creates a new secret in an External Secrets Manager
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EsmCreate {
/// Use this option if the external secret value is a base64 encoded binary
#[serde(default, skip_serializing_if = "Option::is_none")]
pub binary_value: Option<bool>,
/// Description of the external secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Name of the External Secrets Manager item
pub esm_name: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Name for the new external secret
pub secret_name: String,
/// Tags for the external secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Value of the external secret item, either text or base64 encoded binary
pub value: String,
}
/// esmDelete is a command that deletes a secret from an External Secrets Manager
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EsmDelete {
/// Name of the External Secrets Manager item
pub esm_name: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The external secret id (or name, for AWS, Azure or K8s targets) to delete
pub secret_id: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// esmGet is a command that gets the value and interal details of a secret from an External Secrets Manager
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EsmGet {
/// Name of the External Secrets Manager item
pub esm_name: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The secret id (or name, for AWS, Azure or K8s targets) to get from the External Secrets Manager
pub secret_id: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// esmList is a command that lists the secrets of an External Secrets Manager
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EsmList {
/// Name of the External Secrets Manager item
pub esm_name: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// esmUpdate is a command that updates a secret in an External Secrets Manager
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EsmUpdate {
/// Use this option if the external secret value is a base64 encoded binary
#[serde(default, skip_serializing_if = "Option::is_none")]
pub binary_value: Option<bool>,
/// Description of the external secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Name of the External Secrets Manager item
pub esm_name: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The external secret id (or name, for AWS, Azure or K8s targets) to update
pub secret_id: String,
/// Tags for the external secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Value of the external secret item, either text or base64 encoded binary
pub value: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventAction {
/// The Event Action [approve/deny]
pub action: String,
/// The Event ID
pub event_id: i64,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventActionOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// eventForwarderCreateEmail is a command that creates email event forwarder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderCreateEmail {
/// Auth Method Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_methods_event_source_locations: Option<Vec<String>>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A comma seperated list of email addresses to send event to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_to: Option<String>,
/// List of event types to notify about [request-access, certificate-pending-expiration, certificate-expired, certificate-provisioning-success, certificate-provisioning-failure, auth-method-pending-expiration, auth-method-expired, next-automatic-rotation, rotated-secret-success, rotated-secret-failure, dynamic-secret-failure, multi-auth-failure, uid-rotation-failure, apply-justification, email-auth-method-approved, usage, rotation-usage, gateway-inactive, static-secret-updated, rate-limiting, usage-report, secret-sync]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_types: Option<Vec<String>>,
/// Rate of periodic runner repetition in hours
#[serde(default, skip_serializing_if = "Option::is_none")]
pub every: Option<String>,
/// Event sources
pub gateways_event_source_locations: Vec<String>,
/// Set this option to include event errors details [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub include_error: Option<String>,
/// Items Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items_event_source_locations: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the EventForwarder secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// EventForwarder name
pub name: String,
/// Override Akeyless default URL with your Gateway url (port 18888)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub override_url: Option<String>,
pub runner_type: String,
/// Targets Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets_event_source_locations: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// eventForwarderCreateServiceNow is a command that creates service-now event forwarder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderCreateServiceNow {
/// Workstation Admin Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_name: Option<String>,
/// Workstation Admin Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_pwd: Option<String>,
/// The RSA Private Key to use when connecting with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_private_key_base64: Option<String>,
/// Auth Method Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_methods_event_source_locations: Option<Vec<String>>,
/// The authentication type to use [user-pass/jwt]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
/// The client ID to use when connecting with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// The client secret to use when connecting with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// List of event types to notify about [request-access, certificate-pending-expiration, certificate-expired, certificate-provisioning-success, certificate-provisioning-failure, auth-method-pending-expiration, auth-method-expired, next-automatic-rotation, rotated-secret-success, rotated-secret-failure, dynamic-secret-failure, multi-auth-failure, uid-rotation-failure, apply-justification, email-auth-method-approved, usage, rotation-usage, gateway-inactive, static-secret-updated, rate-limiting, usage-report, secret-sync]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_types: Option<Vec<String>>,
/// Rate of periodic runner repetition in hours
#[serde(default, skip_serializing_if = "Option::is_none")]
pub every: Option<String>,
/// Event sources
pub gateways_event_source_locations: Vec<String>,
/// Workstation Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Items Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items_event_source_locations: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the EventForwarder secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// EventForwarder name
pub name: String,
pub runner_type: String,
/// Targets Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets_event_source_locations: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The user email to identify with when connecting with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_email: Option<String>,
}
/// eventForwarderCreateSlack is a command that creates slack event forwarder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderCreateSlack {
/// Auth Method Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_methods_event_source_locations: Option<Vec<String>>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// List of event types to notify about [request-access, certificate-pending-expiration, certificate-expired, certificate-provisioning-success, certificate-provisioning-failure, auth-method-pending-expiration, auth-method-expired, next-automatic-rotation, rotated-secret-success, rotated-secret-failure, dynamic-secret-failure, multi-auth-failure, uid-rotation-failure, apply-justification, email-auth-method-approved, usage, rotation-usage, gateway-inactive, static-secret-updated, rate-limiting, usage-report, secret-sync]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_types: Option<Vec<String>>,
/// Rate of periodic runner repetition in hours
#[serde(default, skip_serializing_if = "Option::is_none")]
pub every: Option<String>,
/// Event sources
pub gateways_event_source_locations: Vec<String>,
/// Items Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items_event_source_locations: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the EventForwarder secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// EventForwarder name
pub name: String,
pub runner_type: String,
/// Targets Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets_event_source_locations: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Slack Webhook URL
pub url: String,
}
/// eventForwarderCreateTeams is a command that creates teams event forwarder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderCreateTeams {
/// Auth Method Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_methods_event_source_locations: Option<Vec<String>>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// List of event types to notify about [request-access, certificate-pending-expiration, certificate-expired, certificate-provisioning-success, certificate-provisioning-failure, auth-method-pending-expiration, auth-method-expired, next-automatic-rotation, rotated-secret-success, rotated-secret-failure, dynamic-secret-failure, multi-auth-failure, uid-rotation-failure, apply-justification, email-auth-method-approved, usage, rotation-usage, gateway-inactive, static-secret-updated, rate-limiting, usage-report, secret-sync]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_types: Option<Vec<String>>,
/// Rate of periodic runner repetition in hours
#[serde(default, skip_serializing_if = "Option::is_none")]
pub every: Option<String>,
/// Event sources
pub gateways_event_source_locations: Vec<String>,
/// Items Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items_event_source_locations: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the EventForwarder secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// EventForwarder name
pub name: String,
pub runner_type: String,
/// Targets Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets_event_source_locations: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Teams Webhook URL
pub url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderCreateUpdateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_forwarder_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_forwarder_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// eventForwarderCreateWebhook is a command that creates webhook event forwarder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderCreateWebhook {
/// Auth Method Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_methods_event_source_locations: Option<Vec<String>>,
/// Base64 encoded Token string for authentication type Token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_token: Option<String>,
/// The Webhook authentication type [user-pass, bearer-token, certificate]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
/// Base64 encoded PEM certificate, relevant for certificate auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_cert_data: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// List of event types to notify about [request-access, certificate-pending-expiration, certificate-expired, certificate-provisioning-success, certificate-provisioning-failure, auth-method-pending-expiration, auth-method-expired, next-automatic-rotation, rotated-secret-success, rotated-secret-failure, dynamic-secret-failure, multi-auth-failure, uid-rotation-failure, apply-justification, email-auth-method-approved, usage, rotation-usage, gateway-inactive, static-secret-updated, rate-limiting, usage-report, secret-sync]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_types: Option<Vec<String>>,
/// Rate of periodic runner repetition in hours
#[serde(default, skip_serializing_if = "Option::is_none")]
pub every: Option<String>,
/// Event sources
pub gateways_event_source_locations: Vec<String>,
/// Items Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items_event_source_locations: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the EventForwarder secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// EventForwarder name
pub name: String,
/// Password for authentication relevant for user-pass auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// Base64 encoded PEM RSA Private Key, relevant for certificate auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_data: Option<String>,
pub runner_type: String,
/// Base64 encoded PEM certificate of the Webhook
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_certificates: Option<String>,
/// Targets Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets_event_source_locations: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Webhook URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
/// Username for authentication relevant for user-pass auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
/// eventForwarderDelete is a command that delete event forwarder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderDelete {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// EventForwarder name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderDeleteOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_forwarder_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// eventForwarderGet is a command that get event forwarder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderGet {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// EventForwarder name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderGetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_forwarder: Option<NotiForwarder>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_forwarder_details: Option<NotiForwarderDetailsInput>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// eventForwarderUpdateEmail is a command that updates email event forwarder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderUpdateEmail {
/// Auth Method Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_methods_event_source_locations: Option<Vec<String>>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A comma seperated list of email addresses to send event to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_to: Option<String>,
/// Enable/Disable Event Forwarder [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// List of event types to notify about [request-access, certificate-pending-expiration, certificate-expired, certificate-provisioning-success, certificate-provisioning-failure, auth-method-pending-expiration, auth-method-expired, next-automatic-rotation, rotated-secret-success, rotated-secret-failure, dynamic-secret-failure, multi-auth-failure, uid-rotation-failure, apply-justification, email-auth-method-approved, usage, rotation-usage, gateway-inactive, static-secret-updated, rate-limiting, usage-report, secret-sync]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_types: Option<Vec<String>>,
/// Event sources
pub gateways_event_source_locations: Vec<String>,
/// Set this option to include event errors details [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub include_error: Option<String>,
/// Items Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items_event_source_locations: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the EventForwarder secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// EventForwarder name
pub name: String,
/// New EventForwarder name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Override Akeyless default URL with your Gateway url (port 18888)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub override_url: Option<String>,
/// Targets Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets_event_source_locations: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// eventForwarderUpdateServiceNow is a command that updates service now event forwarder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderUpdateServiceNow {
/// Workstation Admin Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_name: Option<String>,
/// Workstation Admin Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_pwd: Option<String>,
/// The RSA Private Key to use when connecting with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_private_key_base64: Option<String>,
/// Auth Method Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_methods_event_source_locations: Option<Vec<String>>,
/// The authentication type to use [user-pass/jwt]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
/// The client ID to use when connecting with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// The client secret to use when connecting with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Enable/Disable Event Forwarder [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// List of event types to notify about [request-access, certificate-pending-expiration, certificate-expired, certificate-provisioning-success, certificate-provisioning-failure, auth-method-pending-expiration, auth-method-expired, next-automatic-rotation, rotated-secret-success, rotated-secret-failure, dynamic-secret-failure, multi-auth-failure, uid-rotation-failure, apply-justification, email-auth-method-approved, usage, rotation-usage, gateway-inactive, static-secret-updated, rate-limiting, usage-report, secret-sync]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_types: Option<Vec<String>>,
/// Event sources
pub gateways_event_source_locations: Vec<String>,
/// Workstation Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Items Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items_event_source_locations: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the EventForwarder secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// EventForwarder name
pub name: String,
/// New EventForwarder name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Targets Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets_event_source_locations: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The user email to identify with when connecting with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_email: Option<String>,
}
/// eventForwarderUpdateSlack is a command that updates slack event forwarder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderUpdateSlack {
/// Auth Method Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_methods_event_source_locations: Option<Vec<String>>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Enable/Disable Event Forwarder [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// List of event types to notify about [request-access, certificate-pending-expiration, certificate-expired, certificate-provisioning-success, certificate-provisioning-failure, auth-method-pending-expiration, auth-method-expired, next-automatic-rotation, rotated-secret-success, rotated-secret-failure, dynamic-secret-failure, multi-auth-failure, uid-rotation-failure, apply-justification, email-auth-method-approved, usage, rotation-usage, gateway-inactive, static-secret-updated, rate-limiting, usage-report, secret-sync]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_types: Option<Vec<String>>,
/// Event sources
pub gateways_event_source_locations: Vec<String>,
/// Items Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items_event_source_locations: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the EventForwarder secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// EventForwarder name
pub name: String,
/// New EventForwarder name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Targets Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets_event_source_locations: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Slack Webhook URL
pub url: String,
}
/// eventForwarderUpdateTeams is a command that updates teams event forwarder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderUpdateTeams {
/// Auth Method Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_methods_event_source_locations: Option<Vec<String>>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Enable/Disable Event Forwarder [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// List of event types to notify about [request-access, certificate-pending-expiration, certificate-expired, certificate-provisioning-success, certificate-provisioning-failure, auth-method-pending-expiration, auth-method-expired, next-automatic-rotation, rotated-secret-success, rotated-secret-failure, dynamic-secret-failure, multi-auth-failure, uid-rotation-failure, apply-justification, email-auth-method-approved, usage, rotation-usage, gateway-inactive, static-secret-updated, rate-limiting, usage-report, secret-sync]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_types: Option<Vec<String>>,
/// Event sources
pub gateways_event_source_locations: Vec<String>,
/// Items Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items_event_source_locations: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the EventForwarder secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// EventForwarder name
pub name: String,
/// New EventForwarder name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Targets Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets_event_source_locations: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Teams Webhook URL
pub url: String,
}
/// eventForwarderUpdateWebhook is a command that updates webhook event forwarder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventForwarderUpdateWebhook {
/// Auth Method Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_methods_event_source_locations: Option<Vec<String>>,
/// Base64 encoded Token string for authentication type Token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_token: Option<String>,
/// The Webhook authentication type [user-pass, bearer-token, certificate]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
/// Base64 encoded PEM certificate, relevant for certificate auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_cert_data: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Enable/Disable Event Forwarder [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// List of event types to notify about [request-access, certificate-pending-expiration, certificate-expired, certificate-provisioning-success, certificate-provisioning-failure, auth-method-pending-expiration, auth-method-expired, next-automatic-rotation, rotated-secret-success, rotated-secret-failure, dynamic-secret-failure, multi-auth-failure, uid-rotation-failure, apply-justification, email-auth-method-approved, usage, rotation-usage, gateway-inactive, static-secret-updated, rate-limiting, usage-report, secret-sync]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_types: Option<Vec<String>>,
/// Event sources
pub gateways_event_source_locations: Vec<String>,
/// Items Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items_event_source_locations: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the EventForwarder secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// EventForwarder name
pub name: String,
/// New EventForwarder name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Password for authentication relevant for user-pass auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// Base64 encoded PEM RSA Private Key, relevant for certificate auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_data: Option<String>,
/// Base64 encoded PEM certificate of the Webhook
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_certificates: Option<String>,
/// Targets Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets_event_source_locations: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Webhook URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
/// Username for authentication relevant for user-pass auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
/// folderCreate is a command that creates folder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FolderCreate {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Folder name
pub name: String,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FolderCreateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub folder_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// folderDelete is a command that delete folder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FolderDelete {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Folder name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FolderDeleteOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// folderGet is a command that get folder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FolderGet {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Folder name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FolderGetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub folder: Option<GetFolderOutput>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// folderUpdate is a command that updates folder
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FolderUpdate {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// List of the new tags that will be attached to this folder
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Folder name
pub name: String,
/// List of the existent tags that will be removed from this folder
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FolderUpdateOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateAllowedAccess is a command that creates allowed access in Gator
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GatewayCreateAllowedAccess {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims_case_insensitive: Option<bool>,
/// Access ID
The access id to be attached to this allowed access. Auth method with this access id should already exist.
pub access_id: String,
/// Treat sub claims as case-sensitive [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub case_sensitive: Option<String>,
/// Allowed access description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Allowed access name
pub name: String,
/// Permissions
Comma-seperated list of permissions for this allowed access.
Available permissions: [defaults,targets,classic_keys,automatic_migration,ldap_auth,dynamic_secret,k8s_auth,log_forwarding,zero_knowledge_encryption,rotated_secret,caching,event_forwarding,admin,kmip,general,rotate_secret_value]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub permissions: Option<String>,
/// Sub claims
key/val of sub claims, e.g group=admins,developers
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims: Option<serde_json::Value>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayCreateK8SAuth is a command that creates k8s auth config
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateK8sAuthConfig {
/// The access ID of the Kubernetes auth method
pub access_id: String,
/// Cluster access type. options: [native_k8s, rancher]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_api_type: Option<String>,
/// Disable issuer validation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disable_issuer_validation: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// K8S auth type [token/certificate]. (relevant for "native_k8s" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auth_type: Option<String>,
/// The CA Certificate (base64 encoded) to use to call into the kubernetes API server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_ca_cert: Option<String>,
/// Content of the k8 client certificate (PEM format) in a Base64 format (relevant for "native_k8s" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_certificate: Option<String>,
/// Content of the k8 client private key (PEM format) in a Base64 format (relevant for "native_k8s" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_key: Option<String>,
/// The URL of the kubernetes API server
pub k8s_host: String,
/// The Kubernetes JWT issuer name. K8SIssuer is the claim that specifies who issued the Kubernetes token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_issuer: Option<String>,
/// K8S Auth config name
pub name: String,
/// The api key used to access the TokenReview API to validate other JWTs (relevant for "rancher" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rancher_api_key: Option<String>,
/// The cluster id as define in rancher (relevant for "rancher" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rancher_cluster_id: Option<String>,
/// The private key (base64 encoded) associated with the public key defined in the Kubernetes auth
pub signing_key: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Time in seconds of expiration of the Akeyless Kube Auth Method token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_exp: Option<i64>,
/// A Kubernetes service account JWT used to access the TokenReview API to validate other JWTs (relevant for "native_k8s" only).
If not set, the JWT submitted in the authentication process will be used to access the Kubernetes TokenReview API.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_reviewer_jwt: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_service_account: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateK8sAuthConfigOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parts_change: Option<ConfigChange>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total_hash: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateMigration is a command that create migration
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GatewayCreateMigration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_account_key_decoded: Option<String>,
/// Enable/Disable automatic/recurrent rotation for migrated secrets. Default is false: only manual rotation is allowed for migrated secrets. If set to true, this command should be combined with --ad-rotation-interval and --ad-rotation-hour parameters (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_auto_rotate: Option<String>,
/// How many days before the expiration of discovered certificates would you like to be notified (Relevant only for Active Directory migration with certificate discovery enabled)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_cert_expiration_event_in: Option<Vec<String>>,
/// Path location template for migrating certificates e.g.: /Certificates/{{COMMON_NAME}} (Relevant only for Active Directory migration with certificate discovery enabled)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_certificates_path_template: Option<String>,
/// Distinguished Name of Computer objects (servers) to search in Active Directory e.g.: CN=Computers,DC=example,DC=com (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_computer_base_dn: Option<String>,
/// Enable/Disable discovery of IIS application from each domain server as part of the SSH/Windows Rotated Secrets. Default is false. (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_discover_iis_app: Option<String>,
/// Enable/Disable discovery of Windows services from each domain server as part of the SSH/Windows Rotated Secrets. Default is false. (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_discover_services: Option<String>,
/// Set migration discovery types (domain-users, computers, local-users). (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_discovery_types: Option<Vec<String>>,
/// Active Directory Domain Name (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_domain_name: Option<String>,
/// Path location template for migrating domain users as Rotated Secrets e.g.: .../DomainUsers/{{USERNAME}} (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_domain_users_path_template: Option<String>,
/// Comma-separated list of Local Users which should not be migrated (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_local_users_ignore: Option<String>,
/// Path location template for migrating domain users as Rotated Secrets e.g.: .../LocalUsers/{{COMPUTER_NAME}}/{{USERNAME}} (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_local_users_path_template: Option<String>,
/// Filter by Operating System to run the migration, can be used with wildcards, e.g. SRV20* (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_os_filter: Option<String>,
/// The hour of the scheduled rotation in UTC (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_rotation_hour: Option<i64>,
/// The number of days to wait between every automatic rotation [1-365] (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_rotation_interval: Option<i64>,
/// Enable/Disable RDP Secure Remote Access for the migrated local users rotated secrets. Default is false: rotated secrets will not be created with SRA (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_sra_enable_rdp: Option<String>,
/// Set the SSH Port for further connection to the domain servers. Default is port 22 (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_ssh_port: Option<String>,
/// Relevant only for ad-discovery-types=computers. For linked, all computers will be migrated into a linked target(s). if set with regular, the migration will create a target for each computer.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_target_format: Option<String>,
/// Active Directory LDAP Target Name. Server type should be Active Directory (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_target_name: Option<String>,
/// Path location template for migrating domain servers as SSH/Windows Targets e.g.: .../Servers/{{COMPUTER_NAME}} (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_targets_path_template: Option<String>,
/// Set the target type of the domain servers [ssh/windows](Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_targets_type: Option<String>,
/// Distinguished Name of User objects to search in Active Directory, e.g.: CN=Users,DC=example,DC=com (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_user_base_dn: Option<String>,
/// Comma-separated list of domain groups from which privileged domain users will be migrated. If empty, migrate all users based on the --ad-user-base-dn (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_user_groups: Option<String>,
/// Use WinRM over HTTP, by default runs over HTTPS
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_winrm_over_http: Option<String>,
/// Set the WinRM Port for further connection to the domain servers. Default is 5986 (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_winrm_port: Option<String>,
/// Enable/Disable discovery of local users from each domain server and migrate them as SSH/Windows Rotated Secrets. Default is false: only domain users will be migrated. Discovery of local users might require further installation of SSH on the servers, based on the supplied computer base DN. This will be implemented automatically as part of the migration process (Relevant only for Active Directory migration)
Deprecated: use AdDiscoverTypes
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_discover_local_users: Option<String>,
/// Enable AI-assisted certificate discovery (only when AI Insight is enabled on the Gateway)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ai_certificate_discovery: Option<String>,
/// AWS Secret Access Key (relevant only for AWS migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_key: Option<String>,
/// AWS Access Key ID with sufficient permissions to get all secrets, e.g. 'arn:aws:secretsmanager:[Region]:[AccountId]:secret:[/path/to/secrets/*]' (relevant only for AWS migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_key_id: Option<String>,
/// AWS region of the required Secrets Manager (relevant only for AWS migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_region: Option<String>,
/// Azure Key Vault Access client ID, should be Azure AD App with a service principal (relevant only for Azure Key Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_id: Option<String>,
/// Azure Key Vault Name (relevant only for Azure Key Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_kv_name: Option<String>,
/// Azure Key Vault secret (relevant only for Azure Key Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_secret: Option<String>,
/// Azure Key Vault Access tenant ID (relevant only for Azure Key Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_tenant_id: Option<String>,
/// Conjur account name set on your Conjur server (relevant only for Conjur migration).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conjur_account: Option<String>,
/// Conjur API Key for the specified user (relevant only for Conjur migration).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conjur_api_key: Option<String>,
/// Conjur server base URL (relevant only for Conjur migration).
If conjur-url is HTTPS and Conjur uses a private CA/self-signed certificate,
make the CA bundle available on the Gateway and set CONJUR_SSL_CERT_PATH to its path.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conjur_url: Option<String>,
/// Conjur username used to authenticate (relevant only for Conjur migration).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conjur_username: Option<String>,
/// How many days before the expiration of the certificate would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// 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)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// GCP Project ID (cross-project override)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_project_id: Option<String>,
/// Import secret key as json value or independent secrets (relevant only for HasiCorp Vault migration) [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_json: Option<String>,
/// HashiCorp Vault Namespaces is a comma-separated list of namespaces which need to be imported into Akeyless Vault. For every provided namespace, all its child namespaces are imported as well, e.g. nmsp/subnmsp1/subnmsp2,nmsp/anothernmsp. By default, import all namespaces (relevant only for HasiCorp Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_ns: Option<Vec<String>>,
/// HashiCorp Vault access token with sufficient permissions to preform list & read operations on secrets objects (relevant only for HasiCorp Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_token: Option<String>,
/// HashiCorp Vault API URL, e.g. https://vault-mgr01:8200 (relevant only for HasiCorp Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_url: Option<String>,
/// A comma separated list of IPs, CIDR ranges, or DNS names to scan
pub hosts: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// For Certificate Authentication method
K8s Cluster CA certificate (relevant only for K8s migration with Certificate Authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_ca_certificate: Option<Vec<i64>>,
/// K8s Client certificate with sufficient permission to list and get secrets in the namespace(s) you selected (relevant only for K8s migration with Certificate Authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_certificate: Option<Vec<i64>>,
/// K8s Client key (relevant only for K8s migration with Certificate Authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_key: Option<Vec<i64>>,
/// K8s Namespace, Use this field to import secrets from a particular namespace only. By default, the secrets are imported from all namespaces (relevant only for K8s migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_namespace: Option<String>,
/// K8s Client password (relevant only for K8s migration with Password Authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_password: Option<String>,
/// K8s Skip Control Plane Secrets, This option allows to avoid importing secrets from system namespaces (relevant only for K8s migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_skip_system: Option<bool>,
/// For Token Authentication method
K8s Bearer Token with sufficient permission to list and get secrets in the namespace(s) you selected (relevant only for K8s migration with Token Authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_token: Option<String>,
/// K8s API Server URL, e.g. https://k8s-api.mycompany.com:6443 (relevant only for K8s migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_url: Option<String>,
/// For Password Authentication method
K8s Client username with sufficient permission to list and get secrets in the namespace(s) you selected (relevant only for K8s migration with Password Authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_username: Option<String>,
/// Migration name
pub name: String,
/// A comma separated list of port ranges
Examples: "80,443" or "80,443,8080-8090" or "443"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port_ranges: Option<String>,
/// The name of the key that protects the classic key value (if empty, the account default key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
/// Enable/Disable automatic/recurrent rotation for migrated secrets. Default is false: only manual rotation is allowed for migrated secrets. If set to true, this command should be combined with --si-rotation-interval and --si-rotation-hour parameters (Relevant only for Server Inventory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub si_auto_rotate: Option<String>,
/// The hour of the scheduled rotation in UTC (Relevant only for Server Inventory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub si_rotation_hour: Option<i64>,
/// The number of days to wait between every automatic rotation [1-365] (Relevant only for Server Inventory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub si_rotation_interval: Option<i64>,
/// Enable/Disable RDP Secure Remote Access for the migrated local users rotated secrets. Default is false: rotated secrets will not be created with SRA (Relevant only for Server Inventory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub si_sra_enable_rdp: Option<String>,
/// SSH, Windows or Linked Target Name. (Relevant only for Server Inventory migration)
pub si_target_name: String,
/// Comma-separated list of groups to migrate users from. If empty, all users from all groups will be migrated (Relevant only for Server Inventory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub si_user_groups: Option<String>,
/// Comma-separated list of Local Users which should not be migrated (Relevant only for Server Inventory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub si_users_ignore: Option<String>,
/// Path location template for migrating users as Rotated Secrets e.g.: .../Users/{{COMPUTER_NAME}}/{{USERNAME}} (Relevant only for Server Inventory migration)
pub si_users_path_template: String,
/// Target location in Akeyless for imported secrets
pub target_location: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Migration type (hashi/aws/gcp/k8s/azure_kv/conjur/active_directory/server_inventory/certificate)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's Cloud IAM
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
/// gatewayCreateProducerArtifactory is a command that creates artifactory producer [Deprecated: Use dynamic-secret-create-artifactory command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerArtifactory {
/// Artifactory Admin Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_admin_name: Option<String>,
/// Artifactory Admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_admin_pwd: Option<String>,
/// Token Audience
pub artifactory_token_audience: String,
/// Token Scope
pub artifactory_token_scope: String,
/// Base URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub base_url: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerArtifactoryOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerAws is a command that creates aws producer [Deprecated: Use dynamic-secret-create-aws command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerAws {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_mode: Option<String>,
/// Admin credentials rotation interval (days)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_rotation_interval_days: Option<i64>,
/// Access Key ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_access_key_id: Option<String>,
/// Secret Access Key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_access_secret_key: Option<String>,
/// The AWS External ID associated with the AWS role (relevant only for assume_role mode)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_external_id: Option<String>,
/// AWS Role ARNs to be used in the Assume Role operation (relevant only for assume_role mode)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_role_arns: Option<String>,
/// AWS User console access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_console_access: Option<bool>,
/// AWS User groups
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_groups: Option<String>,
/// AWS User policies
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_policies: Option<String>,
/// Enable AWS User programmatic access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_programmatic_access: Option<bool>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Automatic admin credentials rotation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_admin_rotation: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// The AWS account id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_account_id: Option<String>,
/// The AWS native cli
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_native_cli: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// String of Key value session tags comma separated, relevant only for Assumed Role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub session_tags: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// String of transitive tag keys space separated, relevant only for Assumed Role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub transitive_tag_keys: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerAwsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerAzure is a command that creates azure dynamic secret [Deprecated: Use dynamic-secret-create-azure command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerAzure {
/// Azure App Object Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_obj_id: Option<String>,
/// Azure AD administrative unit (relevant only when azure-user-portal-access=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_administrative_unit: Option<String>,
/// Azure Client ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_id: Option<String>,
/// Azure Client Secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_secret: Option<String>,
/// Azure Tenant ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_tenant_id: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// FixedUserClaimKeyname
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Fixed user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_only: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic secret encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User Group Object Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_obj_id: Option<String>,
/// Azure User portal access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_portal_access: Option<bool>,
/// User Principal Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_principal_name: Option<String>,
/// Azure User programmatic access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_programmatic_access: Option<bool>,
/// User Role Template Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_role_template_id: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerAzureOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerCassandra is a command that creates a Cassandra producer [Deprecated: Use dynamic-secret-create-cassandra command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerCassandra {
/// Cassandra creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_creation_statements: Option<String>,
/// Cassandra hosts IP or addresses, comma separated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_hosts: Option<String>,
/// Cassandra superuser password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_password: Option<String>,
/// Cassandra port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_port: Option<String>,
/// Cassandra superuser username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_username: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL CA certificate in base64 encoding generated from a trusted Certificate Authority (CA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerCassandraOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerChef is a command that creates chef producer [Deprecated: Use dynamic-secret-create-chef command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerChef {
/// Organizations
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_orgs: Option<String>,
/// Server key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_key: Option<String>,
/// Server URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_url: Option<String>,
/// Server username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_username: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Skip SSL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub skip_ssl: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerChefOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerCustom is a command that creates a custom producer. [Deprecated: Use dynamic-secret-create-custom command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerCustom {
/// Define rotation interval in days
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_rotation_interval_days: Option<i64>,
/// URL of an endpoint that implements /sync/create method, for example
https://webhook.example.com/sync/create
pub create_sync_url: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Should admin credentials be rotated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_admin_rotation: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Secret payload to be sent with each create/revoke webhook request
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// URL of an endpoint that implements /sync/revoke method, for example
https://webhook.example.com/sync/revoke
pub revoke_sync_url: String,
/// URL of an endpoint that implements /sync/rotate method, for example
https://webhook.example.com/sync/rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_sync_url: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Maximum allowed time in seconds for the webhook to return the results
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout_sec: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerCustomOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerDockerhub is a command that creates a DOCKERHUB producer [Deprecated: Use dynamic-secret-create-dockerhub command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerDockerhub {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// DockerhubPassword is either the user's password access token to manage the repository
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_password: Option<String>,
/// Access token scopes list (comma-separated) to give the dynamic secret
valid options are in "repo:admin", "repo:write", "repo:read", "repo:public_read"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_token_scopes: Option<String>,
/// DockerhubUsername is the name of the user in dockerhub
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_username: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerDockerhubOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerEks is a command that creates eks producer [Deprecated: Use dynamic-secret-create-eks command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerEks {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Access Key ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_access_key_id: Option<String>,
/// IAM assume role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_assume_role: Option<String>,
/// EKS cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_ca_cert: Option<String>,
/// EKS cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_endpoint: Option<String>,
/// EKS cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_name: Option<String>,
/// Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_region: Option<String>,
/// Secret Access Key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_secret_access_key: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable Port forwarding while using CLI access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_port_forwading: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The K8s cluster endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_cluster_endpoint: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerEksOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerGcp is a command that creates a GCP producer [Deprecated: Use dynamic-secret-create-gcp command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerGcp {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_type: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (Relevant only when --access-type=external)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_cred_type: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// Service account key algorithm, e.g. KEY_ALG_RSA_1024 (Relevant only when --access-type=sa and --gcp-cred-type=key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key_algo: Option<String>,
/// GCP Project ID override for dynamic secret operations
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_project_id: Option<String>,
/// The email of the fixed service account to generate keys or tokens for (Relevant only when --access-type=sa and --service-account-type=fixed)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_sa_email: Option<String>,
/// Access token scopes list, e.g. scope1,scope2 (Relevant only when --access-type=sa; required when --gcp-cred-type=token)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_token_scopes: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Role binding definitions in JSON format (Relevant only when --access-type=sa and --service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_binding: Option<String>,
/// Comma-separated list of GCP roles to assign to the user (Relevant only when --access-type=external)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_names: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// The type of the GCP service account. Options [fixed, dynamic] (Relevant only when --access-type=sa)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_account_type: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerGcpOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerGithub is a command that creates github producer [Deprecated: Use dynamic-secret-create-github command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerGithub {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Github app id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_id: Option<i64>,
/// App private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_private_key: Option<String>,
/// Base URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_base_url: Option<String>,
/// GitHub application installation id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_id: Option<i64>,
/// Optional, mutually exclusive with installation id, GitHub organization name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_organization: Option<String>,
/// Optional, mutually exclusive with installation id, GitHub repository '<owner>/<repo-name>'
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_repository: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Optional - installation token's allowed permissions
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_permissions: Option<Vec<String>>,
/// Optional - installation token's allowed repositories
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_repositories: Option<Vec<String>>,
/// Token TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_ttl: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerGithubOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerGke is a command that creates gke producer [Deprecated: Use dynamic-secret-create-gke command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerGke {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// GKE Service Account key file path
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_account_key: Option<String>,
/// GKE cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_cert: Option<String>,
/// GKE cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_endpoint: Option<String>,
/// GKE cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_name: Option<String>,
/// GKE service account email
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_service_account_email: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable Port forwarding while using CLI access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_port_forwading: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The K8s cluster endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_cluster_endpoint: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerGkeOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerGoogleWorkspaceOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
}
/// gatewayCreateProducerHanaDb is a command that creates hanadb producer [Deprecated: Use dynamic-secret-create-hanadb command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerHanaDb {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// HanaDb Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hana_dbname: Option<String>,
/// HanaDb Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_create_statements: Option<String>,
/// HanaDb Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_host: Option<String>,
/// HanaDb Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_password: Option<String>,
/// HanaDb Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_port: Option<String>,
/// HanaDb Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_revocation_statements: Option<String>,
/// HanaDb Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_username: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerHanaDbOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerLdap is a command that creates ldap producer [Deprecated: Use dynamic-secret-create-ldap command]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GatewayCreateProducerLdap {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider_type: Option<String>,
/// Bind DN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn: Option<String>,
/// Bind DN Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn_password: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Externally provided username [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_username: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (relevant only for external-username=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Group DN which the temporary user should be added
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_dn: Option<String>,
/// Host provider type [explicit/target], Default Host provider is explicit, Relevant only for Secure Remote Access of ssh cert issuer, ldap rotated secret and ldap dynamic secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_provider: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// CA Certificate File Content
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_ca_cert: Option<String>,
/// LDAP Server URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url: Option<String>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// RD Gateway server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rd_gateway_server: Option<String>,
/// Required when the Dynamic Secret is used for a domain user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// A list of linked targets to be associated, Relevant only for Secure Remote Access for ssh cert issuer, ldap rotated secret and ldap dynamic secret, To specify multiple targets use argument multiple times
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Token expiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_expiration: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User Attribute
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_attribute: Option<String>,
/// User DN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_dn: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerLdapOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerMSSQL is a command that creates mssql producer [Deprecated: Use dynamic-secret-create-mssql command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerMssql {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// CSV of allowed DB names for runtime selection when getting the secret value.
Empty => use target DB only; "*" => any DB allowed; One or more names => user must choose from this list
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_allowed_db_names: Option<String>,
/// MSSQL Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_create_statements: Option<String>,
/// MSSQL Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_dbname: Option<String>,
/// MSSQL Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_host: Option<String>,
/// MSSQL Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_password: Option<String>,
/// MSSQL Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_port: Option<String>,
/// MSSQL Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_revocation_statements: Option<String>,
/// MSSQL Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_username: Option<String>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerMssqlOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerMongo is a command that creates either mongodb producer or mongodb atlas producer [Deprecated: Use dynamic-secret-create-mongodb command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerMongo {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// MongoDB Atlas private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_private_key: Option<String>,
/// MongoDB Atlas public key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_public_key: Option<String>,
/// MongoDB Atlas project ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_project_id: Option<String>,
/// MongoDB custom data
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_custom_data: Option<String>,
/// MongoDB server default authentication database
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_default_auth_db: Option<String>,
/// MongoDB server host and port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_host_port: Option<String>,
/// MongoDB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_name: Option<String>,
/// MongoDB server password. You will prompted to provide a password if it will not appear in CLI parameters
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_password: Option<String>,
/// MongoDB Roles
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_roles: Option<String>,
/// MongoDB Scopes (Atlas only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_scopes: Option<String>,
/// MongoDB server URI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_server_uri: Option<String>,
/// MongoDB server URI options
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_uri_options: Option<String>,
/// MongoDB server username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_username: Option<String>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Encrypt producer with following key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerMongoOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerMySQL is a command that creates mysql producer [Deprecated: Use dynamic-secret-create-mysql command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerMySql {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// (Optional) DB server certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) Server name for certificate verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// MySQL DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_dbname: Option<String>,
/// MySQL Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_host: Option<String>,
/// MySQL Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_password: Option<String>,
/// MySQL Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_port: Option<String>,
/// MySQL Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_revocation_statements: Option<String>,
/// MySQL Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_screation_statements: Option<String>,
/// MySQL Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_username: Option<String>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL connection certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerMySqlOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerNativeK8S is a command that creates k8s producer [Deprecated: Use dynamic-secret-create-k8s command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerNativeK8s {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Comma-separated list of allowed K8S namespaces for the generated ServiceAccount (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_allowed_namespaces: Option<String>,
/// K8S cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_ca_cert: Option<String>,
/// K8S cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_endpoint: Option<String>,
/// K8S cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_name: Option<String>,
/// K8S cluster Bearer token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_token: Option<String>,
/// K8S Namespace where the ServiceAccount exists.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_namespace: Option<String>,
/// The pre-existing Role or ClusterRole name to bind the generated ServiceAccount to (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_predefined_role_name: Option<String>,
/// Specifies the type of the pre-existing K8S role [Role, ClusterRole] (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_predefined_role_type: Option<String>,
/// Content of the yaml in a Base64 format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_rolebinding_yaml_data: Option<String>,
/// Path to yaml file that contains definitions of K8S role and role binding (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_rolebinding_yaml_def: Option<String>,
/// K8S ServiceAccount to extract token from.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_service_account: Option<String>,
/// K8S ServiceAccount type [fixed, dynamic].
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_service_account_type: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable Port forwarding while using CLI access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_port_forwading: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The K8s cluster endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_cluster_endpoint: Option<String>,
/// The K8s dashboard url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_dashboard_url: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_service_account: Option<bool>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerNativeK8sOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerOracleDb is a command that creates oracle db producer [Deprecated: Use dynamic-secret-create-oracledb command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerOracleDb {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// (Optional) DB server certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) Server name for certificate verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Oracle Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_host: Option<String>,
/// Oracle Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_password: Option<String>,
/// Oracle Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_port: Option<String>,
/// Oracle Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_revocation_statements: Option<String>,
/// Oracle Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_screation_statements: Option<String>,
/// Oracle DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_service_name: Option<String>,
/// Oracle Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_username: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerOracleDbOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerPing is a command that creates ping producer [Deprecated: Use dynamic-secret-create-ping command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerPing {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Ping Federate administrative port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_administrative_port: Option<String>,
/// Set a specific Access Token Management (ATM) instance for the created OAuth Client by providing the ATM Id. If no explicit value is given, the default pingfederate server ATM will be set.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_atm_id: Option<String>,
/// Ping Federate authorization port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_authorization_port: Option<String>,
/// The subject DN of the client certificate. If no explicit value is given, the producer will create CA certificate and matched client certificate and return it as value. Used in conjunction with ping-issuer-dn (relevant for CLIENT_TLS_CERTIFICATE authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_cert_subject_dn: Option<String>,
/// OAuth Client Authentication Type [CLIENT_SECRET, PRIVATE_KEY_JWT, CLIENT_TLS_CERTIFICATE]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_client_authentication_type: Option<String>,
/// Determines whether PingFederate requires a unique signed JWT from the client for each action (relevant for PRIVATE_KEY_JWT authentication method) [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_enforce_replay_prevention: Option<String>,
/// List of OAuth client grant types [IMPLICIT, AUTHORIZATION_CODE, CLIENT_CREDENTIALS, TOKEN_EXCHANGE, REFRESH_TOKEN, ASSERTION_GRANTS, PASSWORD, RESOURCE_OWNER_CREDENTIALS]. If no explicit value is given, AUTHORIZATION_CODE will be selected as default.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_grant_types: Option<Vec<String>>,
/// Issuer DN of trusted CA certificate that imported into Ping Federate server. You may select \"Trust Any\" to trust all the existing issuers in Ping Federate server. Used in conjunction with ping-cert-subject-dn (relevant for CLIENT_TLS_CERTIFICATE authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_issuer_dn: Option<String>,
/// Base64-encoded JSON Web Key Set (JWKS). If no explicit value is given, the producer will create JWKs and matched signed JWT (Sign Algo: RS256) and return it as value (relevant for PRIVATE_KEY_JWT authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_jwks: Option<String>,
/// The URL of the JSON Web Key Set (JWKS). If no explicit value is given, the producer will create JWKs and matched signed JWT and return it as value (relevant for PRIVATE_KEY_JWT authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_jwks_url: Option<String>,
/// Ping Federate privileged user password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_password: Option<String>,
/// Ping Federate privileged user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_privileged_user: Option<String>,
/// List of URIs to which the OAuth authorization server may redirect the resource owner's user agent after authorization is obtained. At least one redirection URI is required for the AUTHORIZATION_CODE and IMPLICIT grant types.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_redirect_uris: Option<Vec<String>>,
/// Limit the OAuth client to specific scopes list
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_restricted_scopes: Option<Vec<String>>,
/// The signing algorithm that the client must use to sign its request objects [RS256,RS384,RS512,ES256,ES384,ES512,PS256,PS384,PS512] If no explicit value is given, the client can use any of the supported signing algorithms (relevant for PRIVATE_KEY_JWT authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_signing_algo: Option<String>,
/// Ping URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_url: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The time from dynamic secret creation to expiration.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerPingOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerPostgreSQL is a command that creates postgresql producer [Deprecated: Use dynamic-secret-create-postgresql command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerPostgreSql {
/// PostgreSQL Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_statements: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// PostgreSQL DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_db_name: Option<String>,
/// PostgreSQL Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_host: Option<String>,
/// PostgreSQL Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_password: Option<String>,
/// PostgreSQL Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_port: Option<String>,
/// PostgreSQL Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_username: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key: Option<String>,
/// PostgreSQL Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revocation_statement: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerPostgreSqlOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerRabbitMQ is a command that creates rabbitmq producer [Deprecated: Use dynamic-secret-create-rabbitmq command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerRabbitMq {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// RabbitMQ Admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_admin_pwd: Option<String>,
/// RabbitMQ Admin User
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_admin_user: Option<String>,
/// Server URI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_uri: Option<String>,
/// User configuration permission
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_conf_permission: Option<String>,
/// User read permission
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_read_permission: Option<String>,
/// User Tags
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_tags: Option<String>,
/// User Virtual Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_vhost: Option<String>,
/// User write permission
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_write_permission: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerRabbitMqOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerRdp is a command that creates rdp producer [Deprecated: Use dynamic-secret-create-rdp command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerRdp {
/// AllowUserExtendSession
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_user_extend_session: Option<i64>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (relevant only for fixed-user-only=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Allow access using externally (IdP) provided username [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_only: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// RDP Admin Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_admin_name: Option<String>,
/// RDP Admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_admin_pwd: Option<String>,
/// Hostname
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_host_name: Option<String>,
/// Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_host_port: Option<String>,
/// Groups
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_user_groups: Option<String>,
/// Allow providing external user for a domain users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_external_user: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// RD Gateway server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rd_gateway_server: Option<String>,
/// Required when the Dynamic Secret is used for a domain user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Override the RDP Domain username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// WarnBeforeUserExpiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub warn_user_before_expiration: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerRdpOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerRedis is a command that creates Redis producer [Deprecated: Use dynamic-secret-create-redis command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerRedis {
/// A JSON array list of redis ACL rules to attach to the created user. For available rules see the ACL CAT command https://redis.io/commands/acl-cat
By default the user will have permissions to read all keys '["~*", "+@read"]'
#[serde(default, skip_serializing_if = "Option::is_none")]
pub acl_rules: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Redis Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Redis Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Redis Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL CA certificate in base64 encoding generated from a trusted Certificate Authority (CA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// Redis Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerRedisOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerRedshift is a command that creates redshift producer [Deprecated: Use dynamic-secret-create-redshift command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerRedshift {
/// Redshift Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_statements: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key: Option<String>,
/// Redshift DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_db_name: Option<String>,
/// Redshift Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_host: Option<String>,
/// Redshift Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_password: Option<String>,
/// Redshift Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_port: Option<String>,
/// Redshift Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_username: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerRedshiftOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// GatewayCreateProducerSnowflakeCmd is a command that creates a Snowflake producer [Deprecated: Use dynamic-secret-create-snowflake command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerSnowflake {
/// Account name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account: Option<String>,
/// Database Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_password: Option<String>,
/// Database Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_username: Option<String>,
/// The authentication mode for the temporary user [password/key]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_mode: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Database name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_algo: Option<String>,
/// Dynamic secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// RSA Private key (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
/// The Private key passphrase
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_passphrase: Option<String>,
/// User role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// Warehouse name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub warehouse: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerSnowflakeOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayCreateProducerVenafi is a command that creates a Venafi
dynamic secret producer to dynamically create certificates generated by Venafi or have
Akeyless generated certificates using PKI be monitored by Venafi [Deprecated: Use dynamic-secret-create-venafi command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerVenafi {
/// Admin credentials rotation interval (days)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_rotation_interval_days: Option<i64>,
/// Allow subdomains
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_subdomains: Option<bool>,
/// Allowed domains
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_domains: Option<Vec<String>>,
/// Auto generated folder
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_generated_folder: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Automatic admin credentials rotation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_admin_rotation: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Root first in chain
#[serde(default, skip_serializing_if = "Option::is_none")]
pub root_first_in_chain: Option<bool>,
/// Use Akeyless PKI issuer or Venafi issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sign_using_akeyless_pki: Option<bool>,
/// Signer key name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signer_key_name: Option<String>,
/// Store private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub store_private_key: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL in time.Duration format (2160h / 129600m / etc...). When using sign-using-akeyless-pki certificates created will have this validity period, otherwise the user-ttl is taken from the Validity Period field of the Zone's' Issuing Template. When using cert-manager it is advised to have a TTL of above 60 days (1440h). For more information - https://cert-manager.io/docs/usage/certificate/
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// Venafi Access Token to use to access the TPP environment (Relevant when using TPP)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_access_token: Option<String>,
/// Venafi API key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_api_key: Option<String>,
/// Venafi Baseurl
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_baseurl: Option<String>,
/// Venafi Client ID that was used when the access token was generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_client_id: Option<String>,
/// Venafi Refresh Token to use when the Access Token is expired (Relevant when using TPP)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_refresh_token: Option<String>,
/// Venafi using TPP
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_use_tpp: Option<bool>,
/// Venafi Zone
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_zone: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayCreateProducerVenafiOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayDeleteAllowedAccess is a command that deletes allowed access from gateway
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayDeleteAllowedAccess {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Allowed access name to delete
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayDeleteAllowedAccessOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_access_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayDeleteK8SAuth is a command that deletes k8s auth config
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayDeleteK8sAuthConfig {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// K8S Auth config name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayDeleteK8sAuthConfigOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parts_change: Option<ConfigChange>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total_hash: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayDeleteMigration is a command that delete migration
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayDeleteMigration {
/// Migration ID
pub id: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayDeleteProducer is a command that deletes producer [Deprecated: Use dynamic-secret-delete command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayDeleteProducer {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayDeleteProducerOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayDownloadCustomerFragments is a command that downloads customer fragments
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayDownloadCustomerFragments {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayDownloadCustomerFragmentsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cf_json: Option<serde_json::Value>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayGetAllowedAccess is a command that gets allowed access from gateway
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetAllowedAccess {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Allowed access name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayGetCache is a command that get cache settings
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetCache {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayGetConfig is a command that returns gateway configuration
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetConfig {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayGetDefaults is a command that get defaults settings
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetDefaults {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayGetK8SAuth is a command that gets k8s auth config
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetK8sAuthConfig {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// K8S Auth config name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayGetLdapAuth is a command that gets ldap auth config
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetLdapAuthConfig {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetLdapAuthConfigOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_anonymous_search: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_bind_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_bind_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_cert: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_enable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_group_attr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_group_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_group_filter: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_private_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_token_expiration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_user_attr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_user_dn: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayGetLogForwarding is a command to get log forwarding configuration
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetLogForwarding {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayGetMigration is a command that get migration
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetMigration {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Migration name to display
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayGetProducer is a command that returns producer [Deprecated: Use dynamic-secret-get command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetProducer {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayGetRemoteAccess is a command that returns remote access config
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetRemoteAccess {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayGetTmpUsers is a command that returns gateway configuration [Deprecated: Use dynamic-secret-tmp-creds-get command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayGetTmpUsers {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayListCustomerFragments is a command that list customer fragments
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayListCustomerFragments {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayListMigration is a command that list migration
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayListMigration {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayListProducers is a command that returns a list of producers [Deprecated: Use dynamic-secret-list command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayListProducers {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayListRotatedSecrets is a command that returns a list of rotated secrets. [Deprecated: Use rotated-secret list command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayListRotatedSecrets {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayMigratePersonalItems is a command that migrate personal items from external vault
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayMigratePersonalItems {
/// 1Password user email to connect to the API
#[serde(default, skip_serializing_if = "Option::is_none")]
pub 1password_email: Option<String>,
/// 1Password user password to connect to the API
#[serde(default, skip_serializing_if = "Option::is_none")]
pub 1password_password: Option<String>,
/// 1Password user secret key to connect to the API
#[serde(default, skip_serializing_if = "Option::is_none")]
pub 1password_secret_key: Option<String>,
/// 1Password api container url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub 1password_url: Option<String>,
/// 1Password list of vault to get the items from
#[serde(default, skip_serializing_if = "Option::is_none")]
pub 1password_vaults: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
/// Target location in your Akeyless personal folder for migrated secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_location: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Migration type for now only 1password.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayMigratePersonalItemsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_items: Option<MigrationItems>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayMigrationGetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<MigrationsConfigPart>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayMigrationListOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<MigrationsConfigPart>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GatewayPartialUpdateK8sAuthConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_default_identity_bool: Option<bool>,
/// The access ID of the Kubernetes auth method
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
/// Disable issuer validation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disable_issuer_validation: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// K8S auth type [token/certificate]. (relevant for "native_k8s" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auth_type: Option<String>,
/// The CA Certificate (base64 encoded) to use to call into the kubernetes API server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_ca_cert: Option<String>,
/// Content of the k8 client certificate (PEM format) in a Base64 format (relevant for "native_k8s" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_certificate: Option<String>,
/// Content of the k8 client private key (PEM format) in a Base64 format (relevant for "native_k8s" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_key: Option<String>,
/// The URL of the kubernetes API server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_host: Option<String>,
/// The Kubernetes JWT issuer name. K8SIssuer is the claim that specifies who issued the Kubernetes token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_issuer: Option<String>,
/// K8S Auth config name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// K8S Auth config new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The api key used to access the TokenReview API to validate other JWTs (relevant for "rancher" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rancher_api_key: Option<String>,
/// The cluster id as define in rancher (relevant for "rancher" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rancher_cluster_id: Option<String>,
/// The private key (base64 encoded) associated with the public key defined in the Kubernetes auth
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signing_key: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Time in seconds of expiration of the Akeyless Kube Auth Method token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_exp: Option<i64>,
/// A Kubernetes service account JWT used to access the TokenReview API to validate other JWTs (relevant for "native_k8s" only).
If not set, the JWT submitted in the authentication process will be used to access the Kubernetes TokenReview API.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_reviewer_jwt: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_service_account: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayPartialUpdateK8sAuthConfigOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parts_change: Option<ConfigChange>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total_hash: Option<String>,
}
/// gatewayRevokeTmpUsers is a command that revoke producer tmp user [Deprecated: Use dynamic-secret-tmp-creds-delete command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayRevokeTmpUsers {
/// Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Revoke All Temp Creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revoke_all: Option<bool>,
/// Soft Delete
#[serde(default, skip_serializing_if = "Option::is_none")]
pub soft_delete: Option<bool>,
/// Tmp Creds ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tmp_creds_id: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayStartProducer is a command that starts producer [Deprecated: Use set-item-state command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayStartProducer {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayStartProducerOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayStatusMigration is a command that get migration status
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayStatusMigration {
/// Migration ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Migration name to display
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayStopProducer is a command that stops producer [Deprecated: Use set-item-state command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayStopProducer {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayStopProducerOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewaySyncMigration is a command that sync migration
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewaySyncMigration {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Migration name
pub name: String,
/// true, for starting synchronization, false for stopping
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start_sync: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayUpdateAllowedAccess is a command that update allowed access in Gator
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GatewayUpdateAllowedAccess {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims_case_insensitive: Option<bool>,
/// Access ID
The access id to be attached to this allowed access. Auth method with this access id should already exist.
pub access_id: String,
/// Treat sub claims as case-sensitive [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub case_sensitive: Option<String>,
/// Allowed access description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Allowed access name
pub name: String,
/// New allowed access name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Permissions
Comma-seperated list of permissions for this allowed access.
Available permissions: [defaults,targets,classic_keys,automatic_migration,ldap_auth,dynamic_secret,k8s_auth,log_forwarding,zero_knowledge_encryption,rotated_secret,caching,event_forwarding,admin,kmip,general,rotate_secret_value]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub permissions: Option<String>,
/// Sub claims
key/val of sub claims, e.g group=admins,developers
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims: Option<serde_json::Value>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayUpdateCache is a command that updates cache settings
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateCache {
/// Secure backup interval in minutes. To ensure service continuity in case of power cycle and network outage secrets will be backed up periodically per backup interval
#[serde(default, skip_serializing_if = "Option::is_none")]
pub backup_interval: Option<String>,
/// Enable cache [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_cache: Option<String>,
/// Enable proactive caching [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_proactive: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// When using Cache or/and Proactive Cache, additional secrets will be fetched upon requesting a secret, based on the requestor's access policy. Define minimum fetching interval to avoid over fetching in a given time frame
#[serde(default, skip_serializing_if = "Option::is_none")]
pub minimum_fetch_interval: Option<String>,
/// Stale timeout in minutes, cache entries which are not accessed within timeout will be removed from cache
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stale_timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayUpdateDefaults is a command that updates defaults settings
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateDefaults {
/// Default Certificate access id for UI login
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_access_id: Option<String>,
/// Trigger an event when Gateway status is changed [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_on_status_change: Option<String>,
/// Hvp route version to use [1/2]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hvp_route_version: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the gateway default encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Default OIDC access id for UI login
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oidc_access_id: Option<String>,
/// Default SAML access id for UI login
#[serde(default, skip_serializing_if = "Option::is_none")]
pub saml_access_id: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayUpdateItem is a command that updates classic key
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateItem {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// API ID to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_id: Option<String>,
/// API key to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// ApplicationId (used in azure)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_id: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Secret payload to be sent with rotation request (relevant only for rotator-type=custom)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_payload: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// The email of the gcp service account to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_email: Option<String>,
/// The key id of the gcp service account to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_key_id: Option<String>,
/// Create a new access key without deleting the old key from AWS for backup (relevant only for AWS) [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. (relevant only for --type=rotated-secret). If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Item name
pub name: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_metadata: Option<String>,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_version: Option<bool>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected \"use-self-creds\" at rotator-creds-type, this username will try to rotate it's own password, if \"use-target-creds\" is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Rotation Hour
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotation credentials type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotator_creds_type: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Item type
pub r#type: String,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateItemOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateK8SAuth is a command that updates k8s auth config
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateK8sAuthConfig {
/// The access ID of the Kubernetes auth method
pub access_id: String,
/// Cluster access type. options: [native_k8s, rancher]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_api_type: Option<String>,
/// Disable issuer validation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disable_issuer_validation: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// K8S auth type [token/certificate]. (relevant for "native_k8s" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auth_type: Option<String>,
/// The CA Certificate (base64 encoded) to use to call into the kubernetes API server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_ca_cert: Option<String>,
/// Content of the k8 client certificate (PEM format) in a Base64 format (relevant for "native_k8s" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_certificate: Option<String>,
/// Content of the k8 client private key (PEM format) in a Base64 format (relevant for "native_k8s" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_key: Option<String>,
/// The URL of the kubernetes API server
pub k8s_host: String,
/// The Kubernetes JWT issuer name. K8SIssuer is the claim that specifies who issued the Kubernetes token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_issuer: Option<String>,
/// K8S Auth config name
pub name: String,
/// K8S Auth config new name
pub new_name: String,
/// The api key used to access the TokenReview API to validate other JWTs (relevant for "rancher" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rancher_api_key: Option<String>,
/// The cluster id as define in rancher (relevant for "rancher" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rancher_cluster_id: Option<String>,
/// The private key (base64 encoded) associated with the public key defined in the Kubernetes auth
pub signing_key: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Time in seconds of expiration of the Akeyless Kube Auth Method token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_exp: Option<i64>,
/// A Kubernetes service account JWT used to access the TokenReview API to validate other JWTs (relevant for "native_k8s" only).
If not set, the JWT submitted in the authentication process will be used to access the Kubernetes TokenReview API.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_reviewer_jwt: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_service_account: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateK8sAuthConfigOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parts_change: Option<ConfigChange>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total_hash: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateLogForwardingAwsS3 is a command that updates log forwarding config (aws-s3 target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLogForwardingAwsS3 {
/// AWS access id relevant for access_key auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
/// AWS access key relevant for access_key auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_key: Option<String>,
/// AWS auth type [access_key/cloud_id/assume_role]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
/// AWS S3 bucket name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bucket_name: Option<String>,
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// AWS S3 destination folder for logs
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_folder: Option<String>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// AWS region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// AWS role arn relevant for assume_role auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayUpdateLogForwardingAzureAnalytics is a command that updates log forwarding config (azure-analytics target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLogForwardingAzureAnalytics {
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Enable batch forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_batch: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Azure workspace id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub workspace_id: Option<String>,
/// Azure workspace key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub workspace_key: Option<String>,
}
/// gatewayUpdateLogForwardingDatadog is a command that updates log forwarding config (datadog target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLogForwardingDatadog {
/// Datadog api key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Datadog host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Datadog log service
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_service: Option<String>,
/// Datadog log source
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_source: Option<String>,
/// A comma-separated list of Datadog log tags formatted as "key:value" strings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_tags: Option<String>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayUpdateLogForwardingElasticsearch is a command that updates log forwarding config (elasticsearch target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLogForwardingElasticsearch {
/// Elasticsearch api key relevant only for api_key auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// Elasticsearch auth type [api_key/password]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
/// Elasticsearch cloud id relevant only for cloud server-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cloud_id: Option<String>,
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Enable tls
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_tls: Option<bool>,
/// Elasticsearch index
#[serde(default, skip_serializing_if = "Option::is_none")]
pub index: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Elasticsearch nodes relevant only for nodes server-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub nodes: Option<String>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Elasticsearch password relevant only for password auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Elasticsearch server type [cloud/nodes]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_type: Option<String>,
/// Elasticsearch tls certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls_certificate: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Elasticsearch user name relevant only for password auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
}
/// gatewayUpdateLogForwardingGoogleChronicle is a command that updates log forwarding config (google-chronicle target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLogForwardingGoogleChronicle {
/// Google chronicle customer id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_id: Option<String>,
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Google chronicle log type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_type: Option<String>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Google chronicle region [eu_multi_region/london/us_multi_region/singapore/tel_aviv]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayUpdateLogForwardingLogstash is a command that updates log forwarding config (logstash target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLogForwardingLogstash {
/// Logstash dns
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dns: Option<String>,
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Enable tls
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_tls: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Logstash protocol [tcp/udp]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Logstash tls certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls_certificate: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayUpdateLogForwardingLogzIo is a command that updates log forwarding config (logz-io target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLogForwardingLogzIo {
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Logz-io token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logz_io_token: Option<String>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// LogzIo protocol [tcp/https]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLogForwardingOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateLogForwardingSplunk is a command that updates log forwarding config (splunk target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLogForwardingSplunk {
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Enable batch forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_batch: Option<String>,
/// Enable tls
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_tls: Option<bool>,
/// Splunk index
#[serde(default, skip_serializing_if = "Option::is_none")]
pub index: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Splunk source
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
/// Splunk source type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source_type: Option<String>,
/// Splunk token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_token: Option<String>,
/// Splunk server URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_url: Option<String>,
/// Splunk tls certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls_certificate: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayUpdateLogForwardingStdout is a command that updates log forwarding config (stdout target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLogForwardingStdout {
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayUpdateLogForwardingSumologic is a command that updates log forwarding config (sumologic target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLogForwardingSumologic {
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Sumologic endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
/// Sumologic host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// A comma-separated list of Sumologic tags
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sumologic_tags: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayUpdateLogForwardingSyslog is a command that updates log forwarding config (syslog target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateLogForwardingSyslog {
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Enable tls relevant only for network type TCP
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_tls: Option<bool>,
/// Syslog formatter [text/cef]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub formatter: Option<String>,
/// Syslog host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Syslog network [tcp/udp]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub network: Option<String>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Syslog target tag
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_tag: Option<String>,
/// Syslog tls certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls_certificate: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayUpdateMigration is a command that update migration
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GatewayUpdateMigration {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_account_key_decoded: Option<String>,
/// Enable/Disable automatic/recurrent rotation for migrated secrets. Default is false: only manual rotation is allowed for migrated secrets. If set to true, this command should be combined with --ad-rotation-interval and --ad-rotation-hour parameters (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_auto_rotate: Option<String>,
/// How many days before the expiration of discovered certificates would you like to be notified (Relevant only for Active Directory migration with certificate discovery enabled)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_cert_expiration_event_in: Option<Vec<String>>,
/// Path location template for migrating certificates e.g.: /Certificates/{{COMMON_NAME}} (Relevant only for Active Directory migration with certificate discovery enabled)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_certificates_path_template: Option<String>,
/// Distinguished Name of Computer objects (servers) to search in Active Directory e.g.: CN=Computers,DC=example,DC=com (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_computer_base_dn: Option<String>,
/// Enable/Disable discovery of IIS application from each domain server as part of the SSH/Windows Rotated Secrets. Default is false. (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_discover_iis_app: Option<String>,
/// Enable/Disable discovery of Windows services from each domain server as part of the SSH/Windows Rotated Secrets. Default is false. (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_discover_services: Option<String>,
/// Set migration discovery types (domain-users, computers, local-users). (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_discovery_types: Option<Vec<String>>,
/// Active Directory Domain Name (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_domain_name: Option<String>,
/// Path location template for migrating domain users as Rotated Secrets e.g.: .../DomainUsers/{{USERNAME}} (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_domain_users_path_template: Option<String>,
/// Comma-separated list of Local Users which should not be migrated (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_local_users_ignore: Option<String>,
/// Path location template for migrating domain users as Rotated Secrets e.g.: .../LocalUsers/{{COMPUTER_NAME}}/{{USERNAME}} (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_local_users_path_template: Option<String>,
/// Filter by Operating System to run the migration, can be used with wildcards, e.g. SRV20* (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_os_filter: Option<String>,
/// The hour of the scheduled rotation in UTC (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_rotation_hour: Option<i64>,
/// The number of days to wait between every automatic rotation [1-365] (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_rotation_interval: Option<i64>,
/// Enable/Disable RDP Secure Remote Access for the migrated local users rotated secrets. Default is false: rotated secrets will not be created with SRA (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_sra_enable_rdp: Option<String>,
/// Set the SSH Port for further connection to the domain servers. Default is port 22 (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_ssh_port: Option<String>,
/// Relevant only for ad-discovery-types=computers. For linked, all computers will be migrated into a linked target(s). if set with regular, the migration will create a target for each computer.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_target_format: Option<String>,
/// Active Directory LDAP Target Name. Server type should be Active Directory (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_target_name: Option<String>,
/// Path location template for migrating domain servers as SSH/Windows Targets e.g.: .../Servers/{{COMPUTER_NAME}} (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_targets_path_template: Option<String>,
/// Set the target type of the domain servers [ssh/windows](Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_targets_type: Option<String>,
/// Distinguished Name of User objects to search in Active Directory, e.g.: CN=Users,DC=example,DC=com (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_user_base_dn: Option<String>,
/// Comma-separated list of domain groups from which privileged domain users will be migrated. If empty, migrate all users based on the --ad-user-base-dn (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_user_groups: Option<String>,
/// Use WinRM over HTTP, by default runs over HTTPS
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_winrm_over_http: Option<String>,
/// Set the WinRM Port for further connection to the domain servers. Default is 5986 (Relevant only for Active Directory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_winrm_port: Option<String>,
/// Enable/Disable discovery of local users from each domain server and migrate them as SSH/Windows Rotated Secrets. Default is false: only domain users will be migrated. Discovery of local users might require further installation of SSH on the servers, based on the supplied computer base DN. This will be implemented automatically as part of the migration process (Relevant only for Active Directory migration)
Deprecated: use AdDiscoverTypes
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ad_discover_local_users: Option<String>,
/// Enable AI-assisted certificate discovery (only when AI Insight is enabled on the Gateway)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ai_certificate_discovery: Option<String>,
/// AWS Secret Access Key (relevant only for AWS migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_key: Option<String>,
/// AWS Access Key ID with sufficient permissions to get all secrets, e.g. 'arn:aws:secretsmanager:[Region]:[AccountId]:secret:[/path/to/secrets/*]' (relevant only for AWS migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_key_id: Option<String>,
/// AWS region of the required Secrets Manager (relevant only for AWS migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_region: Option<String>,
/// Azure Key Vault Access client ID, should be Azure AD App with a service principal (relevant only for Azure Key Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_id: Option<String>,
/// Azure Key Vault Name (relevant only for Azure Key Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_kv_name: Option<String>,
/// Azure Key Vault secret (relevant only for Azure Key Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_secret: Option<String>,
/// Azure Key Vault Access tenant ID (relevant only for Azure Key Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_tenant_id: Option<String>,
/// Conjur account name set on your Conjur server (relevant only for Conjur migration).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conjur_account: Option<String>,
/// Conjur API Key for the specified user (relevant only for Conjur migration).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conjur_api_key: Option<String>,
/// Conjur server base URL (relevant only for Conjur migration).
If conjur-url is HTTPS and Conjur uses a private CA/self-signed certificate,
make the CA bundle available on the Gateway and set CONJUR_SSL_CERT_PATH to its path.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conjur_url: Option<String>,
/// Conjur username used to authenticate (relevant only for Conjur migration).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conjur_username: Option<String>,
/// How many days before the expiration of the certificate would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// 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)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// GCP Project ID (cross-project override)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_project_id: Option<String>,
/// Import secret key as json value or independent secrets (relevant only for HasiCorp Vault migration) [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_json: Option<String>,
/// HashiCorp Vault Namespaces is a comma-separated list of namespaces which need to be imported into Akeyless Vault. For every provided namespace, all its child namespaces are imported as well, e.g. nmsp/subnmsp1/subnmsp2,nmsp/anothernmsp. By default, import all namespaces (relevant only for HasiCorp Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_ns: Option<Vec<String>>,
/// HashiCorp Vault access token with sufficient permissions to preform list & read operations on secrets objects (relevant only for HasiCorp Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_token: Option<String>,
/// HashiCorp Vault API URL, e.g. https://vault-mgr01:8200 (relevant only for HasiCorp Vault migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_url: Option<String>,
/// A comma separated list of IPs, CIDR ranges, or DNS names to scan
pub hosts: String,
/// Migration ID (Can be retrieved with gateway-list-migration command)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// For Certificate Authentication method
K8s Cluster CA certificate (relevant only for K8s migration with Certificate Authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_ca_certificate: Option<Vec<i64>>,
/// K8s Client certificate with sufficient permission to list and get secrets in the namespace(s) you selected (relevant only for K8s migration with Certificate Authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_certificate: Option<Vec<i64>>,
/// K8s Client key (relevant only for K8s migration with Certificate Authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_key: Option<Vec<i64>>,
/// K8s Namespace, Use this field to import secrets from a particular namespace only. By default, the secrets are imported from all namespaces (relevant only for K8s migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_namespace: Option<String>,
/// K8s Client password (relevant only for K8s migration with Password Authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_password: Option<String>,
/// K8s Skip Control Plane Secrets, This option allows to avoid importing secrets from system namespaces (relevant only for K8s migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_skip_system: Option<bool>,
/// For Token Authentication method
K8s Bearer Token with sufficient permission to list and get secrets in the namespace(s) you selected (relevant only for K8s migration with Token Authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_token: Option<String>,
/// K8s API Server URL, e.g. https://k8s-api.mycompany.com:6443 (relevant only for K8s migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_url: Option<String>,
/// For Password Authentication method
K8s Client username with sufficient permission to list and get secrets in the namespace(s) you selected (relevant only for K8s migration with Password Authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_username: Option<String>,
/// Migration name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// New migration name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// A comma separated list of port ranges
Examples: "80,443" or "80,443,8080-8090" or "443"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port_ranges: Option<String>,
/// The name of the key that protects the classic key value (if empty, the account default key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
/// Enable/Disable automatic/recurrent rotation for migrated secrets. Default is false: only manual rotation is allowed for migrated secrets. If set to true, this command should be combined with --si-rotation-interval and --si-rotation-hour parameters (Relevant only for Server Inventory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub si_auto_rotate: Option<String>,
/// The hour of the scheduled rotation in UTC (Relevant only for Server Inventory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub si_rotation_hour: Option<i64>,
/// The number of days to wait between every automatic rotation [1-365] (Relevant only for Server Inventory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub si_rotation_interval: Option<i64>,
/// Enable/Disable RDP Secure Remote Access for the migrated local users rotated secrets. Default is false: rotated secrets will not be created with SRA (Relevant only for Server Inventory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub si_sra_enable_rdp: Option<String>,
/// SSH, Windows or Linked Target Name. (Relevant only for Server Inventory migration)
pub si_target_name: String,
/// Comma-separated list of groups to migrate users from. If empty, all users from all groups will be migrated (Relevant only for Server Inventory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub si_user_groups: Option<String>,
/// Comma-separated list of Local Users which should not be migrated (Relevant only for Server Inventory migration)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub si_users_ignore: Option<String>,
/// Path location template for migrating users as Rotated Secrets e.g.: .../Users/{{COMPUTER_NAME}}/{{USERNAME}} (Relevant only for Server Inventory migration)
pub si_users_path_template: String,
/// Target location in Akeyless for imported secrets
pub target_location: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's Cloud IAM
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerArtifactory is a command that updates artifactory producer [Deprecated: Use dynamic-secret-update-artifactory command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerArtifactory {
/// Artifactory Admin Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_admin_name: Option<String>,
/// Artifactory Admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifactory_admin_pwd: Option<String>,
/// Token Audience
pub artifactory_token_audience: String,
/// Token Scope
pub artifactory_token_scope: String,
/// Base URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub base_url: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerArtifactoryOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerAws is a command that Updates aws producer [Deprecated: Use dynamic-secret-update-aws command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerAws {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_mode: Option<String>,
/// Admin credentials rotation interval (days)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_rotation_interval_days: Option<i64>,
/// Access Key ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_access_key_id: Option<String>,
/// Secret Access Key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_access_secret_key: Option<String>,
/// The AWS External ID associated with the AWS role (relevant only for assume_role mode)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_external_id: Option<String>,
/// AWS Role ARNs to be used in the Assume Role operation (relevant only for assume_role mode)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_role_arns: Option<String>,
/// AWS User console access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_console_access: Option<bool>,
/// AWS User groups
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_groups: Option<String>,
/// AWS User policies
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_policies: Option<String>,
/// Enable AWS User programmatic access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_user_programmatic_access: Option<bool>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Automatic admin credentials rotation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_admin_rotation: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// The AWS account id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_account_id: Option<String>,
/// The AWS native cli
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_native_cli: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// String of Key value session tags comma separated, relevant only for Assumed Role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub session_tags: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// String of transitive tag keys space separated, relevant only for Assumed Role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub transitive_tag_keys: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerAwsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerAzure is a command that updates azure producer [Deprecated: Use dynamic-secret-update-azure command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerAzure {
/// Azure App Object Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_obj_id: Option<String>,
/// Azure AD administrative unit (relevant only when azure-user-portal-access=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_administrative_unit: Option<String>,
/// Azure Client ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_id: Option<String>,
/// Azure Client Secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_secret: Option<String>,
/// Azure Tenant ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_tenant_id: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// FixedUserClaimKeyname
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Fixed user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_only: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic secret encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User Group Object Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_obj_id: Option<String>,
/// Azure User portal access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_portal_access: Option<bool>,
/// User Principal Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_principal_name: Option<String>,
/// Azure User programmatic access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_programmatic_access: Option<bool>,
/// User Role Template Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_role_template_id: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerAzureOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerCassandra is a command that updates a Cassandra producer [Deprecated: Use dynamic-secret-update-cassandra command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerCassandra {
/// Cassandra creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_creation_statements: Option<String>,
/// Cassandra hosts IP or addresses, comma separated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_hosts: Option<String>,
/// Cassandra superuser password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_password: Option<String>,
/// Cassandra port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_port: Option<String>,
/// Cassandra superuser username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cassandra_username: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL CA certificate in base64 encoding generated from a trusted Certificate Authority (CA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerCassandraOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerChef is a command that updates chef producer [Deprecated: Use dynamic-secret-update-chef command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerChef {
/// Organizations
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_orgs: Option<String>,
/// Server key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_key: Option<String>,
/// Server URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_url: Option<String>,
/// Server username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chef_server_username: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Skip SSL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub skip_ssl: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerChefOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerCustom is a command that updates a custom producer. [Deprecated: Use dynamic-secret-update-custom command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerCustom {
/// Define rotation interval in days
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_rotation_interval_days: Option<i64>,
/// URL of an endpoint that implements /sync/create method, for example
https://webhook.example.com/sync/create
pub create_sync_url: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Should admin credentials be rotated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_admin_rotation: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Secret payload to be sent with each create/revoke webhook request
#[serde(default, skip_serializing_if = "Option::is_none")]
pub payload: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// URL of an endpoint that implements /sync/revoke method, for example
https://webhook.example.com/sync/revoke
pub revoke_sync_url: String,
/// URL of an endpoint that implements /sync/rotate method, for example
https://webhook.example.com/sync/rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_sync_url: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Maximum allowed time in seconds for the webhook to return the results
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout_sec: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerCustomOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerDockerhub is a command that updates a DOCKERHUB producer [Deprecated: Use dynamic-secret-update-dockerhub command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerDockerhub {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// DockerhubPassword is either the user's password access token to manage the repository
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_password: Option<String>,
/// Access token scopes list (comma-separated) to give the dynamic secret
valid options are in "repo:admin", "repo:write", "repo:read", "repo:public_read"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_token_scopes: Option<String>,
/// DockerhubUsername is the name of the user in dockerhub
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_username: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerDockerhubOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerEks is a command that updates eks producer [Deprecated: Use dynamic-secret-update-eks command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerEks {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Access Key ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_access_key_id: Option<String>,
/// IAM assume role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_assume_role: Option<String>,
/// EKS cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_ca_cert: Option<String>,
/// EKS cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_endpoint: Option<String>,
/// EKS cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_cluster_name: Option<String>,
/// Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_region: Option<String>,
/// Secret Access Key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_secret_access_key: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable Port forwarding while using CLI access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_port_forwading: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The K8s cluster endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_cluster_endpoint: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerEksOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerGcp is a command that updates a GCP producer [Deprecated: Use dynamic-secret-update-gcp command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerGcp {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_type: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (Relevant only when --access-type=external)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_cred_type: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// Service account key algorithm, e.g. KEY_ALG_RSA_1024 (Relevant only when --access-type=sa and --gcp-cred-type=key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key_algo: Option<String>,
/// GCP Project ID override for dynamic secret operations
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_project_id: Option<String>,
/// The email of the fixed service account to generate keys or tokens for (Relevant only when --access-type=sa and --service-account-type=fixed)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_sa_email: Option<String>,
/// Access token scopes list, e.g. scope1,scope2 (Relevant only when --access-type=sa; required when --gcp-cred-type=token)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_token_scopes: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Role binding definitions in JSON format (Relevant only when --access-type=sa and --service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_binding: Option<String>,
/// Comma-separated list of GCP roles to assign to the user (Relevant only when --access-type=external)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_names: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// The type of the GCP service account. Options [fixed, dynamic] (Relevant only when --access-type=sa)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_account_type: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerGcpOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerGithub is a command that updates github producer [Deprecated: Use dynamic-secret-update-github command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerGithub {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Github app id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_id: Option<i64>,
/// App private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_private_key: Option<String>,
/// Base URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_base_url: Option<String>,
/// GitHub application installation id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_id: Option<i64>,
/// Optional, mutually exclusive with installation id, GitHub organization name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_organization: Option<String>,
/// Optional, mutually exclusive with installation id, GitHub repository '<owner>/<repo-name>'
#[serde(default, skip_serializing_if = "Option::is_none")]
pub installation_repository: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Optional - installation token's allowed permissions
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_permissions: Option<Vec<String>>,
/// Optional - installation token's allowed repositories
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_repositories: Option<Vec<String>>,
/// Token TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_ttl: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerGithubOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerGke is a command that updates gke producer [Deprecated: Use dynamic-secret-update-gke command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerGke {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// GKE Service Account key file path
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_account_key: Option<String>,
/// GKE cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_cert: Option<String>,
/// GKE cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_endpoint: Option<String>,
/// GKE cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_name: Option<String>,
/// GKE service account email
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_service_account_email: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable Port forwarding while using CLI access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_port_forwading: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The K8s cluster endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_cluster_endpoint: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerGkeOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerHanaDb is a command that updates hanadb producer [Deprecated: Use dynamic-secret-update-hanadb command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerHanaDb {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// HanaDb Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hana_dbname: Option<String>,
/// HanaDb Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_create_statements: Option<String>,
/// HanaDb Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_host: Option<String>,
/// HanaDb Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_password: Option<String>,
/// HanaDb Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_port: Option<String>,
/// HanaDb Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_revocation_statements: Option<String>,
/// HanaDb Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hanadb_username: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerHanaDbOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerLdap is a command that updates ldap producer [Deprecated: Use dynamic-secret-update-ldap command]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GatewayUpdateProducerLdap {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider_type: Option<String>,
/// Bind DN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn: Option<String>,
/// Bind DN Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn_password: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Externally provided username [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_username: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (relevant only for external-username=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Group DN which the temporary user should be added
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_dn: Option<String>,
/// Host provider type [explicit/target], Default Host provider is explicit, Relevant only for Secure Remote Access of ssh cert issuer, ldap rotated secret and ldap dynamic secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_provider: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// CA Certificate File Content
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_ca_cert: Option<String>,
/// LDAP Server URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// RD Gateway server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rd_gateway_server: Option<String>,
/// Required when the Dynamic Secret is used for a domain user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// A list of linked targets to be associated, Relevant only for Secure Remote Access for ssh cert issuer, ldap rotated secret and ldap dynamic secret, To specify multiple targets use argument multiple times
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Token expiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_expiration: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User Attribute
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_attribute: Option<String>,
/// User DN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_dn: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerLdapOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerMSSQL is a command that updates mssql producer [Deprecated: Use dynamic-secret-update-mssql command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerMssql {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// CSV of allowed DB names for runtime selection when getting the secret value.
Empty => use target DB only; "*" => any DB allowed; One or more names => user must choose from this list
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_allowed_db_names: Option<String>,
/// MSSQL Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_create_statements: Option<String>,
/// MSSQL Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_dbname: Option<String>,
/// MSSQL Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_host: Option<String>,
/// MSSQL Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_password: Option<String>,
/// MSSQL Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_port: Option<String>,
/// MSSQL Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_revocation_statements: Option<String>,
/// MSSQL Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mssql_username: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerMssqlOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerMongo is a command that updates either mongodb producer or mongodb atlas producer [Deprecated: Use dynamic-secret-update-mongodb command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerMongo {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// MongoDB Atlas private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_private_key: Option<String>,
/// MongoDB Atlas public key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_public_key: Option<String>,
/// MongoDB Atlas project ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_project_id: Option<String>,
/// MongoDB custom data
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_custom_data: Option<String>,
/// MongoDB server default authentication database
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_default_auth_db: Option<String>,
/// MongoDB server host and port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_host_port: Option<String>,
/// MongoDB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_name: Option<String>,
/// MongoDB server password. You will prompted to provide a password if it will not appear in CLI parameters
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_password: Option<String>,
/// MongoDB Roles
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_roles: Option<String>,
/// MongoDB Scopes (Atlas only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_scopes: Option<String>,
/// MongoDB server URI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_server_uri: Option<String>,
/// MongoDB server URI options
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_uri_options: Option<String>,
/// MongoDB server username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_username: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Encrypt producer with following key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerMongoOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerMySQL is a command that updates mysql producer [Deprecated: Use dynamic-secret-update-mysql command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerMySql {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// (Optional) DB server certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) Server name for certificate verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// MySQL DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_dbname: Option<String>,
/// MySQL Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_host: Option<String>,
/// MySQL Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_password: Option<String>,
/// MySQL Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_port: Option<String>,
/// MySQL Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_revocation_statements: Option<String>,
/// MySQL Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_screation_statements: Option<String>,
/// MySQL Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mysql_username: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL connection certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerMySqlOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerNativeK8S is a command that updates k8s producer [Deprecated: Use dynamic-secret-update-k8s command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerNativeK8s {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Comma-separated list of allowed K8S namespaces for the generated ServiceAccount (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_allowed_namespaces: Option<String>,
/// K8S cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_ca_cert: Option<String>,
/// K8S cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_endpoint: Option<String>,
/// K8S cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_name: Option<String>,
/// K8S cluster Bearer token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_token: Option<String>,
/// K8S Namespace where the ServiceAccount exists.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_namespace: Option<String>,
/// The pre-existing Role or ClusterRole name to bind the generated ServiceAccount to (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_predefined_role_name: Option<String>,
/// Specifies the type of the pre-existing K8S role [Role, ClusterRole] (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_predefined_role_type: Option<String>,
/// Content of the yaml in a Base64 format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_rolebinding_yaml_data: Option<String>,
/// Path to yaml file that contains definitions of K8S role and role binding (relevant only for k8s-service-account-type=dynamic)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_rolebinding_yaml_def: Option<String>,
/// K8S ServiceAccount to extract token from.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_service_account: Option<String>,
/// K8S ServiceAccount type [fixed, dynamic].
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_service_account_type: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable Port forwarding while using CLI access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_port_forwading: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The K8s cluster endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_cluster_endpoint: Option<String>,
/// The K8s dashboard url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_dashboard_url: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_service_account: Option<bool>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerNativeK8sOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerOracleDb is a command that updates oracle db producer [Deprecated: Use dynamic-secret-update-oracledb command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerOracleDb {
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// (Optional) DB server certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) Server name for certificate verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Oracle Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_host: Option<String>,
/// Oracle Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_password: Option<String>,
/// Oracle Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_port: Option<String>,
/// Oracle Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_revocation_statements: Option<String>,
/// Oracle Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_screation_statements: Option<String>,
/// Oracle DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_service_name: Option<String>,
/// Oracle Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_username: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerOracleDbOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerPing is a command that updates Ping producer [Deprecated: Use dynamic-secret-update-ping command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerPing {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret New name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Ping Federate administrative port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_administrative_port: Option<String>,
/// Set a specific Access Token Management (ATM) instance for the created OAuth Client by providing the ATM Id. If no explicit value is given, the default pingfederate server ATM will be set.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_atm_id: Option<String>,
/// Ping Federate authorization port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_authorization_port: Option<String>,
/// The subject DN of the client certificate. If no explicit value is given, the producer will create CA certificate and matched client certificate and return it as value. Used in conjunction with ping-issuer-dn (relevant for CLIENT_TLS_CERTIFICATE authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_cert_subject_dn: Option<String>,
/// OAuth Client Authentication Type [CLIENT_SECRET, PRIVATE_KEY_JWT, CLIENT_TLS_CERTIFICATE]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_client_authentication_type: Option<String>,
/// Determines whether PingFederate requires a unique signed JWT from the client for each action (relevant for PRIVATE_KEY_JWT authentication method) [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_enforce_replay_prevention: Option<String>,
/// List of OAuth client grant types [IMPLICIT, AUTHORIZATION_CODE, CLIENT_CREDENTIALS, TOKEN_EXCHANGE, REFRESH_TOKEN, ASSERTION_GRANTS, PASSWORD, RESOURCE_OWNER_CREDENTIALS]. If no explicit value is given, AUTHORIZATION_CODE will be selected as default.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_grant_types: Option<Vec<String>>,
/// Issuer DN of trusted CA certificate that imported into Ping Federate server. You may select \"Trust Any\" to trust all the existing issuers in Ping Federate server. Used in conjunction with ping-cert-subject-dn (relevant for CLIENT_TLS_CERTIFICATE authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_issuer_dn: Option<String>,
/// Base64-encoded JSON Web Key Set (JWKS). If no explicit value is given, the producer will create JWKs and matched signed JWT (Sign Algo: RS256) and return it as value (relevant for PRIVATE_KEY_JWT authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_jwks: Option<String>,
/// The URL of the JSON Web Key Set (JWKS). If no explicit value is given, the producer will create JWKs and matched signed JWT and return it as value (relevant for PRIVATE_KEY_JWT authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_jwks_url: Option<String>,
/// Ping Federate privileged user password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_password: Option<String>,
/// Ping Federate privileged user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_privileged_user: Option<String>,
/// List of URIs to which the OAuth authorization server may redirect the resource owner's user agent after authorization is obtained. At least one redirection URI is required for the AUTHORIZATION_CODE and IMPLICIT grant types.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_redirect_uris: Option<Vec<String>>,
/// Limit the OAuth client to specific scopes list
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_restricted_scopes: Option<Vec<String>>,
/// The signing algorithm that the client must use to sign its request objects [RS256,RS384,RS512,ES256,ES384,ES512,PS256,PS384,PS512] If no explicit value is given, the client can use any of the supported signing algorithms (relevant for PRIVATE_KEY_JWT authentication method)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_signing_algo: Option<String>,
/// Ping URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_url: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The time from dynamic secret creation to expiration.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerPingOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerPostgreSQL is a command that updates postgresql producer [Deprecated: Use dynamic-secret-update-postgresql command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerPostgreSql {
/// PostgreSQL Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_statements: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// PostgreSQL DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_db_name: Option<String>,
/// PostgreSQL Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_host: Option<String>,
/// PostgreSQL Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_password: Option<String>,
/// PostgreSQL Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_port: Option<String>,
/// PostgreSQL Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postgresql_username: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key: Option<String>,
/// PostgreSQL Revocation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revocation_statement: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerPostgreSqlOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerRabbitMQ is a command that updates rabbitmq producer [Deprecated: Use dynamic-secret-update-rabbitmq command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerRabbitMq {
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// RabbitMQ Admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_admin_pwd: Option<String>,
/// RabbitMQ Admin User
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_admin_user: Option<String>,
/// Server URI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_uri: Option<String>,
/// User configuration permission
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_conf_permission: Option<String>,
/// User read permission
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_read_permission: Option<String>,
/// User Tags
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_tags: Option<String>,
/// User Virtual Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_vhost: Option<String>,
/// User write permission
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_user_write_permission: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerRabbitMqOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerRdp is a command that updates rdp producer [Deprecated: Use dynamic-secret-update-rdp command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerRdp {
/// AllowUserExtendSession
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_user_extend_session: Option<i64>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (relevant only for fixed-user-only=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Allow access using externally (IdP) provided username [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_only: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// RDP Admin Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_admin_name: Option<String>,
/// RDP Admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_admin_pwd: Option<String>,
/// Hostname
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_host_name: Option<String>,
/// Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_host_port: Option<String>,
/// Groups
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_user_groups: Option<String>,
/// Allow providing external user for a domain users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_external_user: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_delay: Option<i64>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// RD Gateway server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rd_gateway_server: Option<String>,
/// Required when the Dynamic Secret is used for a domain user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Override the RDP Domain username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// WarnBeforeUserExpiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub warn_user_before_expiration: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerRdpOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerRedis is a command that updates redis producer [Deprecated: Use dynamic-secret-update-redis command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerRedis {
/// A JSON array list of redis ACL rules to attach to the created user. For available rules see the ACL CAT command https://redis.io/commands/acl-cat
By default the user will have permissions to read all keys '["~*", "+@read"]'
#[serde(default, skip_serializing_if = "Option::is_none")]
pub acl_rules: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Redis Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Redis Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Redis Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL CA certificate in base64 encoding generated from a trusted Certificate Authority (CA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// Redis Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerRedisOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerRedshift is a command that updates redshift producer [Deprecated: Use dynamic-secret-update-redshift command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerRedshift {
/// Redshift Creation statements
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_statements: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key: Option<String>,
/// Redshift DB Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_db_name: Option<String>,
/// Redshift Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_host: Option<String>,
/// Redshift Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_password: Option<String>,
/// Redshift Port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_port: Option<String>,
/// Redshift Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redshift_username: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerRedshiftOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// GatewayUpdateProducerSnowflakeCmd is a command that updates a Snowflake producer [Deprecated: Use dynamic-secret-update-snowflake command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerSnowflake {
/// Account name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account: Option<String>,
/// Database Password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_password: Option<String>,
/// Database Username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_username: Option<String>,
/// The authentication mode for the temporary user [password/key]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_mode: Option<String>,
/// Customize how temporary usernames are generated using go template
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_username_template: Option<String>,
/// Database name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_name: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_algo: Option<String>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// RSA Private key (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
/// The Private key passphrase
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_passphrase: Option<String>,
/// User role
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// Warehouse name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub warehouse: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerSnowflakeOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateProducerVenafi is a command that updates a Venafi
dynamic secret producer to dynamically update certificates generated by Venafi or have
Akeyless generated certificates using PKI be monitored by Venafi [Deprecated: Use dynamic-secret-update-venafi command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerVenafi {
/// Admin credentials rotation interval (days)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_rotation_interval_days: Option<i64>,
/// Allow subdomains
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_subdomains: Option<bool>,
/// Allowed domains
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_domains: Option<Vec<String>>,
/// Auto generated folder
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_generated_folder: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Automatic admin credentials rotation
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_admin_rotation: Option<bool>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Dynamic secret name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Dynamic producer encryption key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_encryption_key_name: Option<String>,
/// Root first in chain
#[serde(default, skip_serializing_if = "Option::is_none")]
pub root_first_in_chain: Option<bool>,
/// Use Akeyless PKI issuer or Venafi issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sign_using_akeyless_pki: Option<bool>,
/// Signer key name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub signer_key_name: Option<String>,
/// Store private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub store_private_key: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// User TTL in time.Duration format (2160h / 129600m / etc...). When using sign-using-akeyless-pki certificates created will have this validity period, otherwise the user-ttl is taken from the Validity Period field of the Zone's' Issuing Template. When using cert-manager it is advised to have a TTL of above 60 days (1440h). For more information - https://cert-manager.io/docs/usage/certificate/
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_ttl: Option<String>,
/// Venafi Access Token to use to access the TPP environment (Relevant when using TPP)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_access_token: Option<String>,
/// Venafi API key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_api_key: Option<String>,
/// Venafi Baseurl
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_baseurl: Option<String>,
/// Venafi Client ID that was used when the access token was generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_client_id: Option<String>,
/// Venafi Refresh Token to use when the Access Token is expired (Relevant when using TPP)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_refresh_token: Option<String>,
/// Venafi using TPP
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_use_tpp: Option<bool>,
/// Venafi Zone
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi_zone: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateProducerVenafiOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer_details: Option<DsProducerDetails>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateRemoteAccess is a command that update remote access config
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateRemoteAccess {
/// Specify a valid SSH-URL to tunnel to SSH session
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_ssh_url: Option<String>,
/// List of valid URLs to redirect from the Portal back to the remote access server (in a comma-delimited list)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_urls: Option<String>,
/// Default session TTL in minutes
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_session_ttl_minutes: Option<String>,
/// Specifies whether to show/hide if the session is currently recorded [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hide_session_recording: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Decide which algorithm will be used as part of the SSH initial hand-shake process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kexalgs: Option<String>,
/// Enable support for additional keyboard layouts
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keyboard_layout: Option<String>,
/// Signs SSH certificates using legacy ssh-rsa-cert-01@openssh.com signing algorithm [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub legacy_ssh_algorithm: Option<String>,
/// Specify the usernameSubClaim that exists inside the IDP JWT, e.g. email
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_target_configuration: Option<String>,
/// Specify the usernameSubClaim that exists inside the IDP JWT, e.g. email
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_target_configuration: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gatewayUpdateRemoteAccessDesktopApp is a command that update remote access desktop app config
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateRemoteAccessDesktopApp {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub desktop_app_secure_web_access_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub desktop_app_secure_web_proxy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub desktop_app_ssh_cert_issuer: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateRemoteAccessDesktopAppOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateRemoteAccessOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateRemoteAccessRdpRecordings is a command that update remote access rdp recording config
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateRemoteAccessRdpRecordings {
/// AWS access key id. For more information refer to https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_storage_access_key_id: Option<String>,
/// The AWS bucket name. For more information refer to https://docs.aws.amazon.com/s3/
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_storage_bucket_name: Option<String>,
/// The folder name in S3 bucket. For more information refer to https://docs.aws.amazon.com/s3/
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_storage_bucket_prefix: Option<String>,
/// The region where the storage is located
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_storage_region: Option<String>,
/// AWS secret access key. For more information refer to https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_storage_secret_access_key: Option<String>,
/// Azure account name. For more information refer to https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_storage_account_name: Option<String>,
/// Azure client id. For more information refer to https://learn.microsoft.com/en-us/azure/storage/common/storage-account-get-info?tabs=portal
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_storage_client_id: Option<String>,
/// Azure client secret. For more information refer to https://learn.microsoft.com/en-us/azure/storage/common/storage-account-get-info?tabs=portal
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_storage_client_secret: Option<String>,
/// Azure container name. For more information refer to https://learn.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_storage_container_name: Option<String>,
/// Azure tenant id. For more information refer to https://learn.microsoft.com/en-us/entra/fundamentals/how-to-find-tenant
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_storage_tenant_id: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Enable recording of rdp session [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_session_recording: Option<String>,
/// Whether to compress recording files before upload
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_session_recording_compress: Option<bool>,
/// If provided, this key will be used to encrypt uploaded recordings.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_session_recording_encryption_key: Option<String>,
/// RDP session recording quality [low/medium/high]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_session_recording_quality: Option<String>,
/// Rdp session recording storage destination [local/aws/azure]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdp_session_storage: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateRemoteAccessRdpRecordingsOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// gatewayUpdateTmpUsers is a command that returns gateway configuration [Deprecated: Use dynamic-secret-tmp-creds-update command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GatewayUpdateTmpUsers {
/// Host
pub host: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// New TTL in Minutes
pub new_ttl_min: i64,
/// Tmp Creds ID
pub tmp_creds_id: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GenCustomerFragment {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// The label of the hsm key to use for customer fragment operations (relevant for hsm_wrapped/hsm_protected customer fragments)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hsm_key_label: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// Customer fragment name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Customer fragment type [standard/hsm_wrapped/hsm_secured]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GenerateAcmeEab {
/// The name of the PKI certificate issuer
pub cert_issuer_name: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GenerateCsr {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alg: Option<String>,
/// A comma-separated list of dns alternative names
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alt_names: Option<String>,
/// The certificate type to be included in the CSR certificate (ssl-client/ssl-server/certificate-signing)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_type: Option<String>,
/// The city to be included in the CSR certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub city: Option<String>,
/// The common name to be included in the CSR certificate
pub common_name: String,
/// The country to be included in the CSR certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
/// Add critical to the key usage extension (will be false if not added)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub critical: Option<bool>,
/// The department to be included in the CSR certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dep: Option<String>,
/// A comma-separated list of email addresses alternative names
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_addresses: Option<String>,
/// The flag to indicate if the private key should be exported
#[serde(default, skip_serializing_if = "Option::is_none")]
pub export_private_key: Option<bool>,
/// Generate a new classic key for the csr
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generate_key: Option<bool>,
/// Specifies the hash algorithm used for the encryption key's operations, available options: SHA256, SHA384, SHA512
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash_algorithm: Option<String>,
/// A comma-separated list of ip addresses alternative names
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ip_addresses: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The type of the key to generate (classic-key/dfc)
pub key_type: String,
/// The key name
pub name: String,
/// The organization to be included in the CSR certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub org: Option<String>,
/// The number of fragments that the item will be split into (not includes
customer fragment)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub split_level: Option<i64>,
/// The state to be included in the CSR certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A comma-separated list of uri alternative names
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri_sans: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GenerateCsrOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetAccountSettings {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetAnalyticsData {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// getAuthMethod is a command that returns information about the auth method. [Deprecated: Use auth-method-get command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetAuthMethod {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Auth Method name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetCertificateValue {
/// The parent PKI Certificate Issuer's name of the certificate, required when used with display-id and token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_issuer_name: Option<String>,
/// Certificate display ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// Retrieve the Secret value without checking the Gateway's cache [true/false]. This flag is only relevant when using the RestAPI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ignore_cache: Option<String>,
/// Token for getting the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuance_token: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Certificate name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Certificate version
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetDynamicSecretValue {
/// Optional arguments as key=value pairs or JSON strings, e.g -
\"--args=csr=base64_encoded_csr --args=common_name=bar\" or
args='{\"csr\":\"base64_encoded_csr\"}. It is possible to combine both
formats.'
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
/// DBName: Optional override DB name (works only if DS allows it. only relevant for MSSQL)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dbname: Option<String>,
/// Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Dynamic secret name
pub name: String,
/// Target Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<String>,
/// Timeout in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// getEventForwarder is a command that creates a new event forwarder [Deprecated - please use event-forwarder-get command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetEventForwarder {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// EventForwarder name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetEventForwarderOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_forwarder: Option<NotiForwarder>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetGroup {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Group name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// getKubeExecCreds is a command that gets credentials for authentication with
Kubernetes cluster based on a PKI cert issuer.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetKubeExecCreds {
/// The Subject Alternative Names to be included in the PKI certificate (in
a comma-separated list) (if CSR is supplied this flag is ignored and any DNS.* names are taken from it)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alt_names: Option<String>,
/// Client authentication API version
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_version: Option<String>,
/// The name of the PKI certificate issuer
pub cert_issuer_name: String,
/// The common name to be included in the PKI certificate (if CSR is supplied this flag is ignored and the CSR subject CN is taken)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub common_name: Option<String>,
/// Certificate Signing Request contents encoded in base64 to generate the certificate with
#[serde(default, skip_serializing_if = "Option::is_none")]
pub csr_data_base64: Option<String>,
/// 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
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extended_key_usage: Option<String>,
/// A json string that defines the requested extra extensions for the certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extra_extensions: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// PKI key file contents. If this option is used, the certificate
will be printed to stdout
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_data_base64: Option<String>,
/// The maximum path length for the generated certificate. -1, means unlimited unless the signing certificate has a maximum path length set
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_path_len: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Updated certificate lifetime in seconds (must be less than the Certificate Issuer default TTL)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The URI Subject Alternative Names to be included in the PKI certificate
(in a comma-separated list) (if CSR is supplied this flag is ignored and any URI.* names are taken from it)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri_sans: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetKubeExecCredsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<ClientData>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetLastUserEventStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_source: Option<String>,
pub event_type: String,
/// Event item name
pub item_name: String,
/// Event item type can be either "target" or type of item eg "static_secret"/"dynamic_secret"
To get type of some item run `akeyless describe-item -n {ITEM_NAME} --jq-expression .item_type`
pub item_type: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The time back to search the event, for example if the value is "5m" we will return the last user event issued in the last 5 minutes.
By default, we will search without any time boundary.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_back: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetPkiCertificateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_display_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_item_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub http_challenge_info: Option<HttpChallengeInfo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_cert: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reading_token: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// getRSAPublic is a command that obtains the public key from a specific RSA
private key.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetRsaPublic {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Name of RSA key to extract the public key from
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetRsaPublicOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pem: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub raw: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetRole {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Role name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetRotatedSecretValue {
/// Get rotated secret value of specific Host (relevant only for Linked Target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Retrieve the Secret value without checking the Gateway's cache [true/false]. This flag is only relevant when using the RestAPI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ignore_cache: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Secret name
pub names: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Secret version
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetSshCertificate {
/// The name of the SSH certificate issuer
pub cert_issuer_name: String,
/// The username to sign in the SSH certificate
pub cert_username: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Set this option to output legacy ('ssh-rsa-cert-v01@openssh.com') signing algorithm name in the certificate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub legacy_signing_alg_name: Option<bool>,
/// SSH public key file contents. If this option is used, the certificate
will be printed to stdout
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key_data: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Updated certificate lifetime in seconds (must be less than the Certificate Issuer default TTL)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<i64>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetSshCertificateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetTags {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Item name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// getTarget is a command that returns target. [Deprecated: Use target-get command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetTarget {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Target name
pub name: String,
/// Include all target versions in reply
#[serde(default, skip_serializing_if = "Option::is_none")]
pub show_versions: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// getTargetDetails is a command that returns target details. [Deprecated: Use target-get-details command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GetTargetDetails {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Target name
pub name: String,
/// Include all target versions in reply
#[serde(default, skip_serializing_if = "Option::is_none")]
pub show_versions: Option<bool>,
/// Target version
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_version: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gwUpdateRemoteAccessSessionLogsAwsS3 is a command that updates session log forwarding config (aws-s3 target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwUpdateRemoteAccessSessionLogsAwsS3 {
/// AWS access id relevant for access_key auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
/// AWS access key relevant for access_key auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_key: Option<String>,
/// AWS auth type [access_key/cloud_id/assume_role]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
/// AWS S3 bucket name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bucket_name: Option<String>,
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// AWS S3 destination folder for logs
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_folder: Option<String>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// AWS region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// AWS role arn relevant for assume_role auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gwUpdateRemoteAccessSessionLogsAzureAnalytics is a command that updates session log forwarding config (azure-analytics target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwUpdateRemoteAccessSessionLogsAzureAnalytics {
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Enable batch forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_batch: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Azure workspace id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub workspace_id: Option<String>,
/// Azure workspace key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub workspace_key: Option<String>,
}
/// gwUpdateRemoteAccessSessionLogsDatadog is a command that updates session log forwarding config (datadog target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwUpdateRemoteAccessSessionLogsDatadog {
/// Datadog api key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Datadog host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Datadog log service
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_service: Option<String>,
/// Datadog log source
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_source: Option<String>,
/// A comma-separated list of Datadog log tags formatted as "key:value" strings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_tags: Option<String>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gwUpdateRemoteAccessSessionLogsElasticsearch is a command that updates session log forwarding config (elasticsearch target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwUpdateRemoteAccessSessionLogsElasticsearch {
/// Elasticsearch api key relevant only for api_key auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// Elasticsearch auth type [api_key/password]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
/// Elasticsearch cloud id relevant only for cloud server-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cloud_id: Option<String>,
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Enable tls
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_tls: Option<bool>,
/// Elasticsearch index
#[serde(default, skip_serializing_if = "Option::is_none")]
pub index: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Elasticsearch nodes relevant only for nodes server-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub nodes: Option<String>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Elasticsearch password relevant only for password auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Elasticsearch server type [cloud/nodes]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_type: Option<String>,
/// Elasticsearch tls certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls_certificate: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Elasticsearch user name relevant only for password auth-type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
}
/// gwUpdateRemoteAccessSessionLogsGoogleChronicle is a command that updates session log forwarding config (google-chronicle target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwUpdateRemoteAccessSessionLogsGoogleChronicle {
/// Google chronicle customer id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_id: Option<String>,
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Google chronicle log type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_type: Option<String>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Google chronicle region [eu_multi_region/london/us_multi_region/singapore/tel_aviv]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gwUpdateRemoteAccessSessionLogsLogstash is a command that updates session log forwarding config (logstash target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwUpdateRemoteAccessSessionLogsLogstash {
/// Logstash dns
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dns: Option<String>,
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Enable tls
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_tls: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Logstash protocol [tcp/udp]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Logstash tls certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls_certificate: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gwUpdateRemoteAccessSessionLogsLogzIo is a command that updates session log forwarding config (logz-io target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwUpdateRemoteAccessSessionLogsLogzIo {
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Logz-io token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logz_io_token: Option<String>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// LogzIo protocol [tcp/https]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gwUpdateRemoteAccessSessionLogsSplunk is a command that updates session log forwarding config (splunk target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwUpdateRemoteAccessSessionLogsSplunk {
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Enable batch forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_batch: Option<String>,
/// Enable tls
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_tls: Option<bool>,
/// Splunk index
#[serde(default, skip_serializing_if = "Option::is_none")]
pub index: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Splunk source
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
/// Splunk source type
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source_type: Option<String>,
/// Splunk token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_token: Option<String>,
/// Splunk server URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_url: Option<String>,
/// Splunk tls certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls_certificate: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gwUpdateRemoteAccessSessionLogsStdout is a command that updates session log forwarding config (stdout target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwUpdateRemoteAccessSessionLogsStdout {
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gwUpdateRemoteAccessSessionLogsSumologic is a command that updates session log forwarding config (sumologic target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwUpdateRemoteAccessSessionLogsSumologic {
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Sumologic endpoint URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
/// Sumologic host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// A comma-separated list of Sumologic tags
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sumologic_tags: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// gwUpdateRemoteAccessSessionLogsSyslog is a command that updates session log forwarding config (syslog target)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GwUpdateRemoteAccessSessionLogsSyslog {
/// Enable Log Forwarding [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Enable tls relevant only for network type TCP
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_tls: Option<bool>,
/// Syslog formatter [text/cef]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub formatter: Option<String>,
/// Syslog host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Syslog network [tcp/udp]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub network: Option<String>,
/// Logs format [text/json]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output_format: Option<String>,
/// Pull interval in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pull_interval: Option<String>,
/// Syslog target tag
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_tag: Option<String>,
/// Syslog tls certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls_certificate: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Hmac {
/// The display id of the key to use in the encryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// Hash function [sha-256,sha-512]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash_function: Option<String>,
/// Select default assumed format for any plaintext input. Currently supported options: [base64]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub input_format: Option<String>,
/// The item id of the key to use in the encryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the key to use in the encryption process
pub key_name: String,
/// Data to perform hmac on
#[serde(default, skip_serializing_if = "Option::is_none")]
pub plaintext: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HmacOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// importPasswords is a command that import passwords
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ImportPasswords {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Password format type [LastPass/Chrome/Firefox/1password/keeper/bitwarden/dashlane]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
/// File path
pub import_path: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
/// Target folder for imported passwords
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_folder: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_mode: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipClientDeleteRule {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Access path
pub path: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipClientSetRule {
/// Access capabilities
pub capability: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Access path
pub path: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipCreateClient {
/// If set to 'true', newly created keys on the client will be set to an 'active' state
#[serde(default, skip_serializing_if = "Option::is_none")]
pub activate_keys_on_creation: Option<String>,
/// Client certificate TTL in days
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_ttl: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Client name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipCreateClientOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipDeleteClient {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipDeleteClientOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// kmipDeleteServer is a command that the kmip server
(allowed only if it has no clients nor associated items)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipDeleteServer {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipDeleteServerOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipDescribeClient {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipDescribeServer {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipDescribeServerOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub active: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_cert: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_issue_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_ttl_in_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hostname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub root: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipListClients {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// kmipMoveServer is a command that Moves the root location of the kmip server
and all associated items to a new root location
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipMoveServer {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// New root for the kmip server
pub new_root: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipMoveServerOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_root: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub old_root: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipRenewClientCertificate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipRenewClientCertificateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipRenewServerCertificate {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipRenewServerCertificateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_cert: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipServerSetup {
/// Server certificate TTL in days
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_ttl: Option<i64>,
/// Hostname
pub hostname: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Root path of KMIP Resources
pub root: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// kmipSetServerState is a command that sets the environment state to
active/inactive.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipSetServerState {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
pub state: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KmipSetServerStateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_active: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// listAcmeAccounts is a command lists acme external accounts for a cert issuer
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListAcmeAccounts {
/// The name of the PKI certificate issuer
pub cert_issuer_name: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// listAuthMethods is a command that returns a list of all auth methods in the
account. [Deprecated: Use auth-method-list command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListAuthMethods {
/// Filter by auth method name or part of it
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Next page reference
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pagination_token: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The Auth method types list of the requested method. In case it is empty, all
types of auth methods will be returned. options: [api_key, azure_ad, oauth2/jwt, saml2,
ldap, aws_iam, oidc, universal_identity, gcp, k8s, cert]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<Vec<String>>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListGateways {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListGroups {
/// Filter by auth method name or part of it
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Next page reference
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pagination_token: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListItems {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Filter by item name/username/website or part of it
#[serde(default, skip_serializing_if = "Option::is_none")]
pub advanced_filter: Option<String>,
/// Retrieve all items using pagination, when disabled retrieving only first 1000 items
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_pagination: Option<String>,
/// List only items in the current folder (excludes subfolders)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub current_folder: Option<bool>,
/// Filter by item name or part of it
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Show only basic information of the items
#[serde(default, skip_serializing_if = "Option::is_none")]
pub minimal_view: Option<bool>,
/// List only secrets modified after specified date (in unix time)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modified_after: Option<i64>,
/// Next page reference
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pagination_token: Option<String>,
/// Path to folder
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
/// Filter by items with SRA functionality enabled
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sra_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_types: Option<Vec<String>>,
/// Filter by item tag
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tag: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The item types list of the requested items. In case it is empty, all
types of items will be returned. options: [key, static-secret,
dynamic-secret, classic-key]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<Vec<String>>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListRoles {
/// Filter by item name or part of it
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Next page reference
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pagination_token: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListSraBastions {
/// Filter the response to show only bastions allowed URLs
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_urls_only: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// listSRASessions is a command that returns sra sessions of the given user
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListSraSessions {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// session resource type. In case it is empty, all resources type will be returned. options: [mysql, k8s, ssh, mongodb, mssql, postgres, aws, eks, gke, rdp]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_type: Option<Vec<String>>,
/// session status type. In case it is empty, only active sessions will be returned. options: [connecting, connected, failed, completed, terminated]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// listSharedItems is a command to list all the items been shared
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListSharedItems {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// listTargets is a command that returns a list of targets. [Deprecated: Use target-list command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListTargets {
/// Filter by auth method name or part of it
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Next page reference
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pagination_token: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The target types list . In case it is empty, all
types of targets will be returned. options: [hanadb cassandra aws ssh gke eks mysql mongodb snowflake mssql redshift artifactory azure rabbitmq k8s venafi gcp oracle dockerhub ldap github chef web salesforce postgres]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<Vec<String>>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MoveObjects {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The objects type to move (item/auth_method/role)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub objects_type: Option<String>,
/// Source path to move the objects from
pub source: String,
/// Target path to move the objects to
pub target: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MoveObjectsOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PoliciesCreateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PoliciesDelete {
/// Policy id
pub id: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PoliciesDeleteOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PoliciesGet {
/// Policy id
pub id: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// it exposes object_types and intentionally hides enforce_on_items/enforce_on_targets.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PolicyOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_algorithms: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_key_names: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_key_types: Option<Vec<KeyType>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_rotation_interval_days: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub object_types: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PoliciesGetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub policy: Option<PolicyOutput>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PoliciesList {
/// Aggregate missing configurations from parent policies (requires --paths)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aggregate: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Optional object types filter (items or targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub object_type: Option<Vec<String>>,
/// Filter by exact policy paths
#[serde(default, skip_serializing_if = "Option::is_none")]
pub paths: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Filter by policy types
#[serde(default, skip_serializing_if = "Option::is_none")]
pub types: Option<Vec<String>>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PoliciesListOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub policies: Option<Vec<PolicyOutput>>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PoliciesUpdateOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PolicyCreateKeys {
/// Specify allowed key algorithms (e.g., [RSA2048,AES128GCM])
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_algorithms: Option<Vec<String>>,
/// Specify allowed protection key names. To enforce using the account's default protection key, use 'default-account-key'
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_key_names: Option<Vec<String>>,
/// Specify allowed key protection types (dfc, classic-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_key_types: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Set the maximum rotation interval for automatic key rotation.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_rotation_interval_days: Option<i64>,
/// The object types this policy will apply to (items, targets). If not provided, defaults to [items, targets].
#[serde(default, skip_serializing_if = "Option::is_none")]
pub object_types: Option<Vec<String>>,
/// The path the policy refers to
pub path: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PolicyUpdateKeys {
/// Specify allowed key algorithms (e.g., [RSA2048,AES128GCM])
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_algorithms: Option<Vec<String>>,
/// Specify allowed protection key names. To enforce using the account's default protection key, use 'default-account-key'
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_key_names: Option<Vec<String>>,
/// Specify allowed key protection types (dfc, classic-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_key_types: Option<Vec<String>>,
/// Policy id
pub id: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Set the maximum rotation interval for automatic key rotation.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_rotation_interval_days: Option<i64>,
/// The object type this policy will apply to (items, targets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub object_types: Option<Vec<String>>,
/// The path the policy refers to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// provisionCertificate is a command that provisions a certificate content to a target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ProvisionCertificate {
/// Certificate display ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// Certificate item ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Certificate name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RawCreds {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_key: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RefreshKey {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Key name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RefreshKeyOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RequestAccess {
/// List of the required capabilities options: [read, update, delete]
pub capability: Vec<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Item name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Item type
pub r#type: String,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RequestAccessOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub response: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// resetAccessKey is a command that resets an access key
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ResetAccessKey {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Auth Method name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// reverseRBAC is a command that shows which auth methods have access to a
particular object.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ReverseRbac {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Path to an object
pub path: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Type of object (item, am, role)
pub r#type: String,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// revokeCreds will permanently revoke the credentials associated with the
provided token or profile.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RevokeCreds {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RevokeCredsOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RollbackSecret {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Secret name
pub name: String,
/// Old secret version to rollback to
pub old_version: i64,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RollbackSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// of it.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotateKey {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Key name
pub name: String,
/// The new pem encoded certificate for the classic key.
relevant only for keys provided by user ('bring-your-own-key')
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_cert_pem_data: Option<String>,
/// The new base64 encoded value for the classic key.
relevant only for keys provided by user ('bring-your-own-key')
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_key_data: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotateOidcClientSecret {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// OIDC application name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RotateSecret {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_all_services_boolean: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Secret name (Rotated Secret or Custom Dynamic Secret)
pub name: String,
/// Rotate all associated services
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_all_services: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateAws {
/// API ID to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_id: Option<String>,
/// API key to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Aws Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_region: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Enable graceful rotation (keep both versions temporarily). When enabled, a new secret version is created while the previous version is kept for the grace period, so both versions exist for a limited time. [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation: Option<String>,
/// The Hour of the grace rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_hour: Option<i64>,
/// The number of days to wait before deleting the old key (must be bigger than rotation-interval)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_interval: Option<String>,
/// When to create the new version relative to the rotation date [after/before]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_timing: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/api-key]
pub rotator_type: String,
/// The AWS account id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_account_id: Option<String>,
/// The AWS native cli
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_native_cli: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateAzure {
/// API ID to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_id: Option<String>,
/// API key to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// Id of the azure app that hold the serect to be rotated (relevant only for rotator-type=api-key & authentication-credentials=use-target-creds)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub application_id: Option<String>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// If set, explicitly provide the storage account details [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub explicitly_set_sa: Option<String>,
/// Enable graceful rotation (keep both versions temporarily). When enabled, a new secret version is created while the previous version is kept for the grace period, so both versions exist for a limited time. [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation: Option<String>,
/// The Hour of the grace rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_hour: Option<i64>,
/// The number of days to wait before deleting the old key (must be bigger than rotation-interval)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_interval: Option<String>,
/// When to create the new version relative to the rotation date [after/before]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_timing: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// The resource group name (only relevant when explicitly-set-sa=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_group_name: Option<String>,
/// The name of the storage account (only relevant when explicitly-set-sa=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_name: Option<String>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password/api-key/azure-storage-account]
pub rotator_type: String,
/// Enable this flag to prevent simultaneous use of the same secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_disable_concurrent_connections: Option<bool>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// The name of the storage account key to rotate [key1/key2/kerb1/kerb2] (relevat to azure-storage-account)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage_account_key_name: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The user principal name to rotate his password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateCassandra {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password]
pub rotator_type: String,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateCustom {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Secret payload to be sent with rotation request
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_payload: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Enable password policy
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_password_policy: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Allow providing external user for a domain users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_external_user: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Default domain name server. i.e. microsoft.com
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Override the RDP Domain username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// Override the SSH username as indicated in SSH Certificate Issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_ssh_user: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Maximum allowed time in seconds for the custom rotator to return the results
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout_sec: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Password must contain capital letters [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_capital_letters: Option<String>,
/// Password must contain lower case letters [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_lower_letters: Option<String>,
/// Password must contain numbers [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_numbers: Option<String>,
/// Password must contain special characters [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_special_characters: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateDockerhub {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateGcp {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// The email of the gcp service account to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_email: Option<String>,
/// The key id of the gcp service account to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_key_id: Option<String>,
/// Enable graceful rotation (keep both versions temporarily). When enabled, a new secret version is created while the previous version is kept for the grace period, so both versions exist for a limited time. [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation: Option<String>,
/// The Hour of the grace rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_hour: Option<i64>,
/// The number of days to wait before deleting the old key (must be bigger than rotation-interval)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_interval: Option<String>,
/// When to create the new version relative to the rotation date [after/before]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_timing: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/service-account-rotator]
pub rotator_type: String,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateHanadb {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password]
pub rotator_type: String,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RotatedSecretCreateLdap {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider_type: Option<String>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Host provider type [explicit/target], Default Host provider is explicit, Relevant only for Secure Remote Access of ssh cert issuer, ldap rotated secret and ldap dynamic secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_provider: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=ldap)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=ldap)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/ldap]
pub rotator_type: String,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Default domain name server. i.e. microsoft.com
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// A list of linked targets to be associated, Relevant only for Secure Remote Access for ssh cert issuer, ldap rotated secret and ldap dynamic secret, To specify multiple targets use argument multiple times
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// LDAP User Attribute, Default value "cn"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_attribute: Option<String>,
/// Base DN to Perform User Search
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_dn: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateMongodb {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password]
pub rotator_type: String,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateMssql {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password]
pub rotator_type: String,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateMysql {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password]
pub rotator_type: String,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// rotatedSecretCreateOpenAI is a command that creates a rotated secret for an
OpenAI target by rotating the admin API key configured on the target.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateOpenAi {
/// Admin API key value to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// Admin API key ID to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key_id: Option<String>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/api-key]
pub rotator_type: String,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateOracledb {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password]
pub rotator_type: String,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreatePostgresql {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password]
pub rotator_type: String,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateRedis {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password]
pub rotator_type: String,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateRedshift {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password]
pub rotator_type: String,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateSnowflake {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// RSA Private key (base64 encoded) to rotate (relevant only for rotator-type=key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
/// The path to the file containing the private key (relevant only for rotator-type=key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_file_name: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password or rotator-type=key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password/key]
pub rotator_type: String,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// rotatedSecretCreateSplunk is a command that creates a rotated secret for a
Splunk target. Currently we support target-rotator behavior (rotate
credentials on the target itself).
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateSplunk {
/// Token audience for Splunk token creation (required for rotator-type=token)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Token expiration date in YYYY-MM-DD format (required for rotator-type=token when manual rotation is selected and no existing token is provided). Time will be set to 00:00 UTC.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_date: Option<String>,
/// Current Splunk HEC token value to store (relevant only for rotator-type=hec-token). If not provided, a new HEC input will be created in Splunk.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hec_token: Option<String>,
/// Splunk HEC input name to manage (required for rotator-type=hec-token)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hec_token_name: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password/token/hec-token]
pub rotator_type: String,
/// Current Splunk authentication token to store (relevant only for rotator-type=token). If not provided, a new token will be created in Splunk.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_token: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Splunk token owner username (relevant only for rotator-type=token)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_owner: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateSsh {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Private key file contents encoded using base64
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_data_base64: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// The path to the public key that will be rotated on the server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key_remote_path: Option<String>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Custom rotation command
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotator_custom_cmd: Option<String>,
/// The rotator type. options: [target/password/key]
pub rotator_type: String,
/// Rotate same password for each host from the Linked Target (relevant only for Linked Target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub same_password: Option<String>,
/// Allow providing external user for a domain users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_external_user: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Default domain name server. i.e. microsoft.com
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Override the RDP Domain username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// Override the SSH username as indicated in SSH Certificate Issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_ssh_user: Option<String>,
/// Specify target type. Options are ssh or rdp
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_target_type: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretCreateWindows {
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password]
pub rotator_type: String,
/// Rotate same password for each host from the Linked Target (relevant only for Linked Target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub same_password: Option<String>,
/// Allow providing external user for a domain users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_external_user: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Default domain name server. i.e. microsoft.com
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Override the RDP Domain username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// Add tags attached to this object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// The target name to associate
pub target_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// rotatedSecretDelete is a command that deletes a rotated secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretDelete {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Rotated secret name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The specific version you want to delete, -1=entire item with all versions (default)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretDeleteSync {
/// Delete the secret from the remote target USC as well
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_from_usc: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Rotated secret name
pub name: String,
/// Remote Secret Name to disambiguate when multiple syncs exist under the same USC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remote_secret_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Universal Secret Connector name
pub usc_name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretGetValue {
/// Get rotated secret value of specific Host (relevant only for Linked Target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Retrieve the Secret value without checking the Gateway's cache [true/false]. This flag is only relevant when using the RestAPI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ignore_cache: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Secret name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Secret version
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
/// rotatedSecretList is a command that returns a list of rotated secrets
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretList {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RotatedSecretSync {
/// Delete the secret from remote secret manager (for association create/update)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_remote: Option<bool>,
/// JQ expression to filter or transform the secret value
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_secret_value: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Rotated secret name
pub name: String,
/// Vault namespace, releavnt only for Hashicorp Vault Target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
/// Remote Secret Name that will be synced on the remote endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remote_secret_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Universal Secret Connector name, If not provided all attached USC's will be synced
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usc_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretSyncOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateAws {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// API ID to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_id: Option<String>,
/// API key to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Aws Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_region: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Enable graceful rotation (keep both versions temporarily). When enabled, a new secret version is created while the previous version is kept for the grace period, so both versions exist for a limited time. [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation: Option<String>,
/// The Hour of the grace rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_hour: Option<i64>,
/// The number of days to wait before deleting the old key (must be bigger than rotation-interval)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_interval: Option<String>,
/// When to create the new version relative to the rotation date [after/before]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_timing: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The AWS account id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_account_id: Option<String>,
/// The AWS native cli
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_native_cli: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateAzure {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// API ID to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_id: Option<String>,
/// API key to rotate (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// Id of the azure app that hold the serect to be rotated (relevant only for rotator-type=api-key & authentication-credentials=use-target-creds)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub application_id: Option<String>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// If set, explicitly provide the storage account details [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub explicitly_set_sa: Option<String>,
/// Enable graceful rotation (keep both versions temporarily). When enabled, a new secret version is created while the previous version is kept for the grace period, so both versions exist for a limited time. [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation: Option<String>,
/// The Hour of the grace rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_hour: Option<i64>,
/// The number of days to wait before deleting the old key (must be bigger than rotation-interval)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_interval: Option<String>,
/// When to create the new version relative to the rotation date [after/before]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_timing: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// The resource group name (only relevant when explicitly-set-sa=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_group_name: Option<String>,
/// The name of the storage account (only relevant when explicitly-set-sa=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_name: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Enable this flag to prevent simultaneous use of the same secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_disable_concurrent_connections: Option<bool>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// The name of the storage account key to rotate [key1/key2/kerb1/kerb2] (relevat to azure-storage-account)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage_account_key_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The user principal name to rotate his password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateCassandra {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateCustom {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Secret payload to be sent with rotation request
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_payload: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Enable password policy
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_password_policy: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Allow providing external user for a domain users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_external_user: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Default domain name server. i.e. microsoft.com
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Override the RDP Domain username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// Override the SSH username as indicated in SSH Certificate Issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_ssh_user: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Maximum allowed time in seconds for the custom rotator to return the results
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout_sec: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Password must contain capital letters [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_capital_letters: Option<String>,
/// Password must contain lower case letters [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_lower_letters: Option<String>,
/// Password must contain numbers [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_numbers: Option<String>,
/// Password must contain special characters [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_special_characters: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateDockerhub {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateGcp {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// The email of the gcp service account to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_email: Option<String>,
/// The key id of the gcp service account to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_service_account_key_id: Option<String>,
/// Enable graceful rotation (keep both versions temporarily). When enabled, a new secret version is created while the previous version is kept for the grace period, so both versions exist for a limited time. [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation: Option<String>,
/// The Hour of the grace rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_hour: Option<i64>,
/// The number of days to wait before deleting the old key (must be bigger than rotation-interval)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_interval: Option<String>,
/// When to create the new version relative to the rotation date [after/before]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation_timing: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/service-account-rotator]
pub rotator_type: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateHanadb {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RotatedSecretUpdateLdap {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider_type: Option<String>,
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Host provider type [explicit/target], Default Host provider is explicit, Relevant only for Secure Remote Access of ssh cert issuer, ldap rotated secret and ldap dynamic secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_provider: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=ldap)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=ldap)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Default domain name server. i.e. microsoft.com
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// A list of linked targets to be associated, Relevant only for Secure Remote Access for ssh cert issuer, ldap rotated secret and ldap dynamic secret, To specify multiple targets use argument multiple times
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// LDAP User Attribute, Default value "cn"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_attribute: Option<String>,
/// Base DN to Perform User Search
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_dn: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateMongodb {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateMssql {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateMysql {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// rotatedSecretUpdateOpenAI is a command that updates an OpenAI rotated secret.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateOpenAi {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// Admin API key value to update (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// Admin API key ID to update (relevant only for rotator-type=api-key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key_id: Option<String>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateOracledb {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdatePostgresql {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateRedis {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateRedshift {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateSnowflake {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// RSA Private key (base64 encoded) to rotate (relevant only for rotator-type=key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
/// The path to the file containing the private key (relevant only for rotator-type=key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_file_name: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password or rotator-type=key)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// rotatedSecretUpdateSplunk is a command that updates a rotated secret for a
Splunk target. It reuses the rotator type chosen at create time.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateSplunk {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// Token audience for Splunk token creation (relevant only for rotator-type=token)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Token expiration date in YYYY-MM-DD format (relevant only for rotator-type=token when manual rotation is selected). Time will be set to 00:00 UTC.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_date: Option<String>,
/// For rotator-type=hec-token, optionally set/replace the stored HEC token value.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hec_token: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// For rotator-type=token, optionally set/replace the stored Splunk authentication token value.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub splunk_token: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// For rotator-type=token, specify the Splunk username that the new token should be issued for.
(Splunk 10 requires name=<token-owner> when creating auth tokens.)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_owner: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateSsh {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Private key file contents encoded using base64
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_data_base64: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// The path to the public key that will be rotated on the server
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key_remote_path: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// Custom rotation command
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotator_custom_cmd: Option<String>,
/// The rotator type. options: [target/password/key]
pub rotator_type: String,
/// Rotate same password for each host from the Linked Target (relevant only for Linked Target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub same_password: Option<String>,
/// Allow providing external user for a domain users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_external_user: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Default domain name server. i.e. microsoft.com
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Override the RDP Domain username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// Override the SSH username as indicated in SSH Certificate Issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_ssh_user: Option<String>,
/// Specify target type. Options are ssh or rdp
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_target_type: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RotatedSecretUpdateWindows {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// The credentials to connect with use-user-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_credentials: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Rotated secret name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The length of the password to be generated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (1-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The rotator type. options: [target/password]
pub rotator_type: String,
/// Rotate same password for each host from the Linked Target (relevant only for Linked Target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub same_password: Option<String>,
/// Allow providing external user for a domain users
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_external_user: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Default domain name server. i.e. microsoft.com
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Override the RDP Domain username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SetItemState {
/// Desired item state (Enabled, Disabled)
pub desired_state: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Current item name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The specific version you want to update: 0=item level state (default) (relevant only for keys)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SetItemStateOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SetRoleRule {
/// List of the approved/denied capabilities in the path options: [read,
create, update, delete, list, deny]
pub capability: Vec<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The path the rule refers to
pub path: String,
/// The role name to be updated
pub role_name: String,
/// item-rule, target-rule, role-rule, auth-method-rule, search-rule, reports-rule, gw-reports-rule or sra-reports-rule, sra-rule
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rule_type: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// RoleRule ttl
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<i64>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SetRoleRuleOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ShareItem {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// Action to be performed on the item [start/stop/describe]
pub action: String,
/// List of emails to start/stop sharing the secret with
#[serde(default, skip_serializing_if = "Option::is_none")]
pub emails: Option<Vec<String>>,
/// Item name
pub item_name: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Share type [email/token]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub share_type: Option<String>,
/// Shared token ids in order to stop sharing a secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub shared_token_id: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// TTL of the Availability of the shared secret in seconds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<i64>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// ViewOnlyOnce Shared secrets can only be viewed once [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub view_once: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ShareItemOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_error: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items_error: Option<Vec<ResponseStopShareItem>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub s_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub shared_users: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub shared_users_full_info: Option<Vec<SharingItemFullInfo>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sharing_url: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignDataWithClassicKey {
/// Data
pub data: String,
/// The name of the key to use in the sign data process
pub display_id: String,
/// Defines whether the data should be hashed as part of the signing. If true, the data will not be hashed
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashed: Option<bool>,
/// HashingMethod
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashing_method: Option<String>,
/// Retrieve the Secret value without checking the Gateway's cache [true/false]. This flag is only relevant when using the RestAPI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ignore_cache: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// ClassicKey name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// classic key version
pub version: i64,
}
/// signEcDsa Calculates the signature of a given message using ECDSA
and a sha hash algorithm matching the key size
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignEcDsa {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// The display id of the EC key to use for the signing process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// The item id of the EC key to use for the signing process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the EC key to use for the signing process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_name: Option<String>,
/// The input message to sign in a base64 format
pub message: String,
/// Markes that the message is already hashed
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prehashed: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The version of the key to use for signing
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignGpg {
/// The display id of the key to use in the encryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// The item id of the key to use in the encryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the key to use in the encryption process
pub key_name: String,
/// The message to be signed in base64 format
pub message: String,
/// Passphrase that was used to generate the key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub passphrase: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignGpgOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignJwtOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignJwtWithClassicKey {
/// The name of the key to use in the sign JWT process
pub display_id: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// JWTClaims
pub jwt_claims: String,
/// SigningMethod
pub signing_method: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// classic key version
pub version: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// signPKCS1 is a command that calculates the signature of hashed data using
RSASSA-PKCS1-V1_5-SIGN from RSA PKCS#1 v1.5.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignPkcs1 {
/// The display id of the key to use in the signing process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// HashFunction defines the hash function (e.g. sha-256)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash_function: Option<String>,
/// Select default assumed format for the plaintext message. Currently supported options: [base64]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub input_format: Option<String>,
/// The item id of the key to use in the signing process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the RSA key to use in the signing process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_name: Option<String>,
/// The message to be signed
pub message: String,
/// Markes that the message is already hashed
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prehashed: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The version of the key to use for signing
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignPkiCertOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignPkiCertWithClassicKey {
/// The common name to be included in the PKI certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub common_name: Option<String>,
/// A comma-separated list of the country that will be set in the issued
certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
/// The name of the key to use in the sign PKI Cert process
pub display_id: String,
/// DNS Names to be included in the PKI certificate (in a comma-delimited list)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dns_names: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// key-usage
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_usage: Option<String>,
/// A comma-separated list of the locality that will be set in the issued
certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub locality: Option<String>,
/// A comma-separated list of organizational units (OU) that will be set in
the issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organizational_units: Option<String>,
/// A comma-separated list of organizations (O) that will be set in the
issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organizations: Option<String>,
/// A comma-separated list of the postal code that will be set in the issued
certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postal_code: Option<String>,
/// A comma-separated list of the province that will be set in the issued
certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub province: Option<String>,
/// PublicKey using for signing in a PEM format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key_pem_data: Option<String>,
/// SigningMethod
pub signing_method: String,
/// A comma-separated list of the street address that will be set in the
issued certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub street_address: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// he requested Time To Live for the certificate, in seconds
pub ttl: i64,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The URI Subject Alternative Names to be included in the PKI certificate (in a comma-delimited list)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri_sans: Option<String>,
/// classic key version
pub version: i64,
}
/// signRsaSsaPss is a command that calculates the signature of a given message using rsassa-pss
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignRsaSsaPss {
/// The display id of the RSA key to use in the signing process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// HashFunction defines the hash function (e.g. sha-256)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash_function: Option<String>,
/// The item id of the RSA key to use in the signing process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the RSA key to use in the signing process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_name: Option<String>,
/// The input message to sign in a base64 format
pub message: String,
/// Markes that the message is already hashed
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prehashed: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The version of the key to use for signing
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
/// staticCredsAuth is a command that creates a temporary access profile using
the provided static credentials.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StaticCredsAuth {
/// Akeyless JWT token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
/// Akeyless JWT token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_email: Option<String>,
/// Akeyless JWT token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creds: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StaticCredsAuthOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StaticSecretDeleteSync {
/// Delete the secret from the remote target USC as well
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_from_usc: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Static secret name
pub name: String,
/// Remote Secret Name to disambiguate when multiple syncs exist under the same USC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remote_secret_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Universal Secret Connector name
pub usc_name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StaticSecretSync {
/// Delete the secret from remote secret manager (for association create/update)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_remote: Option<bool>,
/// JQ expression to filter or transform the secret value
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_secret_value: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Static secret name
pub name: String,
/// Vault namespace, releavnt only for Hashicorp Vault Target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
/// Remote Secret Name that will be synced on the remote endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remote_secret_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Universal Secret Connector name, If not provided all attached USC's will be synced
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usc_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateArtifactory {
/// Artifactory Admin Name
pub artifactory_admin_name: String,
/// Artifactory Admin password
pub artifactory_admin_pwd: String,
/// Base URL
pub base_url: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key used to encrypt the target secret value (if empty, the
account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateAws {
/// AWS secret access key
pub access_key: String,
/// AWS access key ID
pub access_key_id: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A unique auto-generated value used in your AWS account when configuring your AWS IAM role to securely delegate access to Akeyless. Relevant only when using GW cloud ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generate_external_id: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// AWS region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// AWS IAM role identifier that Gateway will assume in your AWS account, relevant only when using external ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
/// Required only for temporary security credentials retrieved using STS
#[serde(default, skip_serializing_if = "Option::is_none")]
pub session_token: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's Cloud IAM
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateAzure {
/// Azure cloud environment to use. Values: AzureCloud (default), AzureUSGovernment, AzureChinaCloud.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_cloud: Option<String>,
/// Azure client/application id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Azure client secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Type of connection [credentials/cloud-identity]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// The Resource Group name in your Azure subscription
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_group_name: Option<String>,
/// The name of the relevant Resource
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_name: Option<String>,
/// Azure Subscription Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subscription_id: Option<String>,
/// Azure tenant id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant_id: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's Cloud IAM [Deprecated: Use connection-type=cloud-identity]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateDb {
/// (Optional) Client id (relevant for "cloud-service-provider" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_id: Option<String>,
/// (Optional) Client secret (relevant for "cloud-service-provider" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_secret: Option<String>,
/// (Optional) Tenant id (relevant for "cloud-service-provider" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_tenant_id: Option<String>,
/// (Optional) Cloud service provider (currently only supports Azure)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cloud_service_provider: Option<String>,
/// Cluster Mode
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_mode: Option<bool>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Type of connection to mssql database [credentials/cloud-identity/wallet/parent-target]
pub connection_type: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_name: Option<String>,
/// (Optional) DB server certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) Server name for certificate verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
pub db_type: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas: Option<bool>,
/// MongoDB Atlas private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_private_key: Option<String>,
/// MongoDB Atlas public key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_public_key: Option<String>,
/// MongoDB Atlas project ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_project_id: Option<String>,
/// MongoDB server default authentication database
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_default_auth_db: Option<String>,
/// MongoDB server URI options
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_uri_options: Option<String>,
/// Target name
pub name: String,
/// Oracle db service name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_service_name: Option<String>,
/// Oracle Wallet login type (password/mtls)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_login_type: Option<String>,
/// Oracle wallet p12 file data in base64
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_p12_file_data: Option<String>,
/// Oracle wallet sso file data in base64
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_sso_file_data: Option<String>,
/// Name of the parent target, relevant only when connection-type is parent-target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_target_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pwd: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub snowflake_account: Option<String>,
/// RSA Private key (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub snowflake_api_private_key: Option<String>,
/// The Private key passphrase
#[serde(default, skip_serializing_if = "Option::is_none")]
pub snowflake_api_private_key_password: Option<String>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL connection certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateDockerhub {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Password for docker repository
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_password: Option<String>,
/// Username for docker repository
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_username: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateEks {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Access Key ID
pub eks_access_key_id: String,
/// EKS cluster CA certificate
pub eks_cluster_ca_cert: String,
/// EKS cluster URL endpoint
pub eks_cluster_endpoint: String,
/// EKS cluster name
pub eks_cluster_name: String,
/// Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_region: Option<String>,
/// Secret Access Key
pub eks_secret_access_key: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateGcp {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
/// targetCreateGemini is a command that creates a new gemini target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateGemini {
/// API key for Gemini
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Base URL of the Gemini API
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gemini_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateGithub {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Github app id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_id: Option<i64>,
/// App private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_private_key: Option<String>,
/// Base URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_base_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateGitlab {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Gitlab access token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_access_token: Option<String>,
/// Gitlab tls certificate (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_certificate: Option<String>,
/// Gitlab base url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateGke {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// GKE Service Account key file path
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_account_key: Option<String>,
/// GKE cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_cert: Option<String>,
/// GKE cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_endpoint: Option<String>,
/// GKE cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_name: Option<String>,
/// GKE service account email
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_service_account_email: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateGlobalSign {
/// Email of the GlobalSign GCC account contact
pub contact_email: String,
/// First name of the GlobalSign GCC account contact
pub contact_first_name: String,
/// Last name of the GlobalSign GCC account contact
pub contact_last_name: String,
/// Telephone of the GlobalSign GCC account contact
pub contact_phone: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Password of the GlobalSign GCC account
pub password: String,
/// Profile ID of the GlobalSign GCC account
pub profile_id: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Username of the GlobalSign GCC account
pub username: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateGlobalSignAtlas {
/// API Key of the GlobalSign Atlas account
pub api_key: String,
/// API Secret of the GlobalSign Atlas account
pub api_secret: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Mutual TLS Certificate contents of the GlobalSign Atlas account encoded in base64, either mtls-cert-file-path or mtls-cert-data-base64 must be supplied
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mtls_cert_data_base64: Option<String>,
/// Mutual TLS Key contents of the GlobalSign Atlas account encoded in base64, either mtls-key-file-path or mtls-data-base64 must be supplied
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mtls_key_data_base64: Option<String>,
/// Target name
pub name: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateGodaddy {
/// Key of the api credentials to the Godaddy account
pub api_key: String,
/// Customer ID (ShopperId) required for renewal of imported certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_id: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// ImapFQDN of the IMAP service, FQDN or IPv4 address. Must be FQDN if the IMAP is using TLS
pub imap_fqdn: String,
/// ImapPassword to access the IMAP service
pub imap_password: String,
/// ImapPort of the IMAP service
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_port: Option<String>,
/// ImapUsername to access the IMAP service
pub imap_username: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Secret of the api credentials to the Godaddy account
pub secret: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateHashiVault {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// HashiCorp Vault API URL, e.g. https://vault-mgr01:8200
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Comma-separated list of vault namespaces
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Vault access token with sufficient permissions
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vault_token: Option<String>,
}
/// targetCreateK8s is a command that creates a new k8s target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateK8s {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// K8S auth type [token/certificate]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auth_type: Option<String>,
/// Content of the k8 client certificate (PEM format) in a Base64 format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_certificate: Option<String>,
/// Content of the k8 client private key (PEM format) in a Base64 format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_key: Option<String>,
/// K8S cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_ca_cert: Option<String>,
/// K8S cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_endpoint: Option<String>,
/// K8S cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_name: Option<String>,
/// K8S cluster Bearer token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_token: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_service_account: Option<bool>,
}
/// targetCreateLdap is a command that creates a new ldap target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateLdap {
/// Bind DN
pub bind_dn: String,
/// Bind DN Password
pub bind_dn_password: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// CA Certificate File Content
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_ca_cert: Option<String>,
/// LDAP Server URL
pub ldap_url: String,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Set Ldap server type, Options:[OpenLDAP, ActiveDirectory]. Default is OpenLDAP
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_type: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Token expiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_expiration: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetCreateLetsEncrypt is a command that creates a new Let's Encrypt target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateLetsEncrypt {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub acme_challenge: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Name of existing cloud target for DNS credentials. Required when acme-challenge=dns. Supported: AWS, Azure, GCP targets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dns_target_creds: Option<String>,
/// Email address for ACME account registration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
/// GCP Cloud DNS: Project ID. Optional - can be derived from service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_project: Option<String>,
/// AWS Route53 hosted zone ID. Required when dns-target-creds points to AWS target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosted_zone: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lets_encrypt_url: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Azure resource group name. Required when dns-target-creds points to Azure target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_group: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateLinked {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A comma seperated list of server hosts and server descriptions joined by semicolon ';' (i.e. 'server-dev.com;My Dev server,server-prod.com;My Prod server description')
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosts: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Target name
pub name: String,
/// The parent Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_target_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Specifies the hosts type, relevant only when working without parent target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetCreateOpenAI is a command that creates a new openai target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateOpenAi {
/// API key for OpenAI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// API key ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key_id: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Default model to use with OpenAI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub model: Option<String>,
/// Target name
pub name: String,
/// Base URL of the OpenAI API
#[serde(default, skip_serializing_if = "Option::is_none")]
pub openai_url: Option<String>,
/// Organization ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organization_id: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// targetCreatePing is a command that creates a new ping target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreatePing {
/// Ping Federate administrative port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub administrative_port: Option<String>,
/// Ping Federate authorization port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization_port: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Ping Federate privileged user password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// Ping URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_url: Option<String>,
/// Ping Federate privileged user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged_user: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetCreateRabbitMq is a command that creates a new rabbitmq target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateRabbitMq {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_user: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetCreateSalesforce is a command that creates a new Salesforce target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateSalesforce {
/// Base64 encoded PEM of the connected app private key (relevant for JWT auth only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_private_key_data: Option<String>,
/// type of the auth flow ('jwt' / 'user-password')
pub auth_flow: String,
/// Base64 encoded PEM cert to use when uploading a new key to Salesforce
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_cert_data: Option<String>,
/// name of the certificate in Salesforce tenant to use when uploading new key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_cert_name: Option<String>,
/// Client ID of the oauth2 app to use for connecting to Salesforce
pub client_id: String,
/// Client secret of the oauth2 app to use for connecting to Salesforce (required for password flow)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// The email of the user attached to the oauth2 app used for connecting to Salesforce
pub email: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// The password of the user attached to the oauth2 app used for connecting to Salesforce (required for user-password flow)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// The security token of the user attached to the oauth2 app used for connecting to Salesforce (required for user-password flow)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub security_token: Option<String>,
/// Url of the Salesforce tenant
pub tenant_url: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetCreateSectigo is a command that creates a new Sectigo target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateSectigo {
/// Certificate Profile ID in Sectigo account
pub certificate_profile_id: i64,
/// Customer Uri of the Sectigo account
pub customer_uri: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// External Requester - a comma separated list of emails
pub external_requester: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Organization ID in Sectigo account
pub organization_id: i64,
/// Password of the Sectigo account user
pub password: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Username of the Sectigo account
pub username: String,
}
/// targetCreateSplunk is a command that creates a new splunk target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateSplunk {
/// Splunk token audience (required when using token authentication for rotation)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Splunk Password (used when authenticating with username/password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// Splunk Token (used when authenticating with token)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Splunk Token Owner (required when using token authentication for rotation)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_owner: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Splunk server URL
pub url: String,
/// Use TLS certificate verification when connecting to the Splunk management API
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_tls: Option<bool>,
/// Splunk Username (used when authenticating with username/password)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
/// targetCreateSsh is a command that creates a new ssh target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateSsh {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// SSH host name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// SSH port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// SSH private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
/// SSH private key password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_password: Option<String>,
/// SSH password to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_password: Option<String>,
/// SSH username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_username: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetCreateWeb is a command that creates a new web target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateWeb {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
/// GatewayCreateProducerWindowsCmd is a command that creates a new windows target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateWindows {
/// SSL CA certificate in base64 encoding generated from a trusted Certificate Authority (CA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate: Option<String>,
/// Type of connection to Windows Server [credentials/parent-target]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// User domain name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain: Option<String>,
/// Server hostname
pub hostname: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Name of the parent target, relevant only when connection-type is parent-target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_target_name: Option<String>,
/// Privileged user password
pub password: String,
/// Server WinRM port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Enable/Disable TLS for WinRM over HTTPS [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_tls: Option<String>,
/// Privileged username
pub username: String,
}
/// targetCreateZeroSSL is a command that creates a new ZeroSSL target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetCreateZeroSsl {
/// API Key of the ZeroSSLTarget account
pub api_key: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// ImapFQDN of the IMAP service, FQDN or IPv4 address. Must be FQDN if the IMAP is using TLS
pub imap_fqdn: String,
/// ImapPassword to access the IMAP service
pub imap_password: String,
/// ImapPort of the IMAP service
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_port: Option<String>,
/// ImapValidationEmail to use when asking ZeroSSL to send a validation email, if empty will user imap-username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_target_email: Option<String>,
/// ImapUsername to access the IMAP service
pub imap_username: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetDelete is a command that deletes a target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetDelete {
/// Enforce deletion
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_deletion: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Target name
pub name: String,
/// Target version
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_version: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetDeleteOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetGet {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Target name
pub name: String,
/// Include all target versions in reply
#[serde(default, skip_serializing_if = "Option::is_none")]
pub show_versions: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetGetDetails {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Target name
pub name: String,
/// Include all target versions in reply
#[serde(default, skip_serializing_if = "Option::is_none")]
pub show_versions: Option<bool>,
/// Target version
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_version: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetList is a command that returns a list of targets
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetList {
/// Filter by auth method name or part of it
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Next page reference
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pagination_token: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The target types list . In case it is empty, all
types of targets will be returned. options: [hanadb cassandra aws ssh gke eks mysql mongodb snowflake mssql redshift artifactory azure rabbitmq k8s venafi gcp oracle dockerhub ldap github chef web salesforce postgres]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<Vec<String>>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateArtifactory {
/// Artifactory Admin Name
pub artifactory_admin_name: String,
/// Artifactory Admin password
pub artifactory_admin_pwd: String,
/// Base URL
pub base_url: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateAws {
/// AWS secret access key
pub access_key: String,
/// AWS access key ID
pub access_key_id: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A unique auto-generated value used in your AWS account when configuring your AWS IAM role to securely delegate access to Akeyless. Relevant only when using GW cloud ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generate_external_id: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// AWS region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// AWS IAM role identifier that Gateway will assume in your AWS account, relevant only when using external ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
/// Required only for temporary security credentials retrieved using STS
#[serde(default, skip_serializing_if = "Option::is_none")]
pub session_token: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's Cloud IAM
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateAzure {
/// Azure cloud environment to use. Values: AzureCloud (default), AzureUSGovernment, AzureChinaCloud.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_cloud: Option<String>,
/// Azure client/application id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Azure client secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Type of connection [credentials/cloud-identity]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The Resource Group name in your Azure subscription
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_group_name: Option<String>,
/// The name of the relevant Resource
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_name: Option<String>,
/// Azure Subscription Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subscription_id: Option<String>,
/// Azure tenant id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant_id: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's Cloud IAM [Deprecated: Use connection-type=cloud-identity]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateDb {
/// (Optional) Client id (relevant for "cloud-service-provider" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_id: Option<String>,
/// (Optional) Client secret (relevant for "cloud-service-provider" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_secret: Option<String>,
/// (Optional) Tenant id (relevant for "cloud-service-provider" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_tenant_id: Option<String>,
/// (Optional) Cloud service provider (currently only supports Azure)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cloud_service_provider: Option<String>,
/// Cluster Mode
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_mode: Option<bool>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Type of connection to mssql database [credentials/cloud-identity/wallet/parent-target]
pub connection_type: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_name: Option<String>,
/// (Optional) DB server certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) Server name for certificate verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
pub db_type: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas: Option<bool>,
/// MongoDB Atlas private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_private_key: Option<String>,
/// MongoDB Atlas public key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_public_key: Option<String>,
/// MongoDB Atlas project ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_project_id: Option<String>,
/// MongoDB server default authentication database
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_default_auth_db: Option<String>,
/// MongoDB server URI options
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_uri_options: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Oracle db service name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_service_name: Option<String>,
/// Oracle Wallet login type (password/mtls)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_login_type: Option<String>,
/// Oracle wallet p12 file data in base64
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_p12_file_data: Option<String>,
/// Oracle wallet sso file data in base64
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_sso_file_data: Option<String>,
/// Name of the parent target, relevant only when connection-type is parent-target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_target_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pwd: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub snowflake_account: Option<String>,
/// RSA Private key (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub snowflake_api_private_key: Option<String>,
/// The Private key passphrase
#[serde(default, skip_serializing_if = "Option::is_none")]
pub snowflake_api_private_key_password: Option<String>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL connection certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateDockerhub {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Password for docker repository
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_password: Option<String>,
/// Username for docker repository
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_username: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateEks {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Access Key ID
pub eks_access_key_id: String,
/// EKS cluster CA certificate
pub eks_cluster_ca_cert: String,
/// EKS cluster URL endpoint
pub eks_cluster_endpoint: String,
/// EKS cluster name
pub eks_cluster_name: String,
/// Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_region: Option<String>,
/// Secret Access Key
pub eks_secret_access_key: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateGcp {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
/// targetUpdateGemini is a command that updates an existing gemini target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateGemini {
/// API key for Gemini
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Base URL of the Gemini API
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gemini_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_comment: Option<String>,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateGithub {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Github app id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_id: Option<i64>,
/// App private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_private_key: Option<String>,
/// Base URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_base_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateGitlab {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Gitlab access token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_access_token: Option<String>,
/// Gitlab tls certificate (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_certificate: Option<String>,
/// Gitlab base url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateGke {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// GKE Service Account key file path
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_account_key: Option<String>,
/// GKE cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_cert: Option<String>,
/// GKE cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_endpoint: Option<String>,
/// GKE cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_name: Option<String>,
/// GKE service account email
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_service_account_email: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateGlobalSign {
/// Email of the GlobalSign GCC account contact
pub contact_email: String,
/// First name of the GlobalSign GCC account contact
pub contact_first_name: String,
/// Last name of the GlobalSign GCC account contact
pub contact_last_name: String,
/// Telephone of the GlobalSign GCC account contact
pub contact_phone: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Password of the GlobalSign GCC account
pub password: String,
/// Profile ID of the GlobalSign GCC account
pub profile_id: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Username of the GlobalSign GCC account
pub username: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateGlobalSignAtlas {
/// API Key of the GlobalSign Atlas account
pub api_key: String,
/// API Secret of the GlobalSign Atlas account
pub api_secret: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Mutual TLS Certificate contents of the GlobalSign Atlas account encoded in base64, either mtls-cert-file-path or mtls-cert-data-base64 must be supplied
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mtls_cert_data_base64: Option<String>,
/// Mutual TLS Key contents of the GlobalSign Atlas account encoded in base64, either mtls-key-file-path or mtls-data-base64 must be supplied
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mtls_key_data_base64: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateGodaddy {
/// Key of the api credentials to the Godaddy account
pub api_key: String,
/// Customer ID (ShopperId) required for renewal of imported certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_id: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// ImapFQDN of the IMAP service, FQDN or IPv4 address. Must be FQDN if the IMAP is using TLS
pub imap_fqdn: String,
/// ImapPassword to access the IMAP service
pub imap_password: String,
/// ImapPort of the IMAP service
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_port: Option<String>,
/// ImapUsername to access the IMAP service
pub imap_username: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Secret of the api credentials to the Godaddy account
pub secret: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateHashiVault {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// HashiCorp Vault API URL, e.g. https://vault-mgr01:8200
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Comma-separated list of vault namespaces
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<Vec<String>>,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Vault access token with sufficient permissions
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vault_token: Option<String>,
}
/// targetUpdateK8s is a command that updates an existing k8s target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateK8s {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// K8S auth type [token/certificate]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auth_type: Option<String>,
/// Content of the k8 client certificate (PEM format) in a Base64 format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_certificate: Option<String>,
/// Content of the k8 client private key (PEM format) in a Base64 format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_key: Option<String>,
/// K8S cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_ca_cert: Option<String>,
/// K8S cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_endpoint: Option<String>,
/// K8S cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_name: Option<String>,
/// K8S cluster Bearer token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_token: Option<String>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Use the GW's service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_service_account: Option<bool>,
}
/// targetUpdateLdap is a command that updates an existing ldap target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateLdap {
/// Bind DN
pub bind_dn: String,
/// Bind DN Password
pub bind_dn_password: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// CA Certificate File Content
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_ca_cert: Option<String>,
/// LDAP Server URL
pub ldap_url: String,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Set Ldap server type, Options:[OpenLDAP, ActiveDirectory]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_type: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Token expiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_expiration: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetUpdateLetsEncrypt is a command that updates an existing Let's Encrypt target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateLetsEncrypt {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub acme_challenge: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Name of existing cloud target for DNS credentials. Required when acme-challenge=dns. Supported: AWS, Azure, GCP targets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dns_target_creds: Option<String>,
/// Email address for ACME account registration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
/// GCP Cloud DNS: Project ID. Optional - can be derived from service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_project: Option<String>,
/// AWS Route53 hosted zone ID. Required when dns-target-creds points to AWS target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosted_zone: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lets_encrypt_url: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Azure resource group name. Required when dns-target-creds points to Azure target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_group: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateLinked {
/// A comma seperated list of new server hosts and server descriptions joined by semicolon ';' that will be added to the Linked Target hosts.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_hosts: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A comma seperated list of server hosts and server descriptions joined by semicolon ';' (i.e. 'server-dev.com;My Dev server,server-prod.com;My Prod server description')
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosts: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// Linked Target name
pub name: String,
/// New Linked Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The parent Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_target_name: Option<String>,
/// Comma separated list of existing hosts that will be removed from Linked Target hosts.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_hosts: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Specifies the hosts type, relevant only when working without parent target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetUpdateOpenAI is a command that updates an existing openai target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateOpenAi {
/// API key for OpenAI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// API key ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key_id: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Default model to use with OpenAI
#[serde(default, skip_serializing_if = "Option::is_none")]
pub model: Option<String>,
/// Target name
pub name: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_comment: Option<String>,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Base URL of the OpenAI API
#[serde(default, skip_serializing_if = "Option::is_none")]
pub openai_url: Option<String>,
/// Organization ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organization_id: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// targetUpdatePing is a command that updates an existing ping target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdatePing {
/// Ping Federate administrative port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub administrative_port: Option<String>,
/// Ping Federate authorization port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization_port: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Ping Federate privileged user password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// Ping URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_url: Option<String>,
/// Ping Federate privileged user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged_user: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetUpdateRabbitMq is a command that updates an existing rabbitmq target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateRabbitMq {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_user: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetUpdateSalesforce is a command that updates an existing Salesforce target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateSalesforce {
/// Base64 encoded PEM of the connected app private key (relevant for JWT auth only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_private_key_data: Option<String>,
/// type of the auth flow ('jwt' / 'user-password')
pub auth_flow: String,
/// Base64 encoded PEM cert to use when uploading a new key to Salesforce
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_cert_data: Option<String>,
/// name of the certificate in Salesforce tenant to use when uploading new key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_cert_name: Option<String>,
/// Client ID of the oauth2 app to use for connecting to Salesforce
pub client_id: String,
/// Client secret of the oauth2 app to use for connecting to Salesforce (required for password flow)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// The email of the user attached to the oauth2 app used for connecting to Salesforce
pub email: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The password of the user attached to the oauth2 app used for connecting to Salesforce (required for user-password flow)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// The security token of the user attached to the oauth2 app used for connecting to Salesforce (required for user-password flow)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub security_token: Option<String>,
/// Url of the Salesforce tenant
pub tenant_url: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetUpdateSectigo is a command that updates an existing Sectigo target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateSectigo {
/// Certificate Profile ID in Sectigo account
pub certificate_profile_id: i64,
/// Customer Uri of the Sectigo account
pub customer_uri: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// External Requester - a comma separated list of emails
pub external_requester: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Organization ID in Sectigo account
pub organization_id: i64,
/// Password of the Sectigo account user
pub password: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Username of the Sectigo account
pub username: String,
}
/// targetUpdateSsh is a command that updates an existing ssh target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateSsh {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// SSH host name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// SSH port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// SSH private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
/// SSH private key password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_password: Option<String>,
/// SSH password to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_password: Option<String>,
/// SSH username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_username: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// targetUpdateWeb is a command that updates an existing web target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateWeb {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
/// GatewayUpdateProducerWindowsCmd is a command that updates an existing windows target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateWindows {
/// SSL CA certificate in base64 encoding generated from a trusted Certificate Authority (CA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate: Option<String>,
/// Type of connection to Windows Server [credentials/parent-target]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// User domain name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain: Option<String>,
/// Server hostname
pub hostname: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Name of the parent target, relevant only when connection-type is parent-target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_target_name: Option<String>,
/// Privileged user password
pub password: String,
/// Server WinRM port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Enable/Disable TLS for WinRM over HTTPS [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_tls: Option<String>,
/// Privileged username
pub username: String,
}
/// targetUpdateZeroSSL is a command that updates an existing ZeroSSL target
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetUpdateZeroSsl {
/// API Key of the ZeroSSLTarget account
pub api_key: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// ImapFQDN of the IMAP service, FQDN or IPv4 address. Must be FQDN if the IMAP is using TLS
pub imap_fqdn: String,
/// ImapPassword to access the IMAP service
pub imap_password: String,
/// ImapPort of the IMAP service
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_port: Option<String>,
/// ImapValidationEmail to use when asking ZeroSSL to send a validation email, if empty will user imap-username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_target_email: Option<String>,
/// ImapUsername to access the IMAP service
pub imap_username: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// tokenize is a command that encrypts text with a tokenizer
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Tokenize {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Data to be encrypted
pub plaintext: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The name of the tokenizer to use in the encryption process
pub tokenizer_name: String,
/// Base64 encoded tweak for vaultless encryption
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tweak: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TokenizeBatchOutput {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TokenizeOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tweak: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// uidCreateChildToken is a command that creates a new child token using
Akeyless Universal Identity.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UidCreateChildToken {
/// The universal identity auth method name, required only when uid-token is not provided
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_name: Option<String>,
/// Deny from new child to create their own children
#[serde(default, skip_serializing_if = "Option::is_none")]
pub child_deny_inheritance: Option<bool>,
/// Deny from new child to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub child_deny_rotate: Option<bool>,
/// New child token ttl
#[serde(default, skip_serializing_if = "Option::is_none")]
pub child_ttl: Option<i64>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The ID of the uid-token, required only when uid-token is not provided
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token_id: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UidCreateChildTokenOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// uidGenerateToken is a command that generates a new token using Akeyless
Universal Identity.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UidGenerateToken {
/// The universal identity auth method name
pub auth_method_name: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UidGenerateTokenOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// uidListChildren is a command that lists child token ids of Akeyless
Universal Identity.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UidListChildren {
/// The universal identity auth method name, required only when uid-token is not provided
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_name: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UidRevokeToken {
/// The universal identity auth method name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_method_name: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// the universal identity token/token-id to revoke
pub revoke_token: String,
/// revokeSelf/revokeAll (delete only this token/this token and his
children)
pub revoke_type: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UidRevokeTokenOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// uidRotateToken is a command that rotates an Akeyless Universal Identity
token.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UidRotateToken {
/// Create a new child token with default parameters
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fork: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The new rotated token to send manual ack for (with
uid-token=the-orig-token)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub send_manual_ack_token: Option<String>,
/// The Universal identity token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Disable automatic ack
#[serde(default, skip_serializing_if = "Option::is_none")]
pub with_manual_ack: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UidRotateTokenOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Unconfigure {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The profile name to be removed
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UnconfigureOutput {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UnwrapToken {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The shared token
pub shared_token: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Update {
/// Alternative CLI repository url. e.g. https://artifacts.site2.akeyless.io
#[serde(default, skip_serializing_if = "Option::is_none")]
pub artifact_repository: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Show the changelog between the current version and the latest one and exit (update will not be performed)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub show_changelog: Option<bool>,
/// The CLI version
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
/// updateAWSTarget is a command that updates a new target. [Deprecated: Use target-update-aws command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAwsTarget {
/// AWS secret access key
pub access_key: String,
/// AWS access key ID
pub access_key_id: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A unique auto-generated value used in your AWS account when configuring your AWS IAM role to securely delegate access to Akeyless. Relevant only when using GW cloud ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generate_external_id: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// AWS region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// AWS IAM role identifier that Gateway will assume in your AWS account, relevant only when using external ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
/// Required only for temporary security credentials retrieved using STS
#[serde(default, skip_serializing_if = "Option::is_none")]
pub session_token: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
/// Use the GW's Cloud IAM
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAwsTargetDetails {
/// The aws secret access key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_key: Option<String>,
/// The aws access key id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_key_id: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// Target name
pub name: String,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_version: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
/// The aws region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// Required only for temporary security credentials retrieved via STS, otherwise it can be an empty string
#[serde(default, skip_serializing_if = "Option::is_none")]
pub session_token: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAwsTargetOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAccountSettings {
/// Address
#[serde(default, skip_serializing_if = "Option::is_none")]
pub address: Option<String>,
/// A default list of client types that are allowed to authenticate [cli,ui,gateway-admin,sdk,mobile,extension].
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Limits email sharing to the specified domains. Relevant only when item sharing is enabled. By default, all domains are allowed.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_email_domains: Option<Vec<String>>,
/// A default list of comma-separated CIDR block that are allowed to authenticate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// City
#[serde(default, skip_serializing_if = "Option::is_none")]
pub city: Option<String>,
/// Company name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub company_name: Option<String>,
/// Country
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
/// How many days before the expiration of the certificate would you like to be notified. To specify multiple events, use argument multiple times: --default-certificate-expiration-notification-days 1 --default-certificate-expiration-notification-days 5
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_certificate_expiration_notification_days: Option<Vec<String>>,
/// Set the account default key based on the DFC key name.
Use "set-original-akeyless-default-key" to revert to using the original default key of the account.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_key_name: Option<String>,
/// Set the default ttl in minutes for sharing item number between 60 and 43200
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_share_link_ttl_minutes: Option<String>,
/// If set to true, new versions is enabled by default
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_versioning: Option<String>,
/// Set to update protection with classic keys state [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dp_enable_classic_key_protection: Option<String>,
/// Set the maximum ttl for dynamic secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dynamic_secret_max_ttl: Option<i64>,
/// Set a maximum ttl for dynamic secrets [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dynamic_secret_max_ttl_enable: Option<String>,
/// Enable AI insights [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_ai_insights: Option<String>,
/// How many days before the expiration of the certificate would you like to be notified. [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_default_certificate_expiration_event: Option<String>,
/// Enable sharing items [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_item_sharing: Option<String>,
/// Enable password expiration policy [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_password_expiration: Option<String>,
/// If set to true, new version will be created on update
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_new_versions: Option<String>,
/// A default list of comma-separated CIDR block that acts as a trusted Gateway entity.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Hide personal folder, if set - users will not be able to use personal folder [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hide_personal_folder: Option<String>,
/// Hide static secret's password type [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hide_static_password: Option<String>,
/// Characters that cannot be used for items/targets/roles/auths/event_forwarder names.
Empty string will enforce nothing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub invalid_characters: Option<String>,
/// VersionSettingsObjectType defines object types for account version settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_type: Option<String>,
/// Set or unset the default behaviour of items deletion protection [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items_deletion_protection: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Default ttl
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl_default: Option<i64>,
/// Maximum ttl
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl_max: Option<i64>,
/// Minimum ttl
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl_min: Option<i64>,
/// Lock allowed-client-type setting in the account [true/false].
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lock_allowed_client_type: Option<String>,
/// Lock bound-ips setting globally in the account.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lock_bound_ips: Option<String>,
/// Lock the account's default protection key, if set - users will not be able to use a different protection key,
relevant only if default-key-name is configured [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lock_default_key: Option<String>,
/// Lock gw-bound-ips setting in the account.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lock_gw_bound_ips: Option<String>,
/// Set the maximum rotation interval for rotated secrets auto rotation settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_rotation_interval: Option<i64>,
/// Set a maximum rotation interval for rotated secrets auto rotation settings [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_rotation_interval_enable: Option<String>,
/// Max versions
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Specifies the number of days that a password is valid before it must be changed. A default value of 90 days is used.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_expiration_days: Option<String>,
/// Specifies the number of days before a user receives notification that their password will expire. A default value of 14 days is used.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_expiration_notification_days: Option<String>,
/// Password length between 5 - to 50 characters
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password_length: Option<i64>,
/// Phone number
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
/// Postal code
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postal_code: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Enable event for objects that have not been used or changed [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usage_event_enable: Option<String>,
/// Interval by days for unused objects. Default and minimum interval is 90 days
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usage_event_interval: Option<i64>,
/// Usage event is supported for auth method or secrets-and-keys [auth/item]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usage_event_object_type: Option<String>,
/// Password must contain capital letters [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_capital_letters: Option<String>,
/// Password must contain lower case letters [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_lower_letters: Option<String>,
/// Password must contain numbers [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_numbers: Option<String>,
/// Password must contain special characters [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_special_characters: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAccountSettingsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateArtifactoryTarget is a command that updates a new target. [Deprecated: Use target-update-artifactory command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateArtifactoryTarget {
/// Artifactory Admin Name
pub artifactory_admin_name: String,
/// Artifactory Admin password
pub artifactory_admin_pwd: String,
/// Base URL
pub base_url: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateArtifactoryTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateAssoc is a command that updates the sub-claims of an association between role
and auth method.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAssoc {
/// The association id to be updated
pub assoc_id: String,
/// Treat sub claims as case-sensitive [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub case_sensitive: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// key/val of sub claims, e.g group=admins,developers
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_claims: Option<serde_json::Value>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAssocOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateAuthMethod is a command that updates a api key auth method. [Deprecated: Use auth-method-update-api-key command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethod {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// updateAuthMethodAWSIAM is a command that updates a new Auth Method that will
be able to authenticate using AWS IAM credentials. [Deprecated: Use auth-method-update-aws-iam command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodAwsiam {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A list of full arns that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_arn: Option<Vec<String>>,
/// A list of AWS account-IDs that the access is restricted to
pub bound_aws_account_id: Vec<String>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of full resource ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_id: Option<Vec<String>>,
/// A list of full role ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_role_id: Option<Vec<String>>,
/// A list of full role-name that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_role_name: Option<Vec<String>>,
/// A list of full user ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_user_id: Option<Vec<String>>,
/// A list of full user-name that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_user_name: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// sts URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sts_url: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodAwsiamOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateAuthMethodAzureAD is a command that updates a new auth method that
will be able to authenticate using Azure Active Directory credentials. [Deprecated: Use auth-method-update-azure-ad command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodAzureAd {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Deprecated
(Deprecated) The audience in the JWT
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A list of group ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_group_id: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of resource providers that the access is restricted to (e.g,
Microsoft.Compute, Microsoft.ManagedIdentity, etc)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_providers: Option<Vec<String>>,
/// A list of full resource ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_id: Option<Vec<String>>,
/// A list of resource names that the access is restricted to (e.g, a
virtual machine name, scale set name, etc).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_names: Option<Vec<String>>,
/// A list of resource types that the access is restricted to (e.g,
virtualMachines, userAssignedIdentities, etc)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_resource_types: Option<Vec<String>>,
/// A list of resource groups that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_rg_id: Option<Vec<String>>,
/// A list of service principal IDs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_spid: Option<Vec<String>>,
/// A list of subscription ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_sub_id: Option<Vec<String>>,
/// The Azure tenant id that the access is restricted to
pub bound_tenant_id: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The URL to the JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_uri: Option<String>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodAzureAdOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateAuthMethodCert is a command that updates a new auth method that
will be able to authenticate using a client certificate. [Deprecated: Use auth-method-update-cert command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodCert {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Comma separated list of allowed CORS domains to be validated as part of the authentication flow.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_cors: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A list of names. At least one must exist in the Common Name. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_common_names: Option<Vec<String>>,
/// A list of DNS names. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_dns_sans: Option<Vec<String>>,
/// A list of Email Addresses. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_email_sans: Option<Vec<String>>,
/// A list of extensions formatted as "oid:value". Expects the extension value to be some type of ASN1 encoded string. All values much match. Supports globbing on "value".
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_extensions: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of Organizational Units names. At least one must exist in the OU field.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_organizational_units: Option<Vec<String>>,
/// A list of URIs. At least one must exist in the SANs. Supports globbing.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_uri_sans: Option<Vec<String>>,
/// The certificate data in base64, if no file was provided
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_data: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Require certificate CRL distribution points (CDP) and enforce CRL validation during authentication.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub require_crl_dp: Option<bool>,
/// A list of revoked cert ids
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revoked_cert_ids: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured, such as common_name or organizational_unit
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodCertOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateAuthMethodGCP is a command that updates a new auth method that
will be able to authenticate using GCP IAM Service Account credentials
or GCE instance credentials. [Deprecated: Use auth-method-update-gcp command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodGcp {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// The audience to verify in the JWT received by the client
pub audience: String,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A comma-separated list of GCP labels formatted as "key:value" strings that must be set on authorized GCE instances.
TODO: Because GCP labels are not currently ACL'd ....
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_labels: Option<Vec<String>>,
/// === Human and Machine authentication section ===
Array of GCP project IDs. Only entities belonging to any of the provided projects can authenticate.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_projects: Option<Vec<String>>,
/// List of regions that a GCE instance must belong to in order to be authenticated.
TODO: If bound_instance_groups is provided, it is assumed to be a regional group and the group must belong to this region. If bound_zones are provided, this attribute is ignored.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_regions: Option<Vec<String>>,
/// List of service accounts the service account must be part of in order to be authenticated.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_service_accounts: Option<Vec<String>>,
/// === Machine authentication section ===
List of zones that a GCE instance must belong to in order to be authenticated.
TODO: If bound_instance_groups is provided, it is assumed to be a zonal group and the group must belong to this zone.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_zones: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// ServiceAccount credentials data instead of giving a file path, base64 encoded
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_account_creds_data: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Type of the GCP Access Rules
pub r#type: String,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value which is a "sub claim" name that contains details uniquely identifying that resource. This "sub claim" is used to distinguish between different identities.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodGcpOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateAuthMethodK8S is a command that updates a new auth method that will
be able to authenticate using K8S. [Deprecated: Use auth-method-update-k8s command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodK8s {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// The audience in the Kubernetes JWT that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// A list of namespaces that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_namespaces: Option<Vec<String>>,
/// A list of pod names that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_pod_names: Option<Vec<String>>,
/// A list of service account names that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_sa_names: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// Automatically generate key-pair for K8S configuration. If set to false, a public key needs to be provided [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gen_key: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Base64-encoded or PEM formatted public key data for K8S authentication method is required [RSA2048]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodK8sOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prv_key: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateAuthMethodLDAP is a command that updates a new auth method that will
be able to authenticate using LDAP. [Deprecated: Use auth-method-update-ldap command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodLdap {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// Automatically generate key-pair for LDAP configuration. If set to false, a public key needs to be provided [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gen_key: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A public key generated for LDAP authentication method on Akeyless in base64 or PEM format
[RSA2048]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public_key_data: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unique_identifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodLdapOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prv_key: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateAuthMethodOAuth2 is a command that updates a new auth method that will
be able to authenticate using Oauth2. [Deprecated: Use auth-method-update-oauth2 command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodOAuth2 {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// The audience in the JWT
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// The clients ids that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_client_ids: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// CertificateFile Path to a file that contain the certificate in a PEM format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<String>,
/// CertificateFileData PEM Certificate in a Base64 format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_file_data: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// Akeyless Gateway URL (Configuration Management port). Relevant only when the jwks-uri is accessible only from the gateway.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gateway_url: Option<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
base64 encoded string
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_json_data: Option<String>,
/// The URL to the JSON Web Key Set (JWKS) that containing the public keys
that should be used to verify any JSON Web Token (JWT) issued by the
authorization server.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwks_uri: Option<String>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodOAuth2Output {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateAuthMethodOCI is a command that updates an auth method that
will be used in the account using OCI principle and groups. [Deprecated: Use auth-method-update-oci command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodOci {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A list of required groups ocids
pub group_ocid: Vec<String>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// The Oracle Cloud tenant ID
pub tenant_ocid: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodOciOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateAuthMethodOIDC is a command that updates a new auth method that will
be available to authenticate using OIDC. [Deprecated: Use auth-method-update-oidc command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodOidc {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Allowed redirect URIs after the authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_redirect_uri: Option<Vec<String>>,
/// Audience claim to be used as part of the authentication flow. In case set, it must match the one configured on the Identity Provider's Application
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Client ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Client Secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Issuer URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// RequiredScopes is a list of required scopes that the oidc method will request from the oidc provider and the user must approve
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_scopes: Option<Vec<String>>,
/// RequiredScopesPrefix is a a prefix to add to all required-scopes when requesting them from the oidc server (for example, azures' Application ID URI)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_scopes_prefix: Option<String>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OIDC, OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodOidcOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateAuthMethodSAML is a command that updates a new auth method that will
be available to authenticate using SAML. [Deprecated: Use auth-method-update-saml command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodSaml {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Allowed redirect URIs after the authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_redirect_uri: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// IDP metadata url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub idp_metadata_url: Option<String>,
/// IDP metadata xml data
#[serde(default, skip_serializing_if = "Option::is_none")]
pub idp_metadata_xml_data: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subclaims_delimiters: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A unique identifier (ID) value should be configured for OAuth2,
LDAP and SAML authentication method types and is usually a value such
as the email, username, or upn for example.
Whenever a user logs in with a token, these authentication types issue
a "sub claim" that contains details uniquely identifying that user.
This sub claim includes a key containing the ID value that you
configured, and is used to distinguish between different users from
within the same organization.
pub unique_identifier: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodSamlOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateAuthMethodUniversalIdentity is a command that updates a new auth
method that will be able to authenticate using Akeyless Universal Identity. [Deprecated: Use auth-method-update-universal-identity command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodUniversalIdentity {
/// Access expiration date in Unix timestamp (select 0 for access without
expiry date)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_expires: Option<i64>,
/// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowed_client_type: Option<Vec<String>>,
/// Subclaims to include in audit logs, e.g "--audit-logs-claims email --audit-logs-claims username"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_logs_claims: Option<Vec<String>>,
/// A CIDR whitelist with the IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bound_ips: Option<Vec<String>>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Deny from root to create children
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deny_inheritance: Option<bool>,
/// Deny from the token to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deny_rotate: Option<bool>,
/// Auth Method description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the auth method would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// if true: enforce role-association must include sub claims
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_sub_claims: Option<bool>,
/// A CIDR whitelist with the GW IPs that the access is restricted to
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_bound_ips: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Jwt TTL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt_ttl: Option<i64>,
/// Auth Method name
pub name: String,
/// Auth Method new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub product_type: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Token ttl
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<i64>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAuthMethodUniversalIdentityOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateAzureTarget is a command that updates an existing target. [Deprecated: Use target-update-azure command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAzureTarget {
/// Azure cloud environment to use. Values: AzureCloud (default), AzureUSGovernment, AzureChinaCloud.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_cloud: Option<String>,
/// Azure client/application id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Azure client secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Type of connection [credentials/cloud-identity]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The Resource Group name in your Azure subscription
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_group_name: Option<String>,
/// The name of the relevant Resource
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_name: Option<String>,
/// Azure Subscription Id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subscription_id: Option<String>,
/// Azure tenant id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant_id: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
/// Use the GW's Cloud IAM [Deprecated: Use connection-type=cloud-identity]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateAzureTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateCertificateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateCertificateValue {
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// Content of the certificate in a Base64 format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_data: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the certificate would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// CertificateFormat of the certificate and private key, possible values: cer,crt,pem,pfx,p12.
Required when passing inline certificate content with --certificate-data or --key-data, otherwise format is derived from the file extension.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key to use to encrypt the certificate's key (if empty, the
account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Content of the certificate's private key in a Base64 format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_data: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// Certificate name
pub name: String,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// updateDBTarget is a command that updates an existing target. [Deprecated: Use target-update-db command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateDbTarget {
/// (Optional) Client id (relevant for "cloud-service-provider" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_id: Option<String>,
/// (Optional) Client secret (relevant for "cloud-service-provider" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_client_secret: Option<String>,
/// (Optional) Tenant id (relevant for "cloud-service-provider" only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure_tenant_id: Option<String>,
/// (Optional) Cloud service provider (currently only supports Azure)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cloud_service_provider: Option<String>,
/// Cluster Mode
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cluster_mode: Option<bool>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Type of connection to mssql database [credentials/cloud-identity/wallet/parent-target]
pub connection_type: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_name: Option<String>,
/// (Optional) DB server certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_certificates: Option<String>,
/// (Optional) Server name for certificate verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_server_name: Option<String>,
pub db_type: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas: Option<bool>,
/// MongoDB Atlas private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_private_key: Option<String>,
/// MongoDB Atlas public key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_api_public_key: Option<String>,
/// MongoDB Atlas project ID
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_atlas_project_id: Option<String>,
/// MongoDB server default authentication database
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_default_auth_db: Option<String>,
/// MongoDB server URI options
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongodb_uri_options: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Oracle db service name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_service_name: Option<String>,
/// Oracle Wallet login type (password/mtls)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_login_type: Option<String>,
/// Oracle wallet p12 file data in base64
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_p12_file_data: Option<String>,
/// Oracle wallet sso file data in base64
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle_wallet_sso_file_data: Option<String>,
/// Name of the parent target, relevant only when connection-type is parent-target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_target_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pwd: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub snowflake_account: Option<String>,
/// RSA Private key (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub snowflake_api_private_key: Option<String>,
/// The Private key passphrase
#[serde(default, skip_serializing_if = "Option::is_none")]
pub snowflake_api_private_key_password: Option<String>,
/// Enable/Disable SSL [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl: Option<bool>,
/// SSL connection certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssl_certificate: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateDbTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub db_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongo_db_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mongo_uri: Option<String>,
/// Target name
pub name: String,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_version: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pwd: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateDbTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateDockerhubTarget is a command that updates a new target. [Deprecated: Use target-update-dockerhub command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateDockerhubTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Password for docker repository
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_password: Option<String>,
/// Username for docker repository
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerhub_username: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateDockerhubTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateEKSTarget is a command that updates an existing target. [Deprecated: Use target-update-eks command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateEksTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Access Key ID
pub eks_access_key_id: String,
/// EKS cluster CA certificate
pub eks_cluster_ca_cert: String,
/// EKS cluster URL endpoint
pub eks_cluster_endpoint: String,
/// EKS cluster name
pub eks_cluster_name: String,
/// Region
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eks_region: Option<String>,
/// Secret Access Key
pub eks_secret_access_key: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateEksTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateEventForwarder is a command that updates an event forwarder [Deprecated - please use event-forwarder-update-* command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateEventForwarder {
/// Workstation Admin Name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_name: Option<String>,
/// The authentication type to use when connecting to ServiceNow (user-pass / jwt)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<String>,
/// The client ID to use when connecting to ServiceNow with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A comma seperated list of email addresses to send event to (relevant only for "email" Event Forwarder)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_to: Option<String>,
/// Enable/Disable Event Forwarder [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<String>,
/// Event sources
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_source_locations: Option<Vec<String>>,
/// Event types
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_types: Option<Vec<String>>,
/// Workstation Host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// EventForwarder name
pub name: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_comment: Option<String>,
/// New EventForwarder name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The user email to use when connecting to ServiceNow with jwt authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_email: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateEventForwarderOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateGKETarget is a command that updates an existing target. [Deprecated: Use target-update-gke command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGkeTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// GKE Service Account key file path
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_account_key: Option<String>,
/// GKE cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_cert: Option<String>,
/// GKE cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_endpoint: Option<String>,
/// GKE cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_cluster_name: Option<String>,
/// GKE service account email
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gke_service_account_email: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGkeTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateGcpTarget is a command that updates an existing target. [Deprecated: Use target-update-gcp command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGcpTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_cloud_identity: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGcpTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateGithubTarget is a command that updates a new target. [Deprecated: Use target-update-github command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGithubTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Github app id
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_id: Option<i64>,
/// App private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_app_private_key: Option<String>,
/// Base URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github_base_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGithubTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateGitlabTarget is a command that updates an existing target. [Deprecated: Use target-update-gitlab command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGitlabTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Gitlab access token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_access_token: Option<String>,
/// Gitlab tls certificate (base64 encoded)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_certificate: Option<String>,
/// Gitlab base url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGitlabTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateGlobalSignAtlasTarget is a command that updates an existing target. [Deprecated: Use target-update-globalsign-atlas command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGlobalSignAtlasTarget {
/// API Key of the GlobalSign Atlas account
pub api_key: String,
/// API Secret of the GlobalSign Atlas account
pub api_secret: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Mutual TLS Certificate contents of the GlobalSign Atlas account encoded in base64, either mtls-cert-file-path or mtls-cert-data-base64 must be supplied
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mtls_cert_data_base64: Option<String>,
/// Mutual TLS Key contents of the GlobalSign Atlas account encoded in base64, either mtls-key-file-path or mtls-data-base64 must be supplied
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mtls_key_data_base64: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGlobalSignAtlasTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateGlobalSignTarget is a command that updates an existing target. [Deprecated: Use target-update-globalsign command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGlobalSignTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Email of the GlobalSign GCC account contact
pub contact_email: String,
/// First name of the GlobalSign GCC account contact
pub contact_first_name: String,
/// Last name of the GlobalSign GCC account contact
pub contact_last_name: String,
/// Telephone of the GlobalSign GCC account contact
pub contact_phone: String,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Password of the GlobalSign GCC account
pub password: String,
/// Profile ID of the GlobalSign GCC account
pub profile_id: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
/// Username of the GlobalSign GCC account
pub username: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGlobalSignTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateGodaddyTarget is a command that updates an existing target. [Deprecated: Use target-update-godaddy command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGodaddyTarget {
/// Key of the api credentials to the Godaddy account
pub api_key: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Customer ID (ShopperId) required for renewal of imported certificates
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_id: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// ImapFQDN of the IMAP service, FQDN or IPv4 address. Must be FQDN if the IMAP is using TLS
pub imap_fqdn: String,
/// ImapPassword to access the IMAP service
pub imap_password: String,
/// ImapPort of the IMAP service
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_port: Option<String>,
/// ImapUsername to access the IMAP service
pub imap_username: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Secret of the api credentials to the Godaddy account
pub secret: String,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGodaddyTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateGroup {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A short group alias
pub group_alias: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Group name
pub name: String,
/// Group new name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// A json string defining the access permission assignment for this client
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_assignment: Option<String>,
}
/// updateHashiVaultTarget is a command that updates an existing target. [Deprecated: Use target-update-hashi-vault command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateHashiVaultTarget {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// HashiCorp Vault API URL, e.g. https://vault-mgr01:8200
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashi_url: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Comma-separated list of vault namespaces
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<Vec<String>>,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
/// Vault access token with sufficient permissions
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vault_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateHashiVaultTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UpdateItem {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider_type: Option<String>,
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// PEM Certificate in a Base64 format. Used for updating RSA keys' certificates.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_file_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_format: Option<String>,
/// Trigger an event when a secret value changed [true/false] (Relevant only for Static Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub change_event: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the certificate would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// GCP Secret Manager regions to query for regional secrets (comma-separated, e.g., us-east1,us-west1). Max 12 regions.
USC with GCP targets only.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_sm_regions: Option<String>,
/// Host provider type [explicit/target], Default Host provider is explicit, Relevant only for Secure Remote Access of ssh cert issuer, ldap rotated secret and ldap dynamic secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_provider: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Current item name
pub name: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_metadata: Option<String>,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// List of the new hosts that will be attached to SRA servers host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_add_host: Option<Vec<String>>,
/// Allow providing external user for a domain users [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_external_user: Option<String>,
/// Enable Port forwarding while using CLI access (relevant only for EKS/GKE/K8s Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_port_forwading: Option<bool>,
/// Bastion's SSH control API endpoint. E.g. https://my.sra-server:9900 (relevant only for ssh cert issuer)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_api: Option<String>,
/// The AWS account id (relevant only for aws)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_account_id: Option<String>,
/// The AWS native cli (relevant only for aws)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_native_cli: Option<bool>,
/// The AWS region (relevant only for aws)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_region: Option<String>,
/// Deprecated. use secure-access-api
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_api: Option<String>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Deprecated. use secure-access-ssh
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_ssh: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The K8s cluster endpoint URL (relevant only for EKS/GKE/K8s Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_cluster_endpoint: Option<String>,
/// The K8s dashboard url (relevant only for k8s)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_dashboard_url: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The DB schema (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_gateway: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// RD Gateway server (relevant only for rdp)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rd_gateway_server: Option<String>,
/// Required when the Dynamic Secret is used for a domain user (relevant only for RDP Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Override the RDP Domain username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// List of the existent hosts that will be removed from SRA servers host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rm_host: Option<Vec<String>>,
/// Bastion's SSH server. E.g. my.sra-server:22 (relevant only for ssh cert issuer)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_ssh: Option<String>,
/// Secret values contains SSH Credentials, either Private Key or Password [password/private-key] (relevant only for Static-Secret or Rotated-secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_ssh_creds: Option<String>,
/// SSH username to connect to target server, must be in 'Allowed Users' list (relevant only for ssh cert issuer)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_ssh_creds_user: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Deprecated. Use secure-access-use-internal-ssh-access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_use_internal_bastion: Option<bool>,
/// Use internal SSH Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_use_internal_ssh_access: Option<bool>,
/// Secure browser via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateItemOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateLdapTarget is a command that updates an existing target. [Deprecated: Use target-update-ldap command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateLdapTarget {
/// Bind DN
pub bind_dn: String,
/// Bind DN Password
pub bind_dn_password: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// CA Certificate File Content
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_ca_cert: Option<String>,
/// LDAP Server URL
pub ldap_url: String,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Set Ldap server type, Options:[OpenLDAP, ActiveDirectory]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server_type: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Token expiration
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_expiration: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateLdapTargetDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bind_dn_password: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_ca_cert: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap_url: Option<String>,
/// Target name
pub name: String,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_version: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_expiration: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateLdapTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateLinkedTarget is a command that updates an existing target. [Deprecated: Use target-update-linked command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateLinkedTarget {
/// A comma seperated list of new server hosts and server descriptions joined by semicolon ';' that will be added to the Linked Target hosts.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_hosts: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// A comma seperated list of server hosts and server descriptions joined by semicolon ';' (i.e. 'server-dev.com;My Dev server,server-prod.com;My Prod server description')
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosts: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// Linked Target name
pub name: String,
/// New Linked Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The parent Target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_target_name: Option<String>,
/// Comma separated list of existing hosts that will be removed from Linked Target hosts.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_hosts: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// Specifies the hosts type, relevant only when working without parent target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateLinkedTargetOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateNativeK8STarget is a command that updates an existing target. [Deprecated: Use target-update-k8s command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateNativeK8sTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// K8S auth type [token/certificate]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_auth_type: Option<String>,
/// Content of the k8 client certificate (PEM format) in a Base64 format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_certificate: Option<String>,
/// Content of the k8 client private key (PEM format) in a Base64 format
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_client_key: Option<String>,
/// K8S cluster CA certificate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_ca_cert: Option<String>,
/// K8S cluster URL endpoint
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_endpoint: Option<String>,
/// K8S cluster name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_name: Option<String>,
/// K8S cluster Bearer token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub k8s_cluster_token: Option<String>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
/// Use the GW's service account
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_gw_service_account: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateNativeK8sTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateOidcApp {
/// A comma separated list of allowed audiences
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of a key that used to encrypt the OIDC application (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// OIDC application name
pub name: String,
/// A json string defining the access permission assignment for this app
#[serde(default, skip_serializing_if = "Option::is_none")]
pub permission_assignment: Option<String>,
/// Set to true if the app is public (cannot keep secrets)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public: Option<bool>,
/// A comma separated list of allowed redirect uris
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redirect_uris: Option<String>,
/// A comma separated list of allowed scopes
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scopes: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub changelog: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub latest: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdatePkiCertIssuerOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updatePingTarget is a command that updates an existing target. [Deprecated: Use target-update-ping command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdatePingTarget {
/// Ping Federate administrative port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub administrative_port: Option<String>,
/// Ping Federate authorization port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization_port: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Ping Federate privileged user password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// Ping URL
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ping_url: Option<String>,
/// Ping Federate privileged user
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged_user: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdatePingTargetOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateRdpTargetDetails {
/// The admin name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_name: Option<String>,
/// The admin password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub admin_pwd: Option<String>,
/// The rdp host name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_name: Option<String>,
/// The rdp port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_port: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// Target name
pub name: String,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_version: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// updateRabbitMQTarget is a command that updates a new target. [Deprecated: Use target-update-rabbitmq command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateRabbitMqTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rabbitmq_server_user: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateRabbitMqTargetDetails {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// Target name
pub name: String,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_version: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pwd: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateRabbitMqTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateRole {
/// 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.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub analytics_access: Option<String>,
/// 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.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audit_access: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Allow this role to view Event Center. Currently only 'none', 'scoped' and 'all'
values are supported
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_center_access: Option<String>,
/// Allow this role to manage Event Forwarders. Currently only 'none' and 'all' values are supported.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub event_forwarder_access: Option<String>,
/// 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.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gw_analytics_access: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Role name
pub name: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_comment: Option<String>,
/// New Role name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Allow this role to view Reverse RBAC. Supported values: 'scoped', 'all'.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reverse_rbac_access: Option<String>,
/// Allow this role to view SRA Clusters. Currently only 'none', 'scoped',
'all' values are supported.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sra_reports_access: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Allow this role to view Usage Report. Currently only 'none' and
'all' values are supported.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usage_reports_access: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateRoleOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateRotatedSecret is a command that updates rotated secret. [Deprecated: Use rotated-secret update commands]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UpdateRotatedSecret {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider_type: Option<String>,
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// API ID to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_id: Option<String>,
/// API key to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
/// Whether to automatically rotate every --rotation-interval days, or
disable existing automatic rotation [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_rotate: Option<String>,
/// Aws Region (relevant only for aws)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws_region: Option<String>,
/// Secret payload to be sent with rotation request (relevant only for rotator-type=custom)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_payload: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Base64-encoded service account private key text
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcp_key: Option<String>,
/// Create a new access key without deleting the old key from AWS for backup (relevant only for AWS) [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grace_rotation: Option<String>,
/// Host provider type [explicit/target], Default Host provider is explicit, Relevant only for Secure Remote Access of ssh cert issuer, ldap rotated secret and ldap dynamic secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_provider: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the
account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Secret name
pub name: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_metadata: Option<String>,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_version: Option<bool>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Rotate the value of the secret after SRA session ends [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotate_after_disconnect: Option<String>,
/// rotated-username password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_password: Option<String>,
/// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotated_username: Option<String>,
/// The Hour of the rotation in UTC
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_hour: Option<i64>,
/// The number of days to wait between every automatic key rotation (7-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<String>,
/// The credentials to connect with use-self-creds/use-target-creds
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotator_creds_type: Option<String>,
/// "Custom rotation command (relevant only for ssh target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotator_custom_cmd: Option<String>,
/// Rotate same password for each host from the Linked Target (relevant only for Linked Target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub same_password: Option<String>,
/// Allow providing external user for a domain users (relevant only for rdp)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_allow_external_user: Option<bool>,
/// The AWS account id (relevant only for aws)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_account_id: Option<String>,
/// The AWS native cli
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_aws_native_cli: Option<bool>,
/// Deprecated. use secure-access-certificate-issuer
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_issuer: Option<String>,
/// Path to the SSH Certificate Issuer for your Akeyless Secure Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_certificate_issuer: Option<String>,
/// The DB name (relevant only for DB Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_name: Option<String>,
/// The db schema (relevant only for mssql or postgresql)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_db_schema: Option<String>,
/// Enable this flag to prevent simultaneous use of the same secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_disable_concurrent_connections: Option<bool>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Required when the Dynamic Secret is used for a domain user (relevant only for RDP Dynamic-Secret)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_domain: Option<String>,
/// Override the RDP Domain username (relevant only for rdp)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_rdp_user: Option<String>,
/// Destination URL to inject secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_url: Option<String>,
/// Enable Web Secure Remote Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web: Option<bool>,
/// Secure browser viaAkeyless's Secure Remote Access (SRA) (relevant only for aws or azure)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_browsing: Option<bool>,
/// Web-Proxy via Akeyless's Secure Remote Access (SRA) (relevant only for aws or azure)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_web_proxy: Option<bool>,
/// Deprecated: use RotatedPassword
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_password: Option<String>,
/// Deprecated: use RotatedUser
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_username: Option<String>,
/// The name of the storage account key to rotate [key1/key2/kerb1/kerb2]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage_account_key_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// LDAP User Attribute, Default value "cn"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_attribute: Option<String>,
/// LDAP User Base DN
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_dn: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateRotatedSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateRotationSettings is a command that updates rotations settings of an existing key
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateRotationSettings {
/// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation
pub auto_rotate: bool,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Key name
pub name: String,
/// How many days before the rotation of the item would you like to be notified
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_event_in: Option<Vec<String>>,
/// The number of days to wait between every automatic key rotation (7-365)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rotation_interval: Option<i64>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UpdateSshCertIssuer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider_type: Option<String>,
/// List of the new tags that will be attached to this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add_tag: Option<Vec<String>>,
/// Users allowed to fetch the certificate, e.g root,ubuntu
pub allowed_users: String,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Signed certificates with extensions, e.g permit-port-forwarding=\"\"
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extensions: Option<serde_json::Value>,
/// Externally provided username [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_username: Option<String>,
/// For externally provided users, denotes the key-name of IdP claim to extract the username from (relevant only for external-username=true)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fixed_user_claim_keyname: Option<String>,
/// Host provider type [explicit/target], Default Host provider is explicit, Relevant only for Secure Remote Access of ssh cert issuer, ldap rotated secret and ldap dynamic secret
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_provider: Option<String>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// SSH certificate issuer name
pub name: String,
/// New item name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Signed certificates with principal, e.g example_role1,example_role2
#[serde(default, skip_serializing_if = "Option::is_none")]
pub principals: Option<String>,
/// List of the existent tags that will be removed from this item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rm_tag: Option<Vec<String>>,
/// Secure Access SSH control API endpoint. E.g. https://my.sra-server:9900
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_api: Option<String>,
/// Deprecated. use secure-access-api
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_api: Option<String>,
/// Deprecated. use secure-access-ssh
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_bastion_ssh: Option<String>,
/// Enable/Disable secure remote access [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enable: Option<String>,
/// Enable this flag to enforce connections only to the hosts listed in --secure-access-host
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_enforce_hosts_restriction: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_gateway: Option<String>,
/// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_host: Option<Vec<String>>,
/// Bastion's SSH server. E.g. my.sra-server:22
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_ssh: Option<String>,
/// SSH username to connect to target server, must be in 'Allowed Users' list
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_ssh_creds_user: Option<String>,
/// Deprecated. Use secure-access-use-internal-ssh-access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_use_internal_bastion: Option<bool>,
/// Use internal SSH Access
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_access_use_internal_ssh_access: Option<bool>,
/// A key to sign the certificate with
pub signer_key_name: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The requested Time To Live for the certificate, in seconds
pub ttl: i64,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateSshCertIssuerOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateSSHTarget is a command that updates an existing target. [Deprecated: Use target-update-ssh command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateSshTarget {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// SSH host name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// SSH port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// SSH private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
/// SSH private key password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_password: Option<String>,
/// SSH password to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_password: Option<String>,
/// SSH username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_username: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateSshTargetDetails {
/// The ssh host name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// Target name
pub name: String,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_version: Option<bool>,
/// ssh port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// ssh private key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key: Option<String>,
/// The ssh private key password
#[serde(default, skip_serializing_if = "Option::is_none")]
pub private_key_password: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
/// ssh pawssword to rotate
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_password: Option<String>,
/// ssh username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssh_username: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateSshTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateSalesforceTarget is a command that updates a new target. [Deprecated: Use target-update-salesforce command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateSalesforceTarget {
/// Base64 encoded PEM of the connected app private key (relevant for JWT auth only)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub app_private_key_data: Option<String>,
/// type of the auth flow ('jwt' / 'user-password')
pub auth_flow: String,
/// Base64 encoded PEM cert to use when uploading a new key to Salesforce
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_cert_data: Option<String>,
/// name of the certificate in Salesforce tenant to use when uploading new key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca_cert_name: Option<String>,
/// Client ID of the oauth2 app to use for connecting to Salesforce
pub client_id: String,
/// Client secret of the oauth2 app to use for connecting to Salesforce (required for password flow)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// The email of the user attached to the oauth2 app used for connecting to Salesforce
pub email: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// The password of the user attached to the oauth2 app used for connecting to Salesforce (required for user-password flow)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// The security token of the user attached to the oauth2 app used for connecting to Salesforce (required for user-password flow)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub security_token: Option<String>,
/// Url of the Salesforce tenant
pub tenant_url: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateSalesforceTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateSecretVal {
/// for personal password manager
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accessibility: Option<String>,
/// For Password Management use, additional fields
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_field: Option<serde_json::Value>,
/// Secret format [text/json/key-value] (relevant only for type 'generic')
#[serde(default, skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
/// For Password Management use, reflect the website context
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inject_url: Option<Vec<String>>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the secret value (if empty, the
account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// The last version number before the update
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_version: Option<i64>,
/// The provided value is a multiline value (separated by '\n')
#[serde(default, skip_serializing_if = "Option::is_none")]
pub multiline: Option<bool>,
/// Secret name
pub name: String,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_version: Option<bool>,
/// For Password Management use, additional fields
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// For Password Management use
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
/// The secret value (relevant only for type 'generic')
pub value: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateTarget {
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_comment: Option<String>,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
/// updateTargetDetails is a command that updates an existing target. [Deprecated]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateTargetDetails {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateTargetDetailsOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated: Option<bool>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateWebTarget is a command that updates an existing target. [Deprecated: Use target-update-web command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateWebTarget {
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
/// The url
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateWebTargetDetails {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// Target name
pub name: String,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_version: Option<bool>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protection_key: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateWebTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateWindowsTarget is a command that updates an existing windows target. [Deprecated: Use target-update-windows command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateWindowsTarget {
/// SSL CA certificate in base64 encoding generated from a trusted Certificate Authority (CA)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate: Option<String>,
/// Type of connection to Windows Server [credentials/parent-target]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection_type: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// User domain name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain: Option<String>,
/// Server hostname
pub hostname: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Name of the parent target, relevant only when connection-type is parent-target
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_target_name: Option<String>,
/// Privileged user password
pub password: String,
/// Server WinRM port
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
/// Enable/Disable TLS for WinRM over HTTPS [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_tls: Option<String>,
/// Privileged username
pub username: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateWindowsTargetOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// updateZeroSSLTarget is a command that updates an existing target. [Deprecated: Use target-update-zerossl command]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateZeroSslTarget {
/// API Key of the ZeroSSLTarget account
pub api_key: String,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// ImapFQDN of the IMAP service, FQDN or IPv4 address. Must be FQDN if the IMAP is using TLS
pub imap_fqdn: String,
/// ImapPassword to access the IMAP service
pub imap_password: String,
/// ImapPort of the IMAP service
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_port: Option<String>,
/// ImapValidationEmail to use when asking ZeroSSL to send a validation email, if empty will user imap-username
#[serde(default, skip_serializing_if = "Option::is_none")]
pub imap_target_email: Option<String>,
/// ImapUsername to access the IMAP service
pub imap_username: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Whether to keep previous version [true/false]. If not set, use default according to account settings
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keep_prev_version: Option<String>,
/// The name of a key that used to encrypt the target secret value (if empty, the account default protectionKey key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
/// Set the maximum number of versions, limited by the account settings defaults.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_versions: Option<String>,
/// Target name
pub name: String,
/// New target name
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new_name: Option<String>,
/// Timeout waiting for certificate validation in Duration format (1h - 1 Hour, 20m - 20 Minutes, 33m3s - 33 Minutes and 3 Seconds), maximum 1h.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Deprecated
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_version: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateZeroSslTargetOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_id: Option<i64>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UploadPkcs12 {
/// The customer fragment ID that will be used to split the key (if empty,
the key will be created independently of a customer fragment)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_frg_id: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// PKCS#12 input file (private key and certificate only)
pub r#in: String,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// Name of key to be created
pub name: String,
/// Passphrase to unlock the pkcs#12 bundle
pub passphrase: String,
/// The number of fragments that the item will be split into
#[serde(default, skip_serializing_if = "Option::is_none")]
pub split_level: Option<i64>,
/// List of the tags attached to this key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tag: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UploadPkcs12Output {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UploadRsa {
/// Key type. options: [RSA1024, RSA2048, RSA3072, RSA4096]
pub alg: String,
/// Certificate in a PEM format.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert_file_data: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_format: Option<String>,
/// The customer fragment ID that will be used to split the key (if empty,
the key will be created independently of a customer fragment)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_frg_id: Option<String>,
/// Protection from accidental deletion of this object [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delete_protection: Option<String>,
/// Description of the object
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// How many days before the expiration of the certificate would you like to be notified.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration_event_in: Option<Vec<String>>,
/// Additional custom fields to associate with the item
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_custom_fields: Option<serde_json::Value>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Deprecated - use description
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
/// Name of key to be created
pub name: String,
/// When the overwrite flag is set, this command will only update an existing key [true/false]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub overwrite: Option<String>,
/// RSA private key data, base64 encoded
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rsa_file_data: Option<String>,
/// The number of fragments that the item will be split into
#[serde(default, skip_serializing_if = "Option::is_none")]
pub split_level: Option<i64>,
/// List of the tags attached to this key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tag: Option<Vec<String>>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UploadRsaOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
/// uscCreate is a command that creates a new secret in a Universal Secrets Connector
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UscCreate {
/// Use this option if the universal secrets value is a base64 encoded binary
#[serde(default, skip_serializing_if = "Option::is_none")]
pub binary_value: Option<bool>,
/// Description of the universal secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The namespace (relevant for Hashi vault target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub object_type: Option<String>,
/// Optional, the passphrase that protects the private key within the pfx certificate (Relevant only for Azure KV certificates)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pfx_password: Option<String>,
/// Optional, create secret in a specific region (GCP only).
If empty, a global secret will be created (provider default).
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
/// Name for the new universal secrets
pub secret_name: String,
/// Tags for the universal secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Optional, The name of the remote key that used to encrypt the secret value (if empty, the default key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usc_encryption_key: Option<String>,
/// Name of the Universal Secrets Connector item
pub usc_name: String,
/// Value of the universal secrets item, either text or base64 encoded binary
pub value: String,
}
/// uscDelete is a command that deletes a secret from a Universal Secrets Connector
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UscDelete {
/// Force delete objects that are soft deleted by default (relavent only for Azure target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub force_delete: Option<bool>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The namespace (relevant for Hashi vault target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
/// The universal secrets id (or name, for AWS, Azure, K8s or Hashi vault targets) to delete
pub secret_id: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Name of the Universal Secrets Connector item
pub usc_name: String,
}
/// uscGet is a command that gets the value and internal details of a secret from a Universal Secrets Connector
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UscGet {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The namespace (relevant for Hashi vault target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
/// The secret id (or name, for AWS, Azure, K8s or Hashi vault targets) to get from the Universal Secrets Connector
pub secret_id: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Name of the Universal Secrets Connector item
pub usc_name: String,
/// The version id (if not specified, will retrieve the last version)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version_id: Option<String>,
}
/// uscList is a command that lists the secrets of a Universal Secrets Connector
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UscList {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub object_type: Option<String>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Name of the Universal Secrets Connector item
pub usc_name: String,
}
/// uscUpdate is a command that updates a secret in a Universal Secrets Connector
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UscUpdate {
/// Use this option if the universal secrets value is a base64 encoded binary
#[serde(default, skip_serializing_if = "Option::is_none")]
pub binary_value: Option<bool>,
/// Description of the universal secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The namespace (relevant for Hashi vault target)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
/// Optional, the passphrase that protects the private key within the pfx certificate (Relevant only for Azure KV certificates)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pfx_password: Option<String>,
/// The universal secrets id (or name, for AWS, Azure, K8s or Hashi vault targets) to update
pub secret_id: String,
/// Tags for the universal secrets
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// Optional, The name of the remote key that used to encrypt the secret value (if empty, the default key will be used)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usc_encryption_key: Option<String>,
/// Name of the Universal Secrets Connector item
pub usc_name: String,
/// Value of the universal secrets item, either text or base64 encoded binary
pub value: String,
}
/// validate-token is a command that validaties token
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ValidateToken {
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// Token
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VaultAddress {
/// The access-id used to resolve the tenant URLs
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_id: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VaultAddressOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_gw_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vault_url: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifyDataWithClassicKey {
/// Data
pub data: String,
/// The display id of the key to use in the verification process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// Defines whether the data should be hashed as part of the signing. If true, the data will not be hashed
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashed: Option<bool>,
/// HashingMethod
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hashing_method: Option<String>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the key to use in the verification process
pub name: String,
/// The data's signature in a Base64 format.
pub signature: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// classic key version
pub version: i64,
}
/// verifyEcDsa is a command that verifies an ECDSA signature
using a sha hash algorithm matching the key size
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifyEcDsa {
/// The display id of the EC key to use for the verification process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// The item id of the EC key to use for the verification process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the EC key to use for the verification process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_name: Option<String>,
/// The message to be verified in a base64 format
pub message: String,
/// Markes that the message is already hashed
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prehashed: Option<bool>,
/// The message's signature
pub signature: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The version of the key to use for verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifyEcDsaOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifyGpg {
/// The display id of the key to use in the encryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// The item id of the key to use in the encryption process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the key to use in the encryption process
pub key_name: String,
/// Passphrase that was used to generate the key
#[serde(default, skip_serializing_if = "Option::is_none")]
pub passphrase: Option<String>,
/// The signature to be verified in base64 format
pub signature: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifyGpgOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifyJwtOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifyJwtWithClassicKey {
/// The name of the key to use in the verify JWT process
pub display_id: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// JWT
pub jwt: String,
/// RequiredClaims
pub required_claims: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// classic key version
pub version: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifyPkcs1 {
/// The display id of the key to use in the verification process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// HashFunction defines the hash function (e.g. sha-256)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash_function: Option<String>,
/// Select default assumed format for the plaintext message. Currently supported options: [base64]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub input_format: Option<String>,
/// The item id of the key to use in the verification process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the RSA key to use in the verification process
pub key_name: String,
/// The message to be verified
pub message: String,
/// Markes that the message is already hashed
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prehashed: Option<bool>,
/// The message's signature
pub signature: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The version of the key to use for verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifyPkcs1Output {
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifyPkiCertOutput {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<String>,
#[serde(flatten)]
pub extra: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifyPkiCertWithClassicKey {
/// The name of the key to use in the verify PKICert process
pub display_id: String,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// PkiCert
pub pki_cert: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// classic key version
pub version: i64,
}
/// verifyRsaSsaPss is a command that Verifies an rsassa-pss signature
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifyRsaSsaPss {
/// The display id of the RSA key to use in the verification process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_id: Option<String>,
/// HashFunction defines the hash function (e.g. sha-256)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hash_function: Option<String>,
/// The item id of the RSA key to use in the verification process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub item_id: Option<i64>,
/// Set output format to JSON
#[serde(default, skip_serializing_if = "Option::is_none")]
pub json: Option<bool>,
/// The name of the RSA key to use in the verification process
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_name: Option<String>,
/// The input message to verify in a base64 format
pub message: String,
/// Markes that the message is already hashed
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prehashed: Option<bool>,
/// The message's signature
pub signature: String,
/// Authentication token (see `/auth` and `/configure`)
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
/// The universal identity token, Required only for universal_identity authentication
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid_token: Option<String>,
/// The version of the key to use for verification
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifyRsaSsaPssOutput {
#[serde(flatten)]
pub extra: serde_json::Value,
}