pub struct IacAction {
pub name: String,
pub description: String,
pub category: String,
pub endpoint: String,
pub schema: String,
pub response_schema: Option<String>,
pub mutating: bool,
pub sensitive_response_fields: Vec<String>,
pub attributes: Vec<IacAttribute>,
pub sdk_method: Option<String>,
}Expand description
A fully resolved RPC-style action in the platform-independent IR.
Actions are one-shot calls without create/read/update/delete semantics —
e.g. /uid-generate-token, /encrypt, /revoke-certificate. Each
action carries enough metadata for backends to emit an Ansible action
module, a Terraform *_action resource, or any other one-shot wrapper.
Fields§
§name: StringAction identifier (e.g., akeyless_uid_generate_token).
description: StringHuman-readable description.
category: StringCategory grouping (e.g., "uid", "crypto").
endpoint: StringAPI path (e.g., /uid-generate-token).
schema: StringRequest OpenAPI schema name (camelCase form).
response_schema: Option<String>Optional response schema name.
mutating: boolWhether the action mutates server state.
Used by backends to decide whether to flag changed=true (Ansible)
or run the call inside a transaction (Terraform). Defaults to
true when the spec leaves it unspecified.
sensitive_response_fields: Vec<String>Response fields whose values should be masked (***) before being
echoed back to the user.
attributes: Vec<IacAttribute>Resolved input attributes (request body fields).
sdk_method: Option<String>Optional SDK method-name override.
When None, backends derive the method from schema. When
Some(name), they should use name verbatim. Used for batch
endpoints where the request body schema (e.g.
BatchEncryptionRequestLine) doesn’t match the SDK method
(e.g. encrypt_batch).