greentic_bundle/build/
manifest.rs1use 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}