Exemple #1
0
 def from_dict(cls: Type["AccessConfig"],
               config_dict: Dict[str, Any]) -> "AccessConfig":
     """Build an AccessConfig from a dict"""
     cache_creds = get_optional_bool_param("cache_creds", config_dict)
     if cache_creds is not None:
         accessor = Accessor.from_dict(config_dict, cache_creds=cache_creds)
     else:
         accessor = Accessor.from_dict(config_dict)
     return AccessConfig(accessor=accessor)
 def from_dict_to_dict_with_cache(self):
     in_five_min_epoch = int(time.time()) + 5 * 60
     data = {
         "multi_hop_accessors": [
             {
                 "role_session_name":
                 "altimeter-mb-a",
                 "access_steps": [
                     {
                         "role_name": "OrganizationAccountAccessRole",
                         "account_id": "123456789012",
                         "external_id": "foo",
                     },
                     {
                         "role_name": "OrganizationAccountAccessRole",
                         "account_id": None,
                         "external_id": None,
                     },
                 ],
             },
             {
                 "role_session_name":
                 "altimeter-mb-b",
                 "access_steps": [
                     {
                         "role_name": "OrganizationAccountAccessRole",
                         "account_id": "123456789012",
                         "external_id": "foo",
                     },
                     {
                         "role_name": "OrganizationAccountAccessRole",
                         "account_id": "12345678901",
                         "external_id": "foo",
                     },
                     {
                         "role_name": "OrganizationAccountAccessRole",
                         "account_id": None,
                         "external_id": None,
                     },
                 ],
             },
         ],
         "credentials_cache": {
             "cache": {
                 "123456789012:test_rn:test_rsn": {
                     "access_key_id": "test_aki",
                     "secret_access_key": "test_sak",
                     "session_token": "test_st",
                     "expiration": in_five_min_epoch,
                 },
                 "123456789012:test_rn2:test_rsn2": {
                     "access_key_id": "test_aki2",
                     "secret_access_key": "test_sak2",
                     "session_token": "test_st2",
                     "expiration": in_five_min_epoch,
                 },
             }
         },
     }
     self.assertDictEqual(data, Accessor.from_dict(data=data).to_dict())
 def test_str(self):
     accessor = Accessor.from_dict(data=TEST_ACCESSOR_DICT)
     self.assertEqual(
         str(accessor),
         ("accessor:altimeter-mb-a:OrganizationAccountAccessRole@123456789012,"
          "OrganizationAccountAccessRole@target,"
          "accessor:altimeter-mb-b:OrganizationAccountAccessRole@123456789012,"
          "OrganizationAccountAccessRole@123456789012,"
          "OrganizationAccountAccessRole@target"),
     )
 def test_from_dict(self):
     accessor = Accessor.from_dict(data=TEST_ACCESSOR_DICT)
     self.maxDiff = None
     self.assertDictEqual(
         accessor.to_dict(),
         {
             "multi_hop_accessors": [
                 {
                     "role_session_name":
                     "altimeter-mb-a",
                     "access_steps": [
                         {
                             "role_name": "OrganizationAccountAccessRole",
                             "account_id": "123456789012",
                             "external_id": "foo",
                         },
                         {
                             "role_name": "OrganizationAccountAccessRole",
                             "account_id": None,
                             "external_id": None,
                         },
                     ],
                 },
                 {
                     "role_session_name":
                     "altimeter-mb-b",
                     "access_steps": [
                         {
                             "role_name": "OrganizationAccountAccessRole",
                             "account_id": "123456789012",
                             "external_id": "foo",
                         },
                         {
                             "role_name": "OrganizationAccountAccessRole",
                             "account_id": "123456789012",
                             "external_id": "foo",
                         },
                         {
                             "role_name": "OrganizationAccountAccessRole",
                             "account_id": None,
                             "external_id": None,
                         },
                     ],
                 },
             ],
             "credentials_cache": {
                 "cache": {}
             },
         },
     )
Exemple #5
0
    def from_dict(cls: Type["AccountScanPlan"],
                  account_scan_plan_dict: Dict[str, Any]) -> "AccountScanPlan":
        """Create an AccountScanPlan from a dict

        Args:
           account_scan_plan_dict: dict of AccountScanPlan data

        Returns:
            AccountScanPlan object
        """
        account_ids = account_scan_plan_dict["account_ids"]
        regions = account_scan_plan_dict["regions"]
        accessor_dict = account_scan_plan_dict["accessor"]
        accessor = Accessor.from_dict(accessor_dict)
        return cls(account_ids=account_ids, regions=regions, accessor=accessor)
 def from_dict_to_dict(self):
     data = {
         "multi_hop_accessors": [
             {
                 "role_session_name":
                 "altimeter-mb-a",
                 "access_steps": [
                     {
                         "role_name": "OrganizationAccountAccessRole",
                         "account_id": "123456789012",
                         "external_id": "foo",
                     },
                     {
                         "role_name": "OrganizationAccountAccessRole",
                         "account_id": None,
                         "external_id": None,
                     },
                 ],
             },
             {
                 "role_session_name":
                 "altimeter-mb-b",
                 "access_steps": [
                     {
                         "role_name": "OrganizationAccountAccessRole",
                         "account_id": "123456789012",
                         "external_id": "foo",
                     },
                     {
                         "role_name": "OrganizationAccountAccessRole",
                         "account_id": "123456789012",
                         "external_id": "foo",
                     },
                     {
                         "role_name": "OrganizationAccountAccessRole",
                         "account_id": None,
                         "external_id": None,
                     },
                 ],
             },
         ],
         "credentials_cache": {
             "cache": {}
         },
     }
     self.assertDictEqual(data, Accessor.from_dict(data=data).to_dict())