import sys import time from typing import List import ujson as json from consoleme.config import config from consoleme.exceptions.exceptions import ( InvalidCertificateException, MissingConfigurationValue, NoUserException, ) from consoleme.lib.generic import str2bool from consoleme.lib.plugins import get_plugin_by_name log = config.get_logger("consoleme") stats = get_plugin_by_name(config.get("plugins.metrics", "default_metrics"))() class Group(object): def __init__(self, **kwargs): self.name: str = kwargs.get("name") self.domain: str = kwargs.get("domain") self.group_id: str = kwargs.get("groupId") self.friendly_name: str = kwargs.get("friendlyName") self.description: str = kwargs.get("description") self.settings: str = kwargs.get("settings") self.aliases: str = kwargs.get("aliases") self.members: List = kwargs.get("members", []) self.attributes: List = kwargs.get("attributes") self.automated_group: bool = self.is_group_automated(self.description)
from consoleme.config import config from consoleme.handlers.base import BaseAPIV1Handler from consoleme.lib.account_indexers import get_account_id_to_name_mapping from consoleme.lib.auth import ( can_admin_policies, can_create_roles, can_delete_roles, can_edit_dynamic_config, ) from consoleme.lib.generic import get_random_security_logo, is_in_group from consoleme.lib.plugins import get_plugin_by_name stats = get_plugin_by_name(config.get("plugins.metrics", "default_metrics"))() log = config.get_logger() class UserProfileHandler(BaseAPIV1Handler): async def get(self): """ Provide information about site configuration for the frontend :return: """ is_contractor = config.config_plugin().is_contractor(self.user) site_config = { "consoleme_logo": await get_random_security_logo(), "google_tracking_uri": config.get("google_analytics.tracking_url"), "documentation_url": config.get("documentation_page"), "support_contact": config.get("support_contact"), "support_chat_url": config.get("support_chat_url"), "security_logo": config.get("security_logo.image"), "security_url": config.get("security_logo.url"),
from tornado.httputil import url_concat from consoleme.config import config from consoleme.exceptions.exceptions import ( NoRoleTemplateException, UserRoleLambdaException, UserRoleNotAssumableYet, ) from consoleme.lib.account_indexers import get_account_id_to_name_mapping from consoleme.lib.dynamo import IAMRoleDynamoHandler from consoleme.lib.plugins import get_plugin_by_name from consoleme.lib.redis import RedisHandler stats = get_plugin_by_name(config.get("plugins.metrics", "default_metrics"))() log = config.get_logger(__name__) class Aws: """The AWS class handles all interactions with AWS.""" def __init__(self): self.red = RedisHandler().redis_sync() self.redis_key = config.get("aws.iamroles_redis_key", "IAM_ROLE_CACHE") self.dynamo = IAMRoleDynamoHandler() @retry( stop_max_attempt_number=3, wait_exponential_multiplier=1000, wait_exponential_max=1000, )