scaleway_api_rs 0.1.8

Generated library to interact with Scaleway API.
Documentation
/*
 * Account API
 *
 * # Introduction  The Account API allows you to manage projects. Project is Scaleway’s resource management feature. Designed to help you organize your infrastructure and cloud services, the feature allows resources to be isolated and grouped into specific projects.
 *
 * The version of the OpenAPI document: v2
 *
 * Generated by: https://openapi-generator.tech
 */

#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct CreatePolicyRequest {
    /// Name of policy to create (max length is 64 chars)
    #[serde(rename = "name")]
    pub name: String,
    /// Description of policy to create (max length is 200 chars)
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    /// ID of organization
    #[serde(rename = "organization_id", skip_serializing_if = "Option::is_none")]
    pub organization_id: Option<String>,
    /// Rules of the policy to create
    #[serde(rename = "rules", skip_serializing_if = "Option::is_none")]
    pub rules: Option<Vec<crate::models::ScalewayPeriodIamPeriodV1alpha1PeriodRuleSpecs>>,
    /// ID of user, owner of the policy
    #[serde(rename = "user_id", skip_serializing_if = "Option::is_none")]
    pub user_id: Option<String>,
    /// ID of group, owner of the policy
    #[serde(rename = "group_id", skip_serializing_if = "Option::is_none")]
    pub group_id: Option<String>,
    /// ID of application, owner of the policy
    #[serde(rename = "application_id", skip_serializing_if = "Option::is_none")]
    pub application_id: Option<String>,
    /// True when the policy do not belong to any principal
    #[serde(rename = "no_principal", skip_serializing_if = "Option::is_none")]
    pub no_principal: Option<bool>,
}

impl CreatePolicyRequest {
    pub fn new(name: String) -> CreatePolicyRequest {
        CreatePolicyRequest {
            name,
            description: None,
            organization_id: None,
            rules: None,
            user_id: None,
            group_id: None,
            application_id: None,
            no_principal: None,
        }
    }
}