Best Python code snippet using localstack_python
test_ssm_maintenance_windows.py
Source:test_ssm_maintenance_windows.py
...3from moto import mock_ssm4@mock_ssm5def test_describe_maintenance_window():6 ssm = boto3.client("ssm", region_name="us-east-1")7 resp = ssm.describe_maintenance_windows()8 resp.should.have.key("WindowIdentities").equals([])9 resp = ssm.describe_maintenance_windows(10 Filters=[{"Key": "Name", "Values": ["fake-maintenance-window-name"]}]11 )12 resp.should.have.key("WindowIdentities").equals([])13@mock_ssm14def test_create_maintenance_windows_simple():15 ssm = boto3.client("ssm", region_name="us-east-1")16 resp = ssm.create_maintenance_window(17 Name="simple-window",18 Schedule="cron(15 12 * * ? *)",19 Duration=2,20 Cutoff=1,21 AllowUnassociatedTargets=False,22 )23 resp.should.have.key("WindowId")24 _id = resp["WindowId"] # mw-01d6bbfdf6af2c39a25 resp = ssm.describe_maintenance_windows()26 resp.should.have.key("WindowIdentities").have.length_of(1)27 my_window = resp["WindowIdentities"][0]28 my_window.should.have.key("WindowId").equal(_id)29 my_window.should.have.key("Name").equal("simple-window")30 my_window.should.have.key("Enabled").equal(True)31 my_window.should.have.key("Duration").equal(2)32 my_window.should.have.key("Cutoff").equal(1)33 my_window.should.have.key("Schedule").equal("cron(15 12 * * ? *)")34 # my_window.should.have.key("NextExecutionTime")35 my_window.shouldnt.have.key("Description")36 my_window.shouldnt.have.key("ScheduleTimezone")37 my_window.shouldnt.have.key("ScheduleOffset")38 my_window.shouldnt.have.key("EndDate")39 my_window.shouldnt.have.key("StartDate")40@mock_ssm41def test_create_maintenance_windows_advanced():42 ssm = boto3.client("ssm", region_name="us-east-1")43 resp = ssm.create_maintenance_window(44 Name="simple-window",45 Description="French windows are just too fancy",46 Schedule="cron(15 12 * * ? *)",47 ScheduleTimezone="Europe/London",48 ScheduleOffset=1,49 Duration=5,50 Cutoff=4,51 AllowUnassociatedTargets=False,52 StartDate="2021-11-01",53 EndDate="2021-12-31",54 )55 resp.should.have.key("WindowId")56 _id = resp["WindowId"] # mw-01d6bbfdf6af2c39a57 resp = ssm.describe_maintenance_windows()58 resp.should.have.key("WindowIdentities").have.length_of(1)59 my_window = resp["WindowIdentities"][0]60 my_window.should.have.key("WindowId").equal(_id)61 my_window.should.have.key("Name").equal("simple-window")62 my_window.should.have.key("Enabled").equal(True)63 my_window.should.have.key("Duration").equal(5)64 my_window.should.have.key("Cutoff").equal(4)65 my_window.should.have.key("Schedule").equal("cron(15 12 * * ? *)")66 # my_window.should.have.key("NextExecutionTime")67 my_window.should.have.key("Description").equals("French windows are just too fancy")68 my_window.should.have.key("ScheduleTimezone").equals("Europe/London")69 my_window.should.have.key("ScheduleOffset").equals(1)70 my_window.should.have.key("StartDate").equals("2021-11-01")71 my_window.should.have.key("EndDate").equals("2021-12-31")72@mock_ssm73def test_get_maintenance_windows():74 ssm = boto3.client("ssm", region_name="us-east-1")75 resp = ssm.create_maintenance_window(76 Name="my-window",77 Schedule="cron(15 12 * * ? *)",78 Duration=2,79 Cutoff=1,80 AllowUnassociatedTargets=False,81 )82 resp.should.have.key("WindowId")83 _id = resp["WindowId"] # mw-01d6bbfdf6af2c39a84 my_window = ssm.get_maintenance_window(WindowId=_id)85 my_window.should.have.key("WindowId").equal(_id)86 my_window.should.have.key("Name").equal("my-window")87 my_window.should.have.key("Enabled").equal(True)88 my_window.should.have.key("Duration").equal(2)89 my_window.should.have.key("Cutoff").equal(1)90 my_window.should.have.key("Schedule").equal("cron(15 12 * * ? *)")91 # my_window.should.have.key("NextExecutionTime")92 my_window.shouldnt.have.key("Description")93 my_window.shouldnt.have.key("ScheduleTimezone")94 my_window.shouldnt.have.key("ScheduleOffset")95 my_window.shouldnt.have.key("EndDate")96 my_window.shouldnt.have.key("StartDate")97@mock_ssm98def test_describe_maintenance_windows():99 ssm = boto3.client("ssm", region_name="us-east-1")100 for idx in range(0, 4):101 ssm.create_maintenance_window(102 Name=f"window_{idx}",103 Schedule="cron(15 12 * * ? *)",104 Duration=2,105 Cutoff=1,106 AllowUnassociatedTargets=False,107 )108 resp = ssm.describe_maintenance_windows()109 resp.should.have.key("WindowIdentities").have.length_of(4)110 resp = ssm.describe_maintenance_windows(111 Filters=[{"Key": "Name", "Values": ["window_0", "window_2"]}]112 )113 resp.should.have.key("WindowIdentities").have.length_of(2)114@mock_ssm115def test_delete_maintenance_windows():116 ssm = boto3.client("ssm", region_name="us-east-1")117 resp = ssm.create_maintenance_window(118 Name="simple-window",119 Schedule="cron(15 12 * * ? *)",120 Duration=2,121 Cutoff=1,122 AllowUnassociatedTargets=False,123 )124 ssm.delete_maintenance_window(WindowId=(resp["WindowId"]))125 resp = ssm.describe_maintenance_windows()...
tag_instance.py
Source:tag_instance.py
...11ssm = boto3.client('ssm')12tags ={'Key': os.environ['Tagname'], 'Value': os.environ['Tagvalue']}13def find_viable_window ():14 #checks if the Tag Key value pair matches with an existing Maintenance Window15 wins = ssm.describe_maintenance_windows()['WindowIdentities']16 for win in wins:17 tgts = ssm.describe_maintenance_window_targets(WindowId=win['WindowId'])['Targets']18 for tgt in tgts:19 t = tgt['Targets'][0]['Key'].split(':')20 v = tgt['Targets'][0]['Values'][0]21 if len(t) > 1 and t[0] == 'tag' and t[1] == tags['Key'] and v == tags['Value']:22 return True;23 return False;24def lambda_handler(event, context):25 volume =(event['resources'][0].split('/')[1])26 if event['detail']['result'] == 'completed':27 attach=ec2.describe_volumes(VolumeIds=[volume])['Volumes'][0]['Attachments']28 if attach: 29 instance = attach[0]['InstanceId']...
describe_ssm_maintenance_windows.py
Source:describe_ssm_maintenance_windows.py
...14 ssm_client = boto3.client('ssm', region_name = j )15 16 next_token = None17 while True:18 response6 = ssm_client.describe_maintenance_windows(NextToken= next_token) if next_token else ssm_client.describe_maintenance_windows()19 print(response6['WindowIdentities']) 20 for p in response6['WindowIdentities']:21 status_var6 = p['Enabled']22 print(status_var6)23 stat = "Enabled"24 rank = 025 if status_var6 == True:26 rank = 2*827 stat = "Enabled"28 if status_var6== False:29 rank = 0.25*830 stat = "Disabled"31 32
...
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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!