How to use list_resource_tags method in localstack

Best Python code snippet using localstack_python

kms.py

Source:kms.py Github

copy

Full Screen

...88 print('[KMS_005] 웹 tier에 대해 AWS 계정에 생성된 Amazon KMS 고객 마스터 키(CMK)가 있는지 확인하시오.')89 check = '?'90 data = {'cli': [], 'raw_data': [], 'summary': []}91 for key in low_data.customer_keys_id:92 list_resource_tags = client.kms_client.list_resource_tags(KeyId=key)93 append_data(data, 'aws kms list-resource-tags --key-id ' + key + ' --query \"{Tags:Tags}\"',94 {'KeyId': key, 'Tags': list_resource_tags['Tags']})95 if len(data['raw_data']) > 0:96 append_summary(data, 'Amazon KMS 고객 마스터 키(CMK) 중에서 웹 tier에 대해서 생성된 것이 존재하는지 확인하시오.')97 execute_insert_assessment_result_sql((low_data.diagnosis_id, 'KMS', '005', 'KMS', 'KMS', check, str(data)))98 print('[+] Complete!')99 except Exception as e:100 print('[!] Error :', e)101 def kms_006(self):102 try:103 print('[KMS_006] 앱 tier에 대해 AWS 계정에 생성된 Amazon KMS 고객 마스터 키(CMK)가 있는지 확인하시오.')104 check = '?'105 data = {'cli': [], 'raw_data': [], 'summary': []}106 for key in low_data.customer_keys_id:107 list_resource_tags = client.kms_client.list_resource_tags(KeyId=key)108 append_data(data, 'aws kms list-resource-tags --key-id ' + key + ' --query \"{Tags:Tags}\"',109 {'KeyId': key, 'Tags': list_resource_tags['Tags']})110 if len(data['raw_data']) > 0:111 append_summary(data, 'Amazon KMS 고객 마스터 키(CMK) 중에서 앱 tier에 대해서 생성된 것이 존재하는지 확인하시오.')112 execute_insert_assessment_result_sql((low_data.diagnosis_id, 'KMS', '006', 'KMS', 'KMS', check, str(data)))113 print('[+] Complete!')114 except Exception as e:115 print('[!] Error :', e)116 def kms_007(self):117 try:118 print('[KMS_007] 데이터 tier에 대해 AWS 계정에 생성된 Amazon KMS 고객 마스터 키(CMK)가 있는지 확인하시오.')119 check = '?'120 data = {'cli': [], 'raw_data': [], 'summary': []}121 for key in low_data.customer_keys_id:122 list_resource_tags = client.kms_client.list_resource_tags(KeyId=key)123 append_data(data, 'aws kms list-resource-tags --key-id ' + key + ' --query \"{Tags:Tags}\"',124 {'KeyId': key, 'Tags': list_resource_tags['Tags']})125 if len(data['raw_data']) > 0:126 append_summary(data, 'Amazon KMS 고객 마스터 키(CMK) 중에서 데이터 tier에 대해서 생성된 것이 존재하는지 확인하시오.')127 execute_insert_assessment_result_sql((low_data.diagnosis_id, 'KMS', '007', 'KMS', 'KMS', check, str(data)))128 print('[+] Complete!')129 except Exception as e:...

Full Screen

Full Screen

svckms.py

Source:svckms.py Github

copy

Full Screen

...103 )104 return response['KeyRotationEnabled']105 except botocore.exceptions.ClientError as e:106 raise RdqError(self._utils.fail(e, op, 'CmkArn', cmkArn))107 def list_resource_tags(self, cmkArn):108 op = 'list_resource_tags'109 try:110 response = self._client.list_resource_tags(111 KeyId=cmkArn112 )113 tags = Tags()114 tags.updateList(response.get('Tags'), "Tag")115 return Tags(tags)116 except botocore.exceptions.ClientError as e:117 raise RdqError(self._utils.fail(e, op, 'CmkArn', cmkArn))118 #PREVIEW119 def update_key_description(self, cmkArn, description):120 op = 'update_key_description'121 args = {122 'KeyId': cmkArn,123 'Description': description124 }125 if self._utils.preview(op, args): return126 try:127 self._client.update_key_description(128 KeyId=cmkArn,129 Description=description130 )131 except botocore.exceptions.ClientError as e:132 raise RdqError(self._utils.fail(e, op, 'CmkArn', cmkArn))133 def tag_resource(self, cmkArn, tags):134 op = 'tag_resource'135 try:136 self._client.tag_resource(137 KeyId=cmkArn,138 Tags=tags.toList("Tag")139 )140 except botocore.exceptions.ClientError as e:141 raise RdqError(self._utils.fail(e, op, 'CmkArn', cmkArn))142 #PREVIEW143 def enable_key_rotation(self, cmkArn):144 op = 'enable_key_rotation'145 args = {146 'KeyId': cmkArn147 }148 if self._utils.preview(op, args): return149 try:150 self._client.enable_key_rotation(151 KeyId=cmkArn152 )153 except botocore.exceptions.ClientError as e:154 raise RdqError(self._utils.fail(e, op, 'CmkArn', cmkArn))155 #PREVIEW156 def schedule_key_deletion(self, cmkArn, pendingWindowInDays):157 op = 'schedule_key_deletion'158 op = 'enable_key_rotation'159 args = {160 'KeyId': cmkArn,161 'PendingWindowInDays': pendingWindowInDays162 }163 if self._utils.preview(op, args): return164 try:165 self._client.schedule_key_deletion(166 KeyId=cmkArn,167 PendingWindowInDays=pendingWindowInDays168 )169 return True170 except botocore.exceptions.ClientError as e:171 if self._utils.is_resource_not_found(e): return False172 raise RdqError(self._utils.fail(e, op, 'CmkArn', cmkArn))173 #PREVIEW174 def delete_alias(self, canonAlias):175 op = 'delete_alias'176 args = {177 'AliasName': canonAlias178 }179 if self._utils.preview(op, args): return True180 try:181 self._client.delete_alias(182 AliasName=canonAlias183 )184 return True185 except botocore.exceptions.ClientError as e:186 if self._utils.is_resource_not_found(e): return False187 raise RdqError(self._utils.fail(e, op, 'AliasName', canonAlias))188 def createPreviewArn(self):189 return self.create_preview_arn()190 def getCMKByAlias(self, alias):191 canonAlias = _canon_alias(alias)192 return self.describe_key(canonAlias)193 #PREVIEW194 def enableKeyRotation(self, cmkArn):195 self.enable_key_rotation(cmkArn)196 #PREVIEW197 def declareCMKArn(self, description, alias, policyStatements, tags):198 statements = [self.policy_statement_default()]199 statements.extend(policyStatements)200 policyMap = self._utils.policy_map(statements)201 reqdPolicyJson = self._utils.to_json(policyMap)202 canonAlias = _canon_alias(alias)203 exMeta = self.describe_key(canonAlias)204 createReqd = False205 if exMeta:206 keyState = exMeta['KeyState']207 if keyState == 'PendingDeletion':208 createReqd = True209 elif keyState == 'Enabled':210 createReqd = False211 else:212 erm = 'KMS CMK {} in unexpected state {}'.format(alias, keyState)213 raise RdqError(erm)214 else:215 createReqd = True216 if createReqd:217 newArn = self.create_key_arn(description, reqdPolicyJson, tags)218 self.create_alias(canonAlias, newArn)219 self.enable_key_rotation(newArn)220 return newArn221 exArn = exMeta['Arn']222 exDescription = exMeta['Description']223 exPolicyJson = self._utils.to_json(self.get_key_policy(exArn))224 if exPolicyJson != reqdPolicyJson:225 self.put_key_policy(exArn, reqdPolicyJson)226 if exDescription != description:227 self.update_key_description(exArn, description)228 isRotationEnabled = self.get_key_rotation_status(exArn)229 if not isRotationEnabled:230 self.enable_key_rotation(exArn)231 exTags = self.list_resource_tags(exArn)232 deltaTags = tags.subtract(exTags)233 if not deltaTags.isEmpty():234 self.tag_resource(exArn, deltaTags)235 return exArn236 def removeCMK(self, alias, pendingWindowInDays=7):237 canonAlias = _canon_alias(alias)238 exMeta = self.describe_key(canonAlias)239 if exMeta:240 exArn = exMeta['Arn']241 self.delete_alias(canonAlias)...

Full Screen

Full Screen

test_aws_kms_client.py

Source:test_aws_kms_client.py Github

copy

Full Screen

...68 get_key_rotation_status=Mock(side_effect=client_error("GetKeyRotationStatus", "NotFoundException", "no"))69 )70 with self.assertRaisesRegex(KmsException, "ghost-key"):71 AwsKmsClient(boto_kms)._get_key_rotation_status("ghost-key")72 def test_list_resource_tags(self) -> None:73 key = generator.key()74 expected_response = [Tag(key="tag1", value="value1"), Tag(key="tag2", value="value2")]75 boto_kms = Mock(list_resource_tags=Mock(return_value=LIST_RESOURCE_TAGS))76 response = AwsKmsClient(boto_kms)._list_resource_tags(key_id=key.id)77 boto_kms.list_resource_tags.assert_called_with(KeyId=key.id)78 self.assertEqual(expected_response, response)79 def test_list_resource_tags_failure(self) -> None:80 key = generator.key()81 boto_kms = Mock(82 list_resource_tags=Mock(side_effect=client_error("ListResourceTags", "AccessDeniedException", "nope!"))83 )84 with self.assertRaisesRegex(85 expected_exception=KmsException,86 expected_regex=f"unable to list tags for kms key '{key.id}': An error occurred",87 ):88 AwsKmsClient(boto_kms)._list_resource_tags(key_id=key.id)...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run localstack automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful