Skip to main content

akeyless_api/models/
create_auth_method_awsiam.rs

1/*
2 * Akeyless API
3 *
4 * The purpose of this application is to provide access to Akeyless API.
5 *
6 * The version of the OpenAPI document: 3.0
7 * Contact: support@akeyless.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// CreateAuthMethodAwsiam : 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]
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CreateAuthMethodAwsiam {
17    /// Access expiration date in Unix timestamp (select 0 for access without expiry date)
18    #[serde(rename = "access-expires", skip_serializing_if = "Option::is_none")]
19    pub access_expires: Option<i64>,
20    /// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
21    #[serde(rename = "allowed-client-type", skip_serializing_if = "Option::is_none")]
22    pub allowed_client_type: Option<Vec<String>>,
23    /// Subclaims to include in audit logs, e.g \"--audit-logs-claims email --audit-logs-claims username\"
24    #[serde(rename = "audit-logs-claims", skip_serializing_if = "Option::is_none")]
25    pub audit_logs_claims: Option<Vec<String>>,
26    /// A list of full arns that the access is restricted to
27    #[serde(rename = "bound-arn", skip_serializing_if = "Option::is_none")]
28    pub bound_arn: Option<Vec<String>>,
29    /// A list of AWS account-IDs that the access is restricted to
30    #[serde(rename = "bound-aws-account-id")]
31    pub bound_aws_account_id: Vec<String>,
32    /// A CIDR whitelist with the IPs that the access is restricted to
33    #[serde(rename = "bound-ips", skip_serializing_if = "Option::is_none")]
34    pub bound_ips: Option<Vec<String>>,
35    /// A list of full resource ids that the access is restricted to
36    #[serde(rename = "bound-resource-id", skip_serializing_if = "Option::is_none")]
37    pub bound_resource_id: Option<Vec<String>>,
38    /// A list of full role ids that the access is restricted to
39    #[serde(rename = "bound-role-id", skip_serializing_if = "Option::is_none")]
40    pub bound_role_id: Option<Vec<String>>,
41    /// A list of full role-name that the access is restricted to
42    #[serde(rename = "bound-role-name", skip_serializing_if = "Option::is_none")]
43    pub bound_role_name: Option<Vec<String>>,
44    /// A list of full user ids that the access is restricted to
45    #[serde(rename = "bound-user-id", skip_serializing_if = "Option::is_none")]
46    pub bound_user_id: Option<Vec<String>>,
47    /// A list of full user-name that the access is restricted to
48    #[serde(rename = "bound-user-name", skip_serializing_if = "Option::is_none")]
49    pub bound_user_name: Option<Vec<String>>,
50    /// Protection from accidental deletion of this object [true/false]
51    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
52    pub delete_protection: Option<String>,
53    /// Auth Method description
54    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
55    pub description: Option<String>,
56    /// How many days before the expiration of the auth method would you like to be notified.
57    #[serde(rename = "expiration-event-in", skip_serializing_if = "Option::is_none")]
58    pub expiration_event_in: Option<Vec<String>>,
59    /// if true: enforce role-association must include sub claims
60    #[serde(rename = "force-sub-claims", skip_serializing_if = "Option::is_none")]
61    pub force_sub_claims: Option<bool>,
62    /// A CIDR whitelist with the GW IPs that the access is restricted to
63    #[serde(rename = "gw-bound-ips", skip_serializing_if = "Option::is_none")]
64    pub gw_bound_ips: Option<Vec<String>>,
65    /// Set output format to JSON
66    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
67    pub json: Option<bool>,
68    /// Jwt TTL
69    #[serde(rename = "jwt-ttl", skip_serializing_if = "Option::is_none")]
70    pub jwt_ttl: Option<i64>,
71    /// Auth Method name
72    #[serde(rename = "name")]
73    pub name: String,
74    /// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
75    #[serde(rename = "product-type", skip_serializing_if = "Option::is_none")]
76    pub product_type: Option<Vec<String>>,
77    /// sts URL
78    #[serde(rename = "sts-url", skip_serializing_if = "Option::is_none")]
79    pub sts_url: Option<String>,
80    /// Authentication token (see `/auth` and `/configure`)
81    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
82    pub token: Option<String>,
83    /// The universal identity token, Required only for universal_identity authentication
84    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
85    pub uid_token: Option<String>,
86    /// 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.
87    #[serde(rename = "unique-identifier", skip_serializing_if = "Option::is_none")]
88    pub unique_identifier: Option<String>,
89}
90
91impl CreateAuthMethodAwsiam {
92    /// 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]
93    pub fn new(bound_aws_account_id: Vec<String>, name: String) -> CreateAuthMethodAwsiam {
94        CreateAuthMethodAwsiam {
95            access_expires: None,
96            allowed_client_type: None,
97            audit_logs_claims: None,
98            bound_arn: None,
99            bound_aws_account_id,
100            bound_ips: None,
101            bound_resource_id: None,
102            bound_role_id: None,
103            bound_role_name: None,
104            bound_user_id: None,
105            bound_user_name: None,
106            delete_protection: None,
107            description: None,
108            expiration_event_in: None,
109            force_sub_claims: None,
110            gw_bound_ips: None,
111            json: None,
112            jwt_ttl: None,
113            name,
114            product_type: None,
115            sts_url: None,
116            token: None,
117            uid_token: None,
118            unique_identifier: None,
119        }
120    }
121}
122