Skip to content

Commit 579ae95

Browse files
feat(IAM Policy Management): add support for action control templates from IAM (#289)
Signed-off-by: Rajesh Pirati <[email protected]>
1 parent 5b95773 commit 579ae95

File tree

4 files changed

+6237
-559
lines changed

4 files changed

+6237
-559
lines changed

examples/test_iam_policy_management_v1_examples.py

Lines changed: 365 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,13 @@
6161
example_target_account_id = None
6262
example_assignment_etag = None
6363
example_account_settings_etag = None
64+
example_action_control_template_id = None
65+
example_action_control_template_etag = None
66+
example_action_control_template_version = None
67+
example_basic_action_control_template_version = None
68+
example_action_control_assignment_id = None
69+
example_action_control_assignment_etag = None
70+
6471

6572
##############################################################################
6673
# Start of Examples for Service: IamPolicyManagementV1
@@ -1064,6 +1071,364 @@ def test_update_access_management_account_settings_example(self):
10641071
except ApiException as e:
10651072
pytest.fail(str(e))
10661073

1074+
@needscredentials
1075+
def test_create_action_control_template_example(self):
1076+
"""
1077+
create_action_control_template request example
1078+
"""
1079+
try:
1080+
print('\ncreate_action_control_template() result:')
1081+
# begin-create_action_control_template
1082+
1083+
template_action_control_model = {
1084+
'service_name': 'am-test-service',
1085+
'description': 'am-test-service service actionControl',
1086+
'actions': ['am-test-service.test.delete'],
1087+
}
1088+
1089+
response = iam_policy_management_service.create_action_control_template(
1090+
name='SDKExamplesTest',
1091+
account_id=example_account_id,
1092+
description='SDK Test ActionControl Template',
1093+
action_control=template_action_control_model,
1094+
)
1095+
action_control_template = response.get_result()
1096+
1097+
global example_action_control_template_id
1098+
example_action_control_template_id = action_control_template['id']
1099+
global example_basic_action_control_template_version
1100+
example_basic_action_control_template_version = action_control_template['version']
1101+
1102+
print(json.dumps(action_control_template, indent=2))
1103+
1104+
# end-create_action_control_template
1105+
1106+
except ApiException as e:
1107+
pytest.fail(str(e))
1108+
1109+
@needscredentials
1110+
def test_get_action_control_template_example(self):
1111+
"""
1112+
get_action_control_template request example
1113+
"""
1114+
try:
1115+
print('\nget_action_control_template() result:')
1116+
# begin-get_action_control_template
1117+
1118+
print('example_action_control_template_id: ', example_action_control_template_id)
1119+
response = iam_policy_management_service.get_action_control_template(
1120+
action_control_template_id=example_action_control_template_id,
1121+
)
1122+
action_control_template = response.get_result()
1123+
1124+
global example_action_control_template_etag
1125+
example_action_control_template_etag = response.get_headers().get("Etag")
1126+
1127+
print(json.dumps(action_control_template, indent=2))
1128+
1129+
# end-get_action_control_template
1130+
1131+
except ApiException as e:
1132+
pytest.fail(str(e))
1133+
1134+
@needscredentials
1135+
def test_replace_action_control_template_example(self):
1136+
"""
1137+
replace_action_control_template request example
1138+
"""
1139+
try:
1140+
print('\nreplace_action_control_template() result:')
1141+
# begin-replace_action_control_template
1142+
1143+
template_action_control_model = {
1144+
'service_name': 'am-test-service',
1145+
'description': 'am-test-service service actionControl',
1146+
'actions': ['am-test-service.test.delete'],
1147+
}
1148+
1149+
response = iam_policy_management_service.replace_action_control_template(
1150+
action_control_template_id=example_action_control_template_id,
1151+
version=example_basic_action_control_template_version,
1152+
if_match=example_action_control_template_etag,
1153+
action_control=template_action_control_model,
1154+
)
1155+
action_control_template = response.get_result()
1156+
1157+
print(json.dumps(action_control_template, indent=2))
1158+
1159+
# end-replace_action_control_template
1160+
1161+
except ApiException as e:
1162+
pytest.fail(str(e))
1163+
1164+
# @needscredentials
1165+
def test_list_action_control_templates_example(self):
1166+
"""
1167+
list_action_control_templates request example
1168+
"""
1169+
try:
1170+
print('\nlist_action_control_templates() result:')
1171+
# begin-list_action_control_templates
1172+
1173+
response = iam_policy_management_service.list_action_control_templates(
1174+
account_id=example_account_id,
1175+
)
1176+
action_control_template_collection = response.get_result()
1177+
1178+
print(json.dumps(action_control_template_collection, indent=2))
1179+
1180+
# end-list_action_control_templates
1181+
1182+
except ApiException as e:
1183+
pytest.fail(str(e))
1184+
1185+
@needscredentials
1186+
def test_create_action_control_template_version_example(self):
1187+
"""
1188+
create_action_control_template_version request example
1189+
"""
1190+
try:
1191+
print('\ncreate_action_control_template_version() result:')
1192+
# begin-create_action_control_template_version
1193+
template_action_control_model = {
1194+
'service_name': 'am-test-service',
1195+
'description': 'am-test-service service actionControl',
1196+
'actions': ['am-test-service.test.create'],
1197+
}
1198+
1199+
response = iam_policy_management_service.create_action_control_template_version(
1200+
action_control_template_id=example_action_control_template_id,
1201+
committed=True,
1202+
action_control=template_action_control_model,
1203+
)
1204+
action_control_template = response.get_result()
1205+
global example_action_control_template_version
1206+
example_action_control_template_version = action_control_template['version']
1207+
print(json.dumps(action_control_template, indent=2))
1208+
1209+
# end-create_action_control_template_version
1210+
1211+
except ApiException as e:
1212+
pytest.fail(str(e))
1213+
1214+
# @needscredentials
1215+
def test_list_action_control_template_versions_example(self):
1216+
"""
1217+
list_action_control_template_versions request example
1218+
"""
1219+
try:
1220+
print('\nlist_action_control_template_versions() result:')
1221+
# begin-list_action_control_template_versions
1222+
1223+
response = iam_policy_management_service.list_action_control_template_versions(
1224+
action_control_template_id=example_action_control_template_id,
1225+
)
1226+
action_control_template_versions_collection = response.get_result()
1227+
1228+
print(json.dumps(action_control_template_versions_collection, indent=2))
1229+
1230+
# end-list_action_control_template_versions
1231+
1232+
except ApiException as e:
1233+
pytest.fail(str(e))
1234+
1235+
# @needscredentials
1236+
def test_get_action_control_template_version_example(self):
1237+
"""
1238+
get_action_control_template_version request example
1239+
"""
1240+
try:
1241+
print('\nget_action_control_template_version() result:')
1242+
# begin-get_action_control_template_version
1243+
1244+
response = iam_policy_management_service.get_action_control_template_version(
1245+
action_control_template_id=example_action_control_template_id,
1246+
version=example_action_control_template_version,
1247+
)
1248+
action_control_template = response.get_result()
1249+
1250+
global example_template_etag
1251+
example_template_etag = response.get_headers().get("Etag")
1252+
1253+
print(json.dumps(action_control_template, indent=2))
1254+
1255+
# end-get_action_control_template_version
1256+
1257+
except ApiException as e:
1258+
pytest.fail(str(e))
1259+
1260+
# @needscredentials
1261+
def test_commit_action_control_template_example(self):
1262+
"""
1263+
commit_action_control_template request example
1264+
"""
1265+
try:
1266+
# begin-commit_action_control_template
1267+
1268+
response = iam_policy_management_service.commit_action_control_template(
1269+
action_control_template_id=example_action_control_template_id,
1270+
version=example_basic_action_control_template_version,
1271+
)
1272+
1273+
# end-commit_action_control_template
1274+
print('\ncommit_action_control_template() response status code: ', response.get_status_code())
1275+
1276+
except ApiException as e:
1277+
pytest.fail(str(e))
1278+
1279+
# @needscredentials
1280+
def test_create_action_control_assignment_example(self):
1281+
"""
1282+
create_action_control_template_assignment request example
1283+
"""
1284+
try:
1285+
print('\ncreate_action_control_template_assignment() result:')
1286+
# begin-create_action_control_template_assignment
1287+
response = iam_policy_management_service.create_action_control_template_assignment(
1288+
target=AssignmentTargetDetails(
1289+
type="Account",
1290+
id=example_target_account_id,
1291+
),
1292+
templates=[
1293+
AssignmentTemplateDetails(
1294+
id=example_action_control_template_id, version=example_basic_action_control_template_version
1295+
)
1296+
],
1297+
)
1298+
result = response.get_result()
1299+
assert result is not None
1300+
1301+
global example_action_control_assignment_id
1302+
example_action_control_assignment_id = result['assignments'][0]['id']
1303+
global example_action_control_assignment_etag
1304+
example_action_control_assignment_etag = response.get_headers().get("Etag")
1305+
print(json.dumps(result, indent=2))
1306+
1307+
# end-create_action_control_template_assignment
1308+
1309+
except ApiException as e:
1310+
pytest.fail(str(e))
1311+
1312+
# @needscredentials
1313+
def test_update_action_control_assignment_example(self):
1314+
"""
1315+
update_action_control_assignment request example
1316+
"""
1317+
try:
1318+
print('\nupdate_action_control_assignment() result:')
1319+
# begin-update_action_control_assignment
1320+
1321+
response = iam_policy_management_service.update_action_control_assignment(
1322+
assignment_id=example_action_control_assignment_id,
1323+
if_match=example_action_control_assignment_etag,
1324+
template_version=example_action_control_template_version,
1325+
)
1326+
assignment = response.get_result()
1327+
1328+
print(json.dumps(assignment, indent=2))
1329+
1330+
# end-update_action_control_assignment
1331+
1332+
except ApiException as e:
1333+
pytest.fail(str(e))
1334+
1335+
# @needscredentials
1336+
def test_list_action_control_assignments_example(self):
1337+
"""
1338+
list_action_control_assignments request example
1339+
"""
1340+
try:
1341+
print('\nlist_action_control_assignments() result:')
1342+
# begin-list_action_control_assignments
1343+
1344+
response = iam_policy_management_service.list_action_control_assignments(
1345+
account_id=example_account_id,
1346+
)
1347+
action_control_template_assignment_collection = response.get_result()
1348+
1349+
print(json.dumps(action_control_template_assignment_collection, indent=2))
1350+
1351+
# end-list_action_control_assignments
1352+
1353+
except ApiException as e:
1354+
pytest.fail(str(e))
1355+
1356+
# @needscredentials
1357+
def test_get_action_control_assignment_example(self):
1358+
"""
1359+
get_action_control_assignment request example
1360+
"""
1361+
try:
1362+
print('\nget_action_control_assignment() result:')
1363+
# begin-get_action_control_assignment
1364+
1365+
response = iam_policy_management_service.get_action_control_assignment(
1366+
assignment_id=example_action_control_assignment_id,
1367+
)
1368+
action_control_assignment_record = response.get_result()
1369+
1370+
print(json.dumps(action_control_assignment_record, indent=2))
1371+
1372+
# end-get_action_control_assignment
1373+
1374+
except ApiException as e:
1375+
pytest.fail(str(e))
1376+
1377+
# @needscredentials
1378+
def test_delete_action_control_assignment_example(self):
1379+
"""
1380+
delete_action_control_assignment request example
1381+
"""
1382+
try:
1383+
# begin-delete_action_control_assignment
1384+
1385+
response = iam_policy_management_service.delete_action_control_assignment(
1386+
assignment_id=example_action_control_assignment_id,
1387+
)
1388+
1389+
# end-delete_action_control_assignment
1390+
print('\ndelete_action_control_assignment() response status code: ', response.get_status_code())
1391+
1392+
except ApiException as e:
1393+
pytest.fail(str(e))
1394+
1395+
# @needscredentials
1396+
def test_delete_action_control_template_version_example(self):
1397+
"""
1398+
delete_action_control_template_version request example
1399+
"""
1400+
try:
1401+
# begin-delete_action_control_template_version
1402+
1403+
response = iam_policy_management_service.delete_action_control_template_version(
1404+
action_control_template_id=example_action_control_template_id,
1405+
version=example_basic_action_control_template_version,
1406+
)
1407+
1408+
# end-delete_action_control_template_version
1409+
print('\ndelete_action_control_template_version() response status code: ', response.get_status_code())
1410+
1411+
except ApiException as e:
1412+
pytest.fail(str(e))
1413+
1414+
# @needscredentials
1415+
def test_delete_action_control_template_example(self):
1416+
"""
1417+
delete_action_control_template request example
1418+
"""
1419+
try:
1420+
# begin-delete_action_control_template
1421+
1422+
response = iam_policy_management_service.delete_action_control_template(
1423+
action_control_template_id=example_action_control_template_id,
1424+
)
1425+
1426+
# end-delete_action_control_template
1427+
print('\ndelete_action_control_template() response status code: ', response.get_status_code())
1428+
1429+
except ApiException as e:
1430+
pytest.fail(str(e))
1431+
10671432

10681433
# endregion
10691434
##############################################################################

0 commit comments

Comments
 (0)