Skip to main content

akeyless_api/models/
azure_ad_access_rules.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/// AzureAdAccessRules : AzureADAccessRules contains access rules specific to Azure Active Directory authentication.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct AzureAdAccessRules {
17    /// The audience in the JWT.
18    #[serde(rename = "ad_endpoint", skip_serializing_if = "Option::is_none")]
19    pub ad_endpoint: Option<String>,
20    /// Azure cloud environment [AzureCloud/AzureUSGovernment/AzureChinaCloud]. For create/update, cloud is inferred from jwks_uri.
21    #[serde(rename = "azure_cloud", skip_serializing_if = "Option::is_none")]
22    pub azure_cloud: Option<String>,
23    /// The list of group ids that login is restricted to.
24    #[serde(rename = "bound_group_ids", skip_serializing_if = "Option::is_none")]
25    pub bound_group_ids: Option<Vec<String>>,
26    /// The list of resource groups that login is restricted to.
27    #[serde(rename = "bound_resource_groups", skip_serializing_if = "Option::is_none")]
28    pub bound_resource_groups: Option<Vec<String>>,
29    /// The list of full resource ids that the login is restricted to.
30    #[serde(rename = "bound_resource_ids", skip_serializing_if = "Option::is_none")]
31    pub bound_resource_ids: Option<Vec<String>>,
32    /// The list of resource names that the login is restricted to (e.g, a virtual machine name, scale set name, etc).
33    #[serde(rename = "bound_resource_names", skip_serializing_if = "Option::is_none")]
34    pub bound_resource_names: Option<Vec<String>>,
35    /// The list of resource providers that login is restricted to (e.g, Microsoft.Compute, Microsoft.ManagedIdentity, etc).
36    #[serde(rename = "bound_resource_providers", skip_serializing_if = "Option::is_none")]
37    pub bound_resource_providers: Option<Vec<String>>,
38    /// The list of resource types that login is restricted to  (e.g, virtualMachines, userAssignedIdentities, etc).
39    #[serde(rename = "bound_resource_types", skip_serializing_if = "Option::is_none")]
40    pub bound_resource_types: Option<Vec<String>>,
41    /// The list of service principal IDs that login is restricted to.
42    #[serde(rename = "bound_service_principal_ids", skip_serializing_if = "Option::is_none")]
43    pub bound_service_principal_ids: Option<Vec<String>>,
44    /// The list of subscription IDs that login is restricted to.
45    #[serde(rename = "bound_subscription_ids", skip_serializing_if = "Option::is_none")]
46    pub bound_subscription_ids: Option<Vec<String>>,
47    /// The tenants id for the Azure Active Directory organization.
48    #[serde(rename = "bound_tenant_id", skip_serializing_if = "Option::is_none")]
49    pub bound_tenant_id: Option<String>,
50    /// Issuer URL
51    #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")]
52    pub issuer: Option<String>,
53    /// 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.
54    #[serde(rename = "jwks_uri", skip_serializing_if = "Option::is_none")]
55    pub jwks_uri: Option<String>,
56    /// A unique identifier to distinguish different users
57    #[serde(rename = "unique_identifier", skip_serializing_if = "Option::is_none")]
58    pub unique_identifier: Option<String>,
59}
60
61impl AzureAdAccessRules {
62    /// AzureADAccessRules contains access rules specific to Azure Active Directory authentication.
63    pub fn new() -> AzureAdAccessRules {
64        AzureAdAccessRules {
65            ad_endpoint: None,
66            azure_cloud: None,
67            bound_group_ids: None,
68            bound_resource_groups: None,
69            bound_resource_ids: None,
70            bound_resource_names: None,
71            bound_resource_providers: None,
72            bound_resource_types: None,
73            bound_service_principal_ids: None,
74            bound_subscription_ids: None,
75            bound_tenant_id: None,
76            issuer: None,
77            jwks_uri: None,
78            unique_identifier: None,
79        }
80    }
81}
82