use proc_macro::TokenStream;
use syn::parse_macro_input;
use crate::parsing::GenericInput;
use crate::roles::{find_kms_ref, find_role_ref};
mod roles;
mod cloudcontrol;
mod parsing;
#[proc_macro]
pub fn lookup_role_ref(input: TokenStream) -> TokenStream {
let input: GenericInput = parse_macro_input!(input);
let rt = tokio::runtime::Runtime::new().unwrap();
rt.block_on(find_role_ref(&input.resource_id, &input.identifier)).unwrap_or_else(|e| e.into_compile_error().into())
}
#[proc_macro]
pub fn lookup_kms_key_ref(input: TokenStream) -> TokenStream {
let input: GenericInput = parse_macro_input!(input);
let rt = tokio::runtime::Runtime::new().unwrap();
rt.block_on(find_kms_ref(&input.resource_id, &input.identifier)).unwrap_or_else(|e| e.into_compile_error().into())
}