#[async_trait::async_trait]
pub trait OrgPolicy: std::fmt::Debug + Send + Sync {
async fn list_constraints(
&self,
req: crate::model::ListConstraintsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListConstraintsResponse>>;
async fn list_policies(
&self,
req: crate::model::ListPoliciesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListPoliciesResponse>>;
async fn get_policy(
&self,
req: crate::model::GetPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Policy>>;
async fn get_effective_policy(
&self,
req: crate::model::GetEffectivePolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Policy>>;
async fn create_policy(
&self,
req: crate::model::CreatePolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Policy>>;
async fn update_policy(
&self,
req: crate::model::UpdatePolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Policy>>;
async fn delete_policy(
&self,
req: crate::model::DeletePolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
async fn create_custom_constraint(
&self,
req: crate::model::CreateCustomConstraintRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CustomConstraint>>;
async fn update_custom_constraint(
&self,
req: crate::model::UpdateCustomConstraintRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CustomConstraint>>;
async fn get_custom_constraint(
&self,
req: crate::model::GetCustomConstraintRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CustomConstraint>>;
async fn list_custom_constraints(
&self,
req: crate::model::ListCustomConstraintsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListCustomConstraintsResponse>>;
async fn delete_custom_constraint(
&self,
req: crate::model::DeleteCustomConstraintRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
}
#[async_trait::async_trait]
impl<T: super::OrgPolicy> OrgPolicy for T {
async fn list_constraints(
&self,
req: crate::model::ListConstraintsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListConstraintsResponse>> {
T::list_constraints(self, req, options).await
}
async fn list_policies(
&self,
req: crate::model::ListPoliciesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListPoliciesResponse>> {
T::list_policies(self, req, options).await
}
async fn get_policy(
&self,
req: crate::model::GetPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Policy>> {
T::get_policy(self, req, options).await
}
async fn get_effective_policy(
&self,
req: crate::model::GetEffectivePolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Policy>> {
T::get_effective_policy(self, req, options).await
}
async fn create_policy(
&self,
req: crate::model::CreatePolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Policy>> {
T::create_policy(self, req, options).await
}
async fn update_policy(
&self,
req: crate::model::UpdatePolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Policy>> {
T::update_policy(self, req, options).await
}
async fn delete_policy(
&self,
req: crate::model::DeletePolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_policy(self, req, options).await
}
async fn create_custom_constraint(
&self,
req: crate::model::CreateCustomConstraintRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CustomConstraint>> {
T::create_custom_constraint(self, req, options).await
}
async fn update_custom_constraint(
&self,
req: crate::model::UpdateCustomConstraintRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CustomConstraint>> {
T::update_custom_constraint(self, req, options).await
}
async fn get_custom_constraint(
&self,
req: crate::model::GetCustomConstraintRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CustomConstraint>> {
T::get_custom_constraint(self, req, options).await
}
async fn list_custom_constraints(
&self,
req: crate::model::ListCustomConstraintsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListCustomConstraintsResponse>> {
T::list_custom_constraints(self, req, options).await
}
async fn delete_custom_constraint(
&self,
req: crate::model::DeleteCustomConstraintRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_custom_constraint(self, req, options).await
}
}