appwrite_openapi 1.0.0

AUTO-GENERATED client for Appwrite. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)
Documentation
/*
 * Appwrite
 *
 * Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)
 *
 * The version of the OpenAPI document: 1.4.9
 * Contact: team@appwrite.io
 * Generated by: https://openapi-generator.tech
 */

/// Function : Function



#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Function {
    /// Function ID.
    #[serde(rename = "$id")]
    pub dollar_id: String,
    /// Function creation date in ISO 8601 format.
    #[serde(rename = "$createdAt")]
    pub dollar_created_at: String,
    /// Function update date in ISO 8601 format.
    #[serde(rename = "$updatedAt")]
    pub dollar_updated_at: String,
    /// Execution permissions.
    #[serde(rename = "execute")]
    pub execute: Vec<String>,
    /// Function name.
    #[serde(rename = "name")]
    pub name: String,
    /// Function enabled.
    #[serde(rename = "enabled")]
    pub enabled: bool,
    /// Is the function deployed with the latest configuration? This is set to false if you've changed an environment variables, entrypoint, commands, or other settings that needs redeploy to be applied. When the value is false, redeploy the function to update it with the latest configuration.
    #[serde(rename = "live")]
    pub live: bool,
    /// Whether executions will be logged. When set to false, executions will not be logged, but will reduce resource used by your Appwrite project.
    #[serde(rename = "logging")]
    pub logging: bool,
    /// Function execution runtime.
    #[serde(rename = "runtime")]
    pub runtime: String,
    /// Function's active deployment ID.
    #[serde(rename = "deployment")]
    pub deployment: String,
    /// Function variables.
    #[serde(rename = "vars")]
    pub vars: Vec<crate::models::Variable>,
    /// Function trigger events.
    #[serde(rename = "events")]
    pub events: Vec<String>,
    /// Function execution schedult in CRON format.
    #[serde(rename = "schedule")]
    pub schedule: String,
    /// Function execution timeout in seconds.
    #[serde(rename = "timeout")]
    pub timeout: i32,
    /// The entrypoint file used to execute the deployment.
    #[serde(rename = "entrypoint")]
    pub entrypoint: String,
    /// The build command used to build the deployment.
    #[serde(rename = "commands")]
    pub commands: String,
    /// Version of Open Runtimes used for the function.
    #[serde(rename = "version")]
    pub version: String,
    /// Function VCS (Version Control System) installation id.
    #[serde(rename = "installationId")]
    pub installation_id: String,
    /// VCS (Version Control System) Repository ID
    #[serde(rename = "providerRepositoryId")]
    pub provider_repository_id: String,
    /// VCS (Version Control System) branch name
    #[serde(rename = "providerBranch")]
    pub provider_branch: String,
    /// Path to function in VCS (Version Control System) repository
    #[serde(rename = "providerRootDirectory")]
    pub provider_root_directory: String,
    /// Is VCS (Version Control System) connection is in silent mode? When in silence mode, no comments will be posted on the repository pull or merge requests
    #[serde(rename = "providerSilentMode")]
    pub provider_silent_mode: bool,
}

impl Function {
    /// Function
    pub fn new(dollar_id: String, dollar_created_at: String, dollar_updated_at: String, execute: Vec<String>, name: String, enabled: bool, live: bool, logging: bool, runtime: String, deployment: String, vars: Vec<crate::models::Variable>, events: Vec<String>, schedule: String, timeout: i32, entrypoint: String, commands: String, version: String, installation_id: String, provider_repository_id: String, provider_branch: String, provider_root_directory: String, provider_silent_mode: bool) -> Function {
        Function {
            dollar_id,
            dollar_created_at,
            dollar_updated_at,
            execute,
            name,
            enabled,
            live,
            logging,
            runtime,
            deployment,
            vars,
            events,
            schedule,
            timeout,
            entrypoint,
            commands,
            version,
            installation_id,
            provider_repository_id,
            provider_branch,
            provider_root_directory,
            provider_silent_mode,
        }
    }
}