#[must_use]
pub fn distribution_arn(account_id: &str, distribution_id: &str) -> String {
format!("arn:aws:cloudfront::{account_id}:distribution/{distribution_id}")
}
#[must_use]
pub fn origin_access_control_arn(account_id: &str, id: &str) -> String {
format!("arn:aws:cloudfront::{account_id}:origin-access-control/{id}")
}
#[must_use]
pub fn oai_arn(account_id: &str, id: &str) -> String {
format!("arn:aws:cloudfront::{account_id}:origin-access-identity/{id}")
}
#[must_use]
pub fn cache_policy_arn(account_id: &str, id: &str) -> String {
format!("arn:aws:cloudfront::{account_id}:cache-policy/{id}")
}
#[must_use]
pub fn response_headers_policy_arn(account_id: &str, id: &str) -> String {
format!("arn:aws:cloudfront::{account_id}:response-headers-policy/{id}")
}
#[must_use]
pub fn origin_request_policy_arn(account_id: &str, id: &str) -> String {
format!("arn:aws:cloudfront::{account_id}:origin-request-policy/{id}")
}
#[must_use]
pub fn function_arn(account_id: &str, name: &str) -> String {
format!("arn:aws:cloudfront::{account_id}:function/{name}")
}
#[must_use]
pub fn key_group_arn(account_id: &str, id: &str) -> String {
format!("arn:aws:cloudfront::{account_id}:key-group/{id}")
}
#[must_use]
pub fn public_key_arn(account_id: &str, id: &str) -> String {
format!("arn:aws:cloudfront::{account_id}:public-key/{id}")
}
#[must_use]
pub fn realtime_log_arn(account_id: &str, name: &str) -> String {
format!("arn:aws:cloudfront::{account_id}:realtime-log-config/{name}")
}
#[must_use]
pub fn kvs_arn(account_id: &str, id: &str) -> String {
format!("arn:aws:cloudfront::{account_id}:key-value-store/{id}")
}
#[must_use]
pub fn extract_distribution_id(arn: &str) -> Option<&str> {
arn.rsplit_once("distribution/").map(|(_, id)| id)
}