use http::Method;
use serde_json::Value;
use crate::pagination::Page;
use super::{
AdminOrganizationAdminApiKeysResource, AdminOrganizationAuditLogsResource,
AdminOrganizationCertificatesResource, AdminOrganizationDataRetentionResource,
AdminOrganizationGroupRolesResource, AdminOrganizationGroupUsersResource,
AdminOrganizationGroupsResource, AdminOrganizationInvitesResource,
AdminOrganizationProjectsResource, AdminOrganizationResource, AdminOrganizationRolesResource,
AdminOrganizationSpendAlertsResource, AdminOrganizationUsageResource,
AdminOrganizationUserRolesResource, AdminOrganizationUsersResource,
AdminProjectApiKeysResource, AdminProjectCertificatesResource,
AdminProjectDataRetentionResource, AdminProjectGroupRolesResource, AdminProjectGroupsResource,
AdminProjectHostedToolPermissionsResource, AdminProjectModelPermissionsResource,
AdminProjectRateLimitsResource, AdminProjectRolesResource, AdminProjectServiceAccountsResource,
AdminProjectSpendAlertsResource, AdminProjectUserRolesResource, AdminProjectUsersResource,
AdminResource, JsonRequestBuilder, ListRequestBuilder, encode_path_segment,
};
fn enc(value: impl Into<String>) -> String {
encode_path_segment(value.into())
}
impl AdminResource {
pub fn organization(&self) -> AdminOrganizationResource {
AdminOrganizationResource::new(self.client.clone())
}
}
impl AdminOrganizationResource {
pub fn audit_logs(&self) -> AdminOrganizationAuditLogsResource {
AdminOrganizationAuditLogsResource::new(self.client.clone())
}
pub fn admin_api_keys(&self) -> AdminOrganizationAdminApiKeysResource {
AdminOrganizationAdminApiKeysResource::new(self.client.clone())
}
pub fn usage(&self) -> AdminOrganizationUsageResource {
AdminOrganizationUsageResource::new(self.client.clone())
}
pub fn invites(&self) -> AdminOrganizationInvitesResource {
AdminOrganizationInvitesResource::new(self.client.clone())
}
pub fn users(&self) -> AdminOrganizationUsersResource {
AdminOrganizationUsersResource::new(self.client.clone())
}
pub fn groups(&self) -> AdminOrganizationGroupsResource {
AdminOrganizationGroupsResource::new(self.client.clone())
}
pub fn roles(&self) -> AdminOrganizationRolesResource {
AdminOrganizationRolesResource::new(self.client.clone())
}
pub fn data_retention(&self) -> AdminOrganizationDataRetentionResource {
AdminOrganizationDataRetentionResource::new(self.client.clone())
}
pub fn spend_alerts(&self) -> AdminOrganizationSpendAlertsResource {
AdminOrganizationSpendAlertsResource::new(self.client.clone())
}
pub fn certificates(&self) -> AdminOrganizationCertificatesResource {
AdminOrganizationCertificatesResource::new(self.client.clone())
}
pub fn projects(&self) -> AdminOrganizationProjectsResource {
AdminOrganizationProjectsResource::new(self.client.clone())
}
}
impl AdminOrganizationAdminApiKeysResource {
pub fn create(&self) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.admin_api_keys.create",
Method::POST,
"/organization/admin_api_keys",
)
}
pub fn retrieve(&self, key_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.admin_api_keys.retrieve",
Method::GET,
format!("/organization/admin_api_keys/{}", enc(key_id)),
)
}
pub fn list(&self) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.admin_api_keys.list",
"/organization/admin_api_keys",
)
}
pub fn delete(&self, key_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.admin_api_keys.delete",
Method::DELETE,
format!("/organization/admin_api_keys/{}", enc(key_id)),
)
}
}
impl AdminOrganizationAuditLogsResource {
pub fn list(&self) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.audit_logs.list",
"/organization/audit_logs",
)
}
}
impl AdminOrganizationUsageResource {
pub fn audio_speeches(&self) -> JsonRequestBuilder<Value> {
usage_get(
self,
"admin.organization.usage.audio_speeches",
"/organization/usage/audio_speeches",
)
}
pub fn audio_transcriptions(&self) -> JsonRequestBuilder<Value> {
usage_get(
self,
"admin.organization.usage.audio_transcriptions",
"/organization/usage/audio_transcriptions",
)
}
pub fn code_interpreter_sessions(&self) -> JsonRequestBuilder<Value> {
usage_get(
self,
"admin.organization.usage.code_interpreter_sessions",
"/organization/usage/code_interpreter_sessions",
)
}
pub fn completions(&self) -> JsonRequestBuilder<Value> {
usage_get(
self,
"admin.organization.usage.completions",
"/organization/usage/completions",
)
}
pub fn costs(&self) -> JsonRequestBuilder<Value> {
usage_get(
self,
"admin.organization.usage.costs",
"/organization/costs",
)
}
pub fn embeddings(&self) -> JsonRequestBuilder<Value> {
usage_get(
self,
"admin.organization.usage.embeddings",
"/organization/usage/embeddings",
)
}
pub fn file_search_calls(&self) -> JsonRequestBuilder<Value> {
usage_get(
self,
"admin.organization.usage.file_search_calls",
"/organization/usage/file_search_calls",
)
}
pub fn images(&self) -> JsonRequestBuilder<Value> {
usage_get(
self,
"admin.organization.usage.images",
"/organization/usage/images",
)
}
pub fn moderations(&self) -> JsonRequestBuilder<Value> {
usage_get(
self,
"admin.organization.usage.moderations",
"/organization/usage/moderations",
)
}
pub fn vector_stores(&self) -> JsonRequestBuilder<Value> {
usage_get(
self,
"admin.organization.usage.vector_stores",
"/organization/usage/vector_stores",
)
}
pub fn web_search_calls(&self) -> JsonRequestBuilder<Value> {
usage_get(
self,
"admin.organization.usage.web_search_calls",
"/organization/usage/web_search_calls",
)
}
}
fn usage_get(
resource: &AdminOrganizationUsageResource,
endpoint_id: &'static str,
path: &'static str,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(resource.client.clone(), endpoint_id, Method::GET, path)
}
impl AdminOrganizationInvitesResource {
pub fn create(&self) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.invites.create",
Method::POST,
"/organization/invites",
)
}
pub fn retrieve(&self, invite_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.invites.retrieve",
Method::GET,
format!("/organization/invites/{}", enc(invite_id)),
)
}
pub fn list(&self) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.invites.list",
"/organization/invites",
)
}
pub fn delete(&self, invite_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.invites.delete",
Method::DELETE,
format!("/organization/invites/{}", enc(invite_id)),
)
}
}
impl AdminOrganizationUsersResource {
pub fn retrieve(&self, user_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.users.retrieve",
Method::GET,
format!("/organization/users/{}", enc(user_id)),
)
}
pub fn update(&self, user_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.users.update",
Method::POST,
format!("/organization/users/{}", enc(user_id)),
)
}
pub fn list(&self) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.users.list",
"/organization/users",
)
}
pub fn delete(&self, user_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.users.delete",
Method::DELETE,
format!("/organization/users/{}", enc(user_id)),
)
}
pub fn roles(&self) -> AdminOrganizationUserRolesResource {
AdminOrganizationUserRolesResource::new(self.client.clone())
}
}
impl AdminOrganizationUserRolesResource {
pub fn create(&self, user_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.users.roles.create",
Method::POST,
format!("/organization/users/{}/roles", enc(user_id)),
)
}
pub fn retrieve(
&self,
user_id: impl Into<String>,
role_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.users.roles.retrieve",
Method::GET,
format!(
"/organization/users/{}/roles/{}",
enc(user_id),
enc(role_id)
),
)
}
pub fn list(&self, user_id: impl Into<String>) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.users.roles.list",
format!("/organization/users/{}/roles", enc(user_id)),
)
}
pub fn delete(
&self,
user_id: impl Into<String>,
role_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.users.roles.delete",
Method::DELETE,
format!(
"/organization/users/{}/roles/{}",
enc(user_id),
enc(role_id)
),
)
}
}
impl AdminOrganizationGroupsResource {
pub fn create(&self) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.groups.create",
Method::POST,
"/organization/groups",
)
}
pub fn retrieve(&self, group_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.groups.retrieve",
Method::GET,
format!("/organization/groups/{}", enc(group_id)),
)
}
pub fn update(&self, group_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.groups.update",
Method::POST,
format!("/organization/groups/{}", enc(group_id)),
)
}
pub fn list(&self) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.groups.list",
"/organization/groups",
)
}
pub fn delete(&self, group_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.groups.delete",
Method::DELETE,
format!("/organization/groups/{}", enc(group_id)),
)
}
pub fn users(&self) -> AdminOrganizationGroupUsersResource {
AdminOrganizationGroupUsersResource::new(self.client.clone())
}
pub fn roles(&self) -> AdminOrganizationGroupRolesResource {
AdminOrganizationGroupRolesResource::new(self.client.clone())
}
}
impl AdminOrganizationGroupUsersResource {
pub fn create(&self, group_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.groups.users.create",
Method::POST,
format!("/organization/groups/{}/users", enc(group_id)),
)
}
pub fn retrieve(
&self,
group_id: impl Into<String>,
user_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.groups.users.retrieve",
Method::GET,
format!(
"/organization/groups/{}/users/{}",
enc(group_id),
enc(user_id)
),
)
}
pub fn list(&self, group_id: impl Into<String>) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.groups.users.list",
format!("/organization/groups/{}/users", enc(group_id)),
)
}
pub fn delete(
&self,
group_id: impl Into<String>,
user_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.groups.users.delete",
Method::DELETE,
format!(
"/organization/groups/{}/users/{}",
enc(group_id),
enc(user_id)
),
)
}
}
impl AdminOrganizationGroupRolesResource {
pub fn create(&self, group_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.groups.roles.create",
Method::POST,
format!("/organization/groups/{}/roles", enc(group_id)),
)
}
pub fn retrieve(
&self,
group_id: impl Into<String>,
role_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.groups.roles.retrieve",
Method::GET,
format!(
"/organization/groups/{}/roles/{}",
enc(group_id),
enc(role_id)
),
)
}
pub fn list(&self, group_id: impl Into<String>) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.groups.roles.list",
format!("/organization/groups/{}/roles", enc(group_id)),
)
}
pub fn delete(
&self,
group_id: impl Into<String>,
role_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.groups.roles.delete",
Method::DELETE,
format!(
"/organization/groups/{}/roles/{}",
enc(group_id),
enc(role_id)
),
)
}
}
impl AdminOrganizationRolesResource {
pub fn create(&self) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.roles.create",
Method::POST,
"/organization/roles",
)
}
pub fn retrieve(&self, role_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.roles.retrieve",
Method::GET,
format!("/organization/roles/{}", enc(role_id)),
)
}
pub fn update(&self, role_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.roles.update",
Method::POST,
format!("/organization/roles/{}", enc(role_id)),
)
}
pub fn list(&self) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.roles.list",
"/organization/roles",
)
}
pub fn delete(&self, role_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.roles.delete",
Method::DELETE,
format!("/organization/roles/{}", enc(role_id)),
)
}
}
impl AdminOrganizationDataRetentionResource {
pub fn retrieve(&self) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.data_retention.retrieve",
Method::GET,
"/organization/data_retention",
)
}
pub fn update(&self) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.data_retention.update",
Method::POST,
"/organization/data_retention",
)
}
}
impl AdminOrganizationSpendAlertsResource {
pub fn create(&self) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.spend_alerts.create",
Method::POST,
"/organization/spend_alerts",
)
}
pub fn update(&self, alert_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.spend_alerts.update",
Method::POST,
format!("/organization/spend_alerts/{}", enc(alert_id)),
)
}
pub fn list(&self) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.spend_alerts.list",
"/organization/spend_alerts",
)
}
pub fn delete(&self, alert_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.spend_alerts.delete",
Method::DELETE,
format!("/organization/spend_alerts/{}", enc(alert_id)),
)
}
}
impl AdminOrganizationCertificatesResource {
pub fn create(&self) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.certificates.create",
Method::POST,
"/organization/certificates",
)
}
pub fn retrieve(&self, certificate_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.certificates.retrieve",
Method::GET,
format!("/organization/certificates/{}", enc(certificate_id)),
)
}
pub fn update(&self, certificate_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.certificates.update",
Method::POST,
format!("/organization/certificates/{}", enc(certificate_id)),
)
}
pub fn list(&self) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.certificates.list",
"/organization/certificates",
)
}
pub fn delete(&self, certificate_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.certificates.delete",
Method::DELETE,
format!("/organization/certificates/{}", enc(certificate_id)),
)
}
pub fn activate(&self) -> JsonRequestBuilder<Page<Value>> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.certificates.activate",
Method::POST,
"/organization/certificates/activate",
)
}
pub fn deactivate(&self) -> JsonRequestBuilder<Page<Value>> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.certificates.deactivate",
Method::POST,
"/organization/certificates/deactivate",
)
}
}
impl AdminOrganizationProjectsResource {
pub fn create(&self) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.create",
Method::POST,
"/organization/projects",
)
}
pub fn retrieve(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.retrieve",
Method::GET,
format!("/organization/projects/{}", enc(project_id)),
)
}
pub fn update(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.update",
Method::POST,
format!("/organization/projects/{}", enc(project_id)),
)
}
pub fn list(&self) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.list",
"/organization/projects",
)
}
pub fn archive(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.archive",
Method::POST,
format!("/organization/projects/{}/archive", enc(project_id)),
)
}
pub fn users(&self) -> AdminProjectUsersResource {
AdminProjectUsersResource::new(self.client.clone())
}
pub fn service_accounts(&self) -> AdminProjectServiceAccountsResource {
AdminProjectServiceAccountsResource::new(self.client.clone())
}
pub fn api_keys(&self) -> AdminProjectApiKeysResource {
AdminProjectApiKeysResource::new(self.client.clone())
}
pub fn rate_limits(&self) -> AdminProjectRateLimitsResource {
AdminProjectRateLimitsResource::new(self.client.clone())
}
pub fn model_permissions(&self) -> AdminProjectModelPermissionsResource {
AdminProjectModelPermissionsResource::new(self.client.clone())
}
pub fn hosted_tool_permissions(&self) -> AdminProjectHostedToolPermissionsResource {
AdminProjectHostedToolPermissionsResource::new(self.client.clone())
}
pub fn groups(&self) -> AdminProjectGroupsResource {
AdminProjectGroupsResource::new(self.client.clone())
}
pub fn roles(&self) -> AdminProjectRolesResource {
AdminProjectRolesResource::new(self.client.clone())
}
pub fn data_retention(&self) -> AdminProjectDataRetentionResource {
AdminProjectDataRetentionResource::new(self.client.clone())
}
pub fn spend_alerts(&self) -> AdminProjectSpendAlertsResource {
AdminProjectSpendAlertsResource::new(self.client.clone())
}
pub fn certificates(&self) -> AdminProjectCertificatesResource {
AdminProjectCertificatesResource::new(self.client.clone())
}
}
impl AdminProjectApiKeysResource {
pub fn retrieve(
&self,
project_id: impl Into<String>,
api_key_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.api_keys.retrieve",
Method::GET,
format!(
"/organization/projects/{}/api_keys/{}",
enc(project_id),
enc(api_key_id)
),
)
}
pub fn list(&self, project_id: impl Into<String>) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.api_keys.list",
format!("/organization/projects/{}/api_keys", enc(project_id)),
)
}
pub fn delete(
&self,
project_id: impl Into<String>,
api_key_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.api_keys.delete",
Method::DELETE,
format!(
"/organization/projects/{}/api_keys/{}",
enc(project_id),
enc(api_key_id)
),
)
}
}
impl AdminProjectRateLimitsResource {
pub fn list_rate_limits(&self, project_id: impl Into<String>) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.rate_limits.list",
format!("/organization/projects/{}/rate_limits", enc(project_id)),
)
}
pub fn update_rate_limit(
&self,
project_id: impl Into<String>,
rate_limit_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.rate_limits.update",
Method::POST,
format!(
"/organization/projects/{}/rate_limits/{}",
enc(project_id),
enc(rate_limit_id)
),
)
}
}
impl AdminProjectServiceAccountsResource {
pub fn create(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.service_accounts.create",
Method::POST,
format!(
"/organization/projects/{}/service_accounts",
enc(project_id)
),
)
}
pub fn retrieve(
&self,
project_id: impl Into<String>,
service_account_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.service_accounts.retrieve",
Method::GET,
format!(
"/organization/projects/{}/service_accounts/{}",
enc(project_id),
enc(service_account_id)
),
)
}
pub fn update(
&self,
project_id: impl Into<String>,
service_account_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.service_accounts.update",
Method::POST,
format!(
"/organization/projects/{}/service_accounts/{}",
enc(project_id),
enc(service_account_id)
),
)
}
pub fn list(&self, project_id: impl Into<String>) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.service_accounts.list",
format!(
"/organization/projects/{}/service_accounts",
enc(project_id)
),
)
}
pub fn delete(
&self,
project_id: impl Into<String>,
service_account_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.service_accounts.delete",
Method::DELETE,
format!(
"/organization/projects/{}/service_accounts/{}",
enc(project_id),
enc(service_account_id)
),
)
}
}
impl AdminProjectUsersResource {
pub fn create(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.users.create",
Method::POST,
format!("/organization/projects/{}/users", enc(project_id)),
)
}
pub fn retrieve(
&self,
project_id: impl Into<String>,
user_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.users.retrieve",
Method::GET,
format!(
"/organization/projects/{}/users/{}",
enc(project_id),
enc(user_id)
),
)
}
pub fn update(
&self,
project_id: impl Into<String>,
user_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.users.update",
Method::POST,
format!(
"/organization/projects/{}/users/{}",
enc(project_id),
enc(user_id)
),
)
}
pub fn list(&self, project_id: impl Into<String>) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.users.list",
format!("/organization/projects/{}/users", enc(project_id)),
)
}
pub fn delete(
&self,
project_id: impl Into<String>,
user_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.users.delete",
Method::DELETE,
format!(
"/organization/projects/{}/users/{}",
enc(project_id),
enc(user_id)
),
)
}
pub fn roles(&self) -> AdminProjectUserRolesResource {
AdminProjectUserRolesResource::new(self.client.clone())
}
}
impl AdminProjectUserRolesResource {
pub fn create(
&self,
project_id: impl Into<String>,
user_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.users.roles.create",
Method::POST,
format!("/projects/{}/users/{}/roles", enc(project_id), enc(user_id)),
)
}
pub fn retrieve(
&self,
project_id: impl Into<String>,
user_id: impl Into<String>,
role_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.users.roles.retrieve",
Method::GET,
format!(
"/projects/{}/users/{}/roles/{}",
enc(project_id),
enc(user_id),
enc(role_id)
),
)
}
pub fn list(
&self,
project_id: impl Into<String>,
user_id: impl Into<String>,
) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.users.roles.list",
format!("/projects/{}/users/{}/roles", enc(project_id), enc(user_id)),
)
}
pub fn delete(
&self,
project_id: impl Into<String>,
user_id: impl Into<String>,
role_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.users.roles.delete",
Method::DELETE,
format!(
"/projects/{}/users/{}/roles/{}",
enc(project_id),
enc(user_id),
enc(role_id)
),
)
}
}
impl AdminProjectGroupsResource {
pub fn create(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.groups.create",
Method::POST,
format!("/organization/projects/{}/groups", enc(project_id)),
)
}
pub fn retrieve(
&self,
project_id: impl Into<String>,
group_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.groups.retrieve",
Method::GET,
format!(
"/organization/projects/{}/groups/{}",
enc(project_id),
enc(group_id)
),
)
}
pub fn list(&self, project_id: impl Into<String>) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.groups.list",
format!("/organization/projects/{}/groups", enc(project_id)),
)
}
pub fn delete(
&self,
project_id: impl Into<String>,
group_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.groups.delete",
Method::DELETE,
format!(
"/organization/projects/{}/groups/{}",
enc(project_id),
enc(group_id)
),
)
}
pub fn roles(&self) -> AdminProjectGroupRolesResource {
AdminProjectGroupRolesResource::new(self.client.clone())
}
}
impl AdminProjectGroupRolesResource {
pub fn create(
&self,
project_id: impl Into<String>,
group_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.groups.roles.create",
Method::POST,
format!(
"/projects/{}/groups/{}/roles",
enc(project_id),
enc(group_id)
),
)
}
pub fn retrieve(
&self,
project_id: impl Into<String>,
group_id: impl Into<String>,
role_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.groups.roles.retrieve",
Method::GET,
format!(
"/projects/{}/groups/{}/roles/{}",
enc(project_id),
enc(group_id),
enc(role_id)
),
)
}
pub fn list(
&self,
project_id: impl Into<String>,
group_id: impl Into<String>,
) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.groups.roles.list",
format!(
"/projects/{}/groups/{}/roles",
enc(project_id),
enc(group_id)
),
)
}
pub fn delete(
&self,
project_id: impl Into<String>,
group_id: impl Into<String>,
role_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.groups.roles.delete",
Method::DELETE,
format!(
"/projects/{}/groups/{}/roles/{}",
enc(project_id),
enc(group_id),
enc(role_id)
),
)
}
}
impl AdminProjectRolesResource {
pub fn create(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.roles.create",
Method::POST,
format!("/projects/{}/roles", enc(project_id)),
)
}
pub fn retrieve(
&self,
project_id: impl Into<String>,
role_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.roles.retrieve",
Method::GET,
format!("/projects/{}/roles/{}", enc(project_id), enc(role_id)),
)
}
pub fn update(
&self,
project_id: impl Into<String>,
role_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.roles.update",
Method::POST,
format!("/projects/{}/roles/{}", enc(project_id), enc(role_id)),
)
}
pub fn list(&self, project_id: impl Into<String>) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.roles.list",
format!("/projects/{}/roles", enc(project_id)),
)
}
pub fn delete(
&self,
project_id: impl Into<String>,
role_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.roles.delete",
Method::DELETE,
format!("/projects/{}/roles/{}", enc(project_id), enc(role_id)),
)
}
}
impl AdminProjectDataRetentionResource {
pub fn retrieve(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.data_retention.retrieve",
Method::GET,
format!("/organization/projects/{}/data_retention", enc(project_id)),
)
}
pub fn update(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.data_retention.update",
Method::POST,
format!("/organization/projects/{}/data_retention", enc(project_id)),
)
}
}
impl AdminProjectSpendAlertsResource {
pub fn create(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.spend_alerts.create",
Method::POST,
format!("/organization/projects/{}/spend_alerts", enc(project_id)),
)
}
pub fn update(
&self,
project_id: impl Into<String>,
alert_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.spend_alerts.update",
Method::POST,
format!(
"/organization/projects/{}/spend_alerts/{}",
enc(project_id),
enc(alert_id)
),
)
}
pub fn list(&self, project_id: impl Into<String>) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.spend_alerts.list",
format!("/organization/projects/{}/spend_alerts", enc(project_id)),
)
}
pub fn delete(
&self,
project_id: impl Into<String>,
alert_id: impl Into<String>,
) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.spend_alerts.delete",
Method::DELETE,
format!(
"/organization/projects/{}/spend_alerts/{}",
enc(project_id),
enc(alert_id)
),
)
}
}
impl AdminProjectCertificatesResource {
pub fn list(&self, project_id: impl Into<String>) -> ListRequestBuilder<Value> {
ListRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.certificates.list",
format!("/organization/projects/{}/certificates", enc(project_id)),
)
}
pub fn activate(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Page<Value>> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.certificates.activate",
Method::POST,
format!(
"/organization/projects/{}/certificates/activate",
enc(project_id)
),
)
}
pub fn deactivate(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Page<Value>> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.certificates.deactivate",
Method::POST,
format!(
"/organization/projects/{}/certificates/deactivate",
enc(project_id)
),
)
}
}
impl AdminProjectModelPermissionsResource {
pub fn retrieve(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.model_permissions.retrieve",
Method::GET,
format!(
"/organization/projects/{}/model_permissions",
enc(project_id)
),
)
}
pub fn update(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.model_permissions.update",
Method::POST,
format!(
"/organization/projects/{}/model_permissions",
enc(project_id)
),
)
}
pub fn delete(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.model_permissions.delete",
Method::DELETE,
format!(
"/organization/projects/{}/model_permissions",
enc(project_id)
),
)
}
}
impl AdminProjectHostedToolPermissionsResource {
pub fn retrieve(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.hosted_tool_permissions.retrieve",
Method::GET,
format!(
"/organization/projects/{}/hosted_tool_permissions",
enc(project_id)
),
)
}
pub fn update(&self, project_id: impl Into<String>) -> JsonRequestBuilder<Value> {
JsonRequestBuilder::new(
self.client.clone(),
"admin.organization.projects.hosted_tool_permissions.update",
Method::POST,
format!(
"/organization/projects/{}/hosted_tool_permissions",
enc(project_id)
),
)
}
}