Skip to main content

greentic_bundle/build/
manifest.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
4pub struct BundleManifest {
5    pub format_version: String,
6    pub bundle_id: String,
7    pub bundle_name: String,
8    pub requested_mode: String,
9    pub locale: String,
10    pub artifact_extension: String,
11    #[serde(default)]
12    pub generated_resolved_files: Vec<String>,
13    #[serde(default)]
14    pub generated_setup_files: Vec<String>,
15    #[serde(default)]
16    pub app_packs: Vec<String>,
17    #[serde(default)]
18    pub extension_providers: Vec<String>,
19    #[serde(default)]
20    pub catalogs: Vec<String>,
21    #[serde(default)]
22    pub hooks: Vec<String>,
23    #[serde(default)]
24    pub subscriptions: Vec<String>,
25    #[serde(default)]
26    pub capabilities: Vec<String>,
27    #[serde(default)]
28    pub resolved_targets: Vec<ResolvedTargetSummary>,
29}
30
31#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
32pub struct ResolvedTargetSummary {
33    pub path: String,
34    pub tenant: String,
35    #[serde(skip_serializing_if = "Option::is_none")]
36    pub team: Option<String>,
37    pub default_policy: String,
38    pub tenant_gmap: String,
39    #[serde(skip_serializing_if = "Option::is_none")]
40    pub team_gmap: Option<String>,
41    #[serde(default)]
42    pub app_pack_policies: Vec<ResolvedReferencePolicy>,
43}
44
45#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
46pub struct ResolvedReferencePolicy {
47    pub reference: String,
48    pub policy: String,
49}