pub struct BundledTal {
pub name: &'static str,
pub description: &'static str,
pub category: Category,
pub opt_in: Option<OptIn>,
pub content: &'static str,
}
pub struct OptIn {
pub option_name: &'static str,
pub option_help: &'static str,
pub message: &'static str,
}
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub enum Category {
Production,
RirTest,
Test,
Other,
}
pub static BUNDLED_TALS: &[BundledTal] = &[
BundledTal {
name: "afrinic",
description: "AFRINIC production TAL",
category: Category::Production,
opt_in: None,
content: include_str!("../tals/afrinic.tal"),
},
BundledTal {
name: "apnic",
description: "APNIC production TAL",
category: Category::Production,
opt_in: None,
content: include_str!("../tals/apnic.tal"),
},
BundledTal {
name: "arin",
description: "ARIN production TAL",
category: Category::Production,
opt_in: Some(OptIn {
option_name: "accept-arin-rpa",
option_help:
"You have read and accept \
https://www.arin.net/resources/manage/rpki/rpa.pdf",
message:
"Before we can install the ARIN TAL, you must have read\n\
and agree to the ARIN Relying Party Agreement (RPA).\n\
It is available at\n\
\n\
https://www.arin.net/resources/manage/rpki/rpa.pdf\n\
\n\
If you agree to the RPA, please run the command\n\
again with the --accept-arin-rpa option."
}),
content: include_str!("../tals/arin.tal"),
},
BundledTal {
name: "lacnic",
description: "LACNIC production TAL",
category: Category::Production,
opt_in: None,
content: include_str!("../tals/lacnic.tal"),
},
BundledTal {
name: "ripe",
description: "RIPE production TAL",
category: Category::Production,
opt_in: None,
content: include_str!("../tals/ripe.tal"),
},
BundledTal {
name: "apnic-testbed",
description: "APNIC RPKI Testbed",
category: Category::RirTest,
opt_in: None,
content: include_str!("../tals/apnic-testbed.tal"),
},
BundledTal {
name: "arin-ote",
description: "ARIN Operational Test and Evaluation Environment",
category: Category::RirTest,
opt_in: None,
content: include_str!("../tals/arin-ote.tal"),
},
BundledTal {
name: "ripe-pilot",
description: "RIPE NCC RPKI Test Environment",
category: Category::RirTest,
opt_in: None,
content: include_str!("../tals/ripe-pilot.tal"),
},
BundledTal {
name: "nlnetlabs-testbed",
description: "NLnet Labs RPKI Testbed",
category: Category::Test,
opt_in: None,
content: include_str!("../tals/nlnetlabs-testbed.tal"),
}
];