Пример #1
0
    def update_account_alias(self):
        """
        Update the account alias.

        Args:
            None
        Returns:
            (String, String) Account ID, Account Alias

        """
        account_id, account_alias = get_account_alias_from_role_arn(
            self._role_arn)
        with AccountAliasAccessor(account_id, self._schema) as alias_accessor:
            alias_accessor.set_account_alias(account_alias)

        accounts = get_account_names_by_organization(self._role_arn)
        for account in accounts:
            acct_id = account.get('id')
            acct_alias = account.get('name')
            if acct_id and acct_alias:
                with AccountAliasAccessor(acct_id,
                                          self._schema) as alias_accessor:
                    alias_accessor.set_account_alias(acct_alias)

        return account_id, account_alias
Пример #2
0
    def test_get_account_alias_from_role_arn_no_session(self, mock_get_role_session):
        """Test get_account_alias_from_role_arn is functional."""
        mock_session = mock_get_role_session.return_value
        mock_client = mock_session.client
        mock_client.return_value.list_account_aliases.side_effect = ClientError({}, "Error")

        mock_account_id = "111111111111"
        role_arn = f"arn:aws:iam::{mock_account_id}:role/CostManagement"

        account_id, account_alias = utils.get_account_alias_from_role_arn(role_arn)
        self.assertEqual(mock_account_id, account_id)
        self.assertEqual(mock_account_id, account_alias)
Пример #3
0
    def test_get_account_alias_from_role_arn(self):
        """Test get_account_alias_from_role_arn is functional."""
        mock_account_id = "111111111111"
        role_arn = f"arn:aws:iam::{mock_account_id}:role/CostManagement"
        mock_alias = "test-alias"

        session = Mock()
        mock_client = Mock()
        mock_client.list_account_aliases.return_value = {"AccountAliases": [mock_alias]}
        session.client.return_value = mock_client
        account_id, account_alias = utils.get_account_alias_from_role_arn(role_arn, session)
        self.assertEqual(mock_account_id, account_id)
        self.assertEqual(mock_alias, account_alias)
Пример #4
0
    def test_get_account_alias_from_role_arn_no_session(
            self, mock_get_role_session):
        mock_session = mock_get_role_session.return_value
        mock_client = mock_session.client
        mock_client.return_value.list_account_aliases.side_effect = ClientError(
            {}, 'Error')

        mock_account_id = '111111111111'
        role_arn = 'arn:aws:iam::{}:role/CostManagement'.format(
            mock_account_id)

        account_id, account_alias = utils.get_account_alias_from_role_arn(
            role_arn)
        self.assertEqual(mock_account_id, account_id)
        self.assertEqual(mock_account_id, account_alias)
Пример #5
0
    def test_get_account_alias_from_role_arn(self):
        mock_account_id = '111111111111'
        role_arn = 'arn:aws:iam::{}:role/CostManagement'.format(
            mock_account_id)
        mock_alias = 'test-alias'

        session = Mock()
        mock_client = Mock()
        mock_client.list_account_aliases.return_value = {
            'AccountAliases': [mock_alias]
        }
        session.client.return_value = mock_client
        account_id, account_alias = utils.get_account_alias_from_role_arn(
            role_arn, session)
        self.assertEqual(mock_account_id, account_id)
        self.assertEqual(mock_alias, account_alias)
Пример #6
0
    def test_get_account_alias_from_role_arn_no_policy(self,
                                                       mock_get_role_session):
        """Test get_account_alias_from_role_arn is functional when there are no policies."""
        mock_session = mock_get_role_session.return_value
        mock_client = mock_session.client
        mock_client.return_value.list_account_aliases.side_effect = ClientError(
            {}, 'Error')

        mock_account_id = '111111111111'
        role_arn = 'arn:aws:iam::{}:role/CostManagement'.format(
            mock_account_id)

        account_id, account_alias = utils.get_account_alias_from_role_arn(
            role_arn, mock_session)
        self.assertEqual(mock_account_id, account_id)
        self.assertEqual(mock_account_id, account_alias)
Пример #7
0
    def update_account_alias(self):
        """
        Update the account alias.

        Args:
            None
        Returns:
            (String, String) Account ID, Account Alias
        """
        account_id, account_alias = get_account_alias_from_role_arn(
            self._role_arn)
        with AccountAliasAccessor(account_id, self._schema) as alias_accessor:
            alias_accessor.set_account_alias(account_alias)
            alias_accessor.commit()

        return account_id, account_alias