kcr_radapp_io 3.20260529.210306

Kubernetes Custom Resource Bindings
Documentation
// WARNING: generated by kopium - manual changes will be overwritten
// kopium command: kopium --docs --derive=Default --derive=PartialEq --smart-derive-elision --filename crd-catalog/radius-project/radius/radapp.io/v1alpha3/deploymenttemplates.yaml
// kopium version: 0.23.0

#[allow(unused_imports)]
mod prelude {
    pub use kube::CustomResource;
    pub use serde::{Serialize, Deserialize};
    pub use std::collections::BTreeMap;
}

use self::prelude::*;

/// DeploymentTemplateSpec defines the desired state of a DeploymentTemplate resource.
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "radapp.io", version = "v1alpha3", kind = "DeploymentTemplate", plural = "deploymenttemplates")]
#[kube(namespaced)]
#[kube(status = "DeploymentTemplateStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct DeploymentTemplateSpec {
    /// Parameters is the ARM JSON parameters for the template.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub parameters: Option<BTreeMap<String, String>>,
    /// ProviderConfig specifies the scopes for resources.
    #[serde(default, skip_serializing_if = "Option::is_none", rename = "providerConfig")]
    pub provider_config: Option<String>,
    /// Repository is the git repository that the Bicep manifests are stored in.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub repository: Option<String>,
    /// Template is the ARM JSON manifest that defines the resources to deploy.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub template: Option<String>,
}

/// DeploymentTemplateStatus defines the observed state of a DeploymentTemplate resource.
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DeploymentTemplateStatus {
    /// ObservedGeneration is the most recent generation observed for this DeploymentTemplate.
    #[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")]
    pub observed_generation: Option<i64>,
    /// Operation tracks the status of an in-progress provisioning operation.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub operation: Option<DeploymentTemplateStatusOperation>,
    /// OutputResources is a list of the resourceIDs that were created by the template on the last deployment.
    #[serde(default, skip_serializing_if = "Option::is_none", rename = "outputResources")]
    pub output_resources: Option<Vec<String>>,
    /// Phrase indicates the current status of the Deployment Template.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub phrase: Option<String>,
    /// StatusHash is a hash of the DeploymentTemplate's state (template, parameters, and provider config).
    #[serde(default, skip_serializing_if = "Option::is_none", rename = "statusHash")]
    pub status_hash: Option<String>,
}

/// Operation tracks the status of an in-progress provisioning operation.
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct DeploymentTemplateStatusOperation {
    /// OperationKind describes the type of operation being performed.
    #[serde(default, skip_serializing_if = "Option::is_none", rename = "operationKind")]
    pub operation_kind: Option<String>,
    /// ResumeToken is a token that can be used to resume an in-progress provisioning operation.
    #[serde(default, skip_serializing_if = "Option::is_none", rename = "resumeToken")]
    pub resume_token: Option<String>,
}