@linode/api-v4
Version:
JavaScript wrapper around the Linode APIv4
28 lines • 4.81 kB
TypeScript
export type EntityTypePermissions = 'account' | 'database' | 'domain' | 'firewall' | 'image' | 'linode' | 'longview' | 'nodebalancer' | 'stackscript' | 'volume' | 'vpc';
export type AccountAccessType = 'account_admin' | 'account_linode_admin' | 'account_viewer' | 'firewall_creator' | 'linode_contributor' | 'linode_creator';
export type RoleType = 'firewall_admin' | 'firewall_creator' | 'linode_contributor' | 'linode_creator' | 'linode_viewer' | 'update_firewall';
export interface IamUserPermissions {
account_access: AccountAccessType[];
entity_access: EntityAccess[];
}
export interface EntityAccess {
id: number;
type: EntityTypePermissions;
roles: RoleType[];
}
export type PermissionType = 'acknowledge_account_agreement' | 'add_nodebalancer_config_node' | 'add_nodebalancer_config' | 'allocate_ip' | 'allocate_linode_ip_address' | 'assign_ips' | 'assign_ipv4' | 'attach_volume' | 'boot_linode' | 'cancel_account' | 'cancel_linode_backups' | 'clone_linode_disk' | 'clone_linode' | 'clone_volume' | 'create_firewall_device' | 'create_firewall' | 'create_image' | 'create_ipv6_range' | 'create_linode_backup_snapshot' | 'create_linode_config_profile_interface' | 'create_linode_config_profile' | 'create_linode_disk' | 'create_linode' | 'create_nodebalancer' | 'create_oauth_client' | 'create_payment_method' | 'create_promo_code' | 'create_service_transfer' | 'create_user' | 'create_volume' | 'create_vpc_subnet' | 'create_vpc' | 'delete_firewall_device' | 'delete_firewall' | 'delete_image' | 'delete_linode_config_profile_interface' | 'delete_linode_config_profile' | 'delete_linode_disk' | 'delete_linode_ip_address' | 'delete_linode' | 'delete_nodebalancer_config_node' | 'delete_nodebalancer_config' | 'delete_nodebalancer' | 'delete_payment_method' | 'delete_user' | 'delete_volume' | 'delete_vpc_subnet' | 'delete_vpc' | 'detach_volume' | 'enable_linode_backups' | 'enable_managed' | 'enroll_beta_program' | 'list_account_agreements' | 'list_account_logins' | 'list_all_vpc_ipaddresses' | 'list_available_services' | 'list_child_accounts' | 'list_enrolled_beta_programs' | 'list_events' | 'list_firewall_devices' | 'list_firewalls' | 'list_images' | 'list_invoice_items' | 'list_invoices' | 'list_linode_backups' | 'list_linode_config_profile_interfaces' | 'list_linode_config_profiles' | 'list_linode_disks' | 'list_linode_firewalls' | 'list_linode_kernels' | 'list_linode_nodebalancers' | 'list_linode_types' | 'list_linode_volumes' | 'list_linodes' | 'list_maintenances' | 'list_nodebalancer_config_nodes' | 'list_nodebalancer_configs' | 'list_nodebalancer_firewalls' | 'list_nodebalancers' | 'list_notifications' | 'list_oauth_clients' | 'list_payment_methods' | 'list_payments' | 'list_service_transfers' | 'list_users' | 'list_volumes' | 'list_vpc_ip_addresses' | 'list_vpc_subnets' | 'list_vpcs' | 'make_payment' | 'migrate_linode' | 'password_reset_linode' | 'reboot_linode' | 'rebuild_linode' | 'rebuild_nodebalancer_config' | 'reorder_linode_config_profile_interfaces' | 'rescue_linode' | 'reset_linode_disk_root_password' | 'resize_linode_disk' | 'resize_linode' | 'resize_volume' | 'restore_linode_backup' | 'set_default_payment_method' | 'share_ips' | 'share_ipv4' | 'shutdown_linode' | 'update_account_settings' | 'update_account' | 'update_firewall_rules' | 'update_firewall' | 'update_image' | 'update_linode_config_profile_interface' | 'update_linode_config_profile' | 'update_linode_disk' | 'update_linode_ip_address' | 'update_linode' | 'update_nodebalancer_config_node' | 'update_nodebalancer_config' | 'update_nodebalancer' | 'update_user' | 'update_volume' | 'update_vpc_subnet' | 'update_vpc' | 'upgrade_linode' | 'upload_image' | 'view_account_settings' | 'view_account' | 'view_firewall_device' | 'view_firewall' | 'view_image' | 'view_invoice' | 'view_linode_backup' | 'view_linode_config_profile_interface' | 'view_linode_config_profile' | 'view_linode_disk' | 'view_linode_ip_address' | 'view_linode_kernel' | 'view_linode_monthly_network_transfer_stats' | 'view_linode_monthly_stats' | 'view_linode_network_transfer' | 'view_linode_networking_info' | 'view_linode_stats' | 'view_linode_type' | 'view_linode' | 'view_network_usage' | 'view_nodebalancer_config_node' | 'view_nodebalancer_config' | 'view_nodebalancer_statistics' | 'view_nodebalancer' | 'view_payment_method' | 'view_payment' | 'view_user' | 'view_volume' | 'view_vpc_subnet' | 'view_vpc';
export interface IamAccountPermissions {
account_access: IamAccess[];
entity_access: IamAccess[];
}
export interface IamAccess {
type: EntityTypePermissions;
roles: Roles[];
}
export interface Roles {
name: string;
description: string;
permissions: PermissionType[];
}
export type IamAccessType = keyof IamAccountPermissions;
//# sourceMappingURL=types.d.ts.map