How to use modify_capacity_reservation method in localstack

Best Python code snippet using localstack_python

modifyODCR.py

Source:modifyODCR.py Github

copy

Full Screen

...140# InstanceCount (integer) -- The number of instances for which to reserve capacity. The number of instances can't be increased or decreased by more than 1000 in a single request.141def modifyODCR(region):142 modify = boto3.client('ec2',region_name=region)143 if EndDateType == 'limited':144 ModifyODCR = modify.modify_capacity_reservation(145 CapacityReservationId=CapacityReservationId,146 InstanceCount= int(InstanceCount),147 EndDate=EndDate,148 EndDateType=EndDateType,149 DryRun=False150 )151 else:152 ModifyODCR = modify.modify_capacity_reservation(153 CapacityReservationId=CapacityReservationId,154 InstanceCount= int(InstanceCount),155 EndDateType=EndDateType,156 DryRun=False157 )158 return ModifyODCR['Return']159160def main():161 region = describeCapacityReservationRegion()162 if modifyODCR(region):163 print ("Capacity Modification request succeeds")164 else:165 print ("Capacity Modification request does not succeed")166 ...

Full Screen

Full Screen

index.py

Source:index.py Github

copy

Full Screen

...62 )['CapacityReservations']63 capacity_reservation_id = None64 if len(capacity_reservations) > 0:65 print("Incrementing capacity reservation: {}".format(capacity_reservations[0]['CapacityReservationId']))66 client.modify_capacity_reservation(67 CapacityReservationId=capacity_reservations[0]['CapacityReservationId'],68 InstanceCount=capacity_reservations[0]['TotalInstanceCount'] + 1,69 )70 capacity_reservation_id = capacity_reservations[0]['CapacityReservationId']71 else:72 print("Creating capacity reservation")73 capacity_reservation = client.create_capacity_reservation(74 ClientToken=str(random.random())[2:],75 InstanceType=instance['InstanceType'],76 InstancePlatform=platform,77 AvailabilityZone=instance['Placement']['AvailabilityZone'],78 Tenancy=instance['Placement']['Tenancy'],79 InstanceCount=1,80 EndDateType='unlimited',81 InstanceMatchCriteria='open',82 TagSpecifications=[83 {84 'ResourceType': 'capacity-reservation',85 'Tags': [86 {87 'Key': 'AutoCapacityReservation',88 'Value': 'true'89 },90 {91 'Key': 'Platform',92 'Value': platform93 },94 ]95 },96 ]97 )['CapacityReservation']98 capacity_reservation_id = capacity_reservation['CapacityReservationId']99 client.create_tags(100 Resources=[101 instanceid,102 ],103 Tags=[104 {105 'Key': 'AutoCapacityReservationId',106 'Value': capacity_reservation_id107 },108 ]109 )110 elif event['detail']['state'] == "terminated":111 if instance_capacity_reservation_id:112 capacity_reservations = client.describe_capacity_reservations(113 Filters=[114 {115 'Name': 'state',116 'Values': [117 'active',118 ]119 },120 {121 'Name': 'availability-zone',122 'Values': [123 instance['Placement']['AvailabilityZone'],124 ]125 },126 {127 'Name': 'tag:Platform',128 'Values': [129 platform,130 ]131 },132 {133 'Name': 'instance-type',134 'Values': [135 instance['InstanceType'],136 ]137 },138 {139 'Name': 'tenancy',140 'Values': [141 instance['Placement']['Tenancy'],142 ]143 },144 {145 'Name': 'tag-key',146 'Values': [147 'AutoCapacityReservation',148 ]149 },150 ]151 )['CapacityReservations']152 if len(capacity_reservations) > 0 and capacity_reservations[0]['CapacityReservationId'] == instance_capacity_reservation_id:153 if capacity_reservations[0]['TotalInstanceCount'] <= 1:154 print("Cancelling capacity reservation: {}".format(capacity_reservations[0]['CapacityReservationId']))155 client.cancel_capacity_reservation(156 CapacityReservationId=capacity_reservations[0]['CapacityReservationId']157 )158 else:159 print("Decrementing capacity reservation: {}".format(capacity_reservations[0]['CapacityReservationId']))160 client.modify_capacity_reservation(161 CapacityReservationId=capacity_reservations[0]['CapacityReservationId'],162 InstanceCount=capacity_reservations[0]['TotalInstanceCount'] - 1,163 )164 else:...

Full Screen

Full Screen

a.py

Source:a.py Github

copy

Full Screen

...53 elif get_reservation:54 for reservation in get_reservation['CapacityReservations']:55 cancel_reservations.remove(reservation['CapacityReservationId'])56 print("It is here")57 # modify_capacity_reservation(client, reservation['TotalInstanceCount'], 20, reservation['CapacityReservationId'])58 modify_capacity_reservation(client, reservation['TotalInstanceCount'], reservation['AvailableInstanceCount'], reservation['CapacityReservationId'])59 60 else:61 get_reservation = get_reservations(client, instances['InstanceType'])62 if get_reservation:63 for reservation in get_reservation['CapacityReservations']:64 if(reservation['CapacityReservationId'] not in cancel_reservations):65 cancel_reservations.append(reservation['CapacityReservationId'])66 67 68 for reservations in get_instances['Reservations']:69 #Cancel Cpacity Reservation for stopped instance types70 for instances in reservations['Instances']: 71 get_reservation = get_reservations(client, instances['InstanceType'])72 if get_reservation:73 for reservation in cancel_reservations:74 cancel_reservation(client, reservation)75 76 if running_instances == False:77 print('No Running Instances found!')78798081def cancel_reservation(client, reservation_id):82 response = client.cancel_capacity_reservation(83 CapacityReservationId=reservation_id84 )85 return response86 878889def modify_capacity_reservation(ec2_client, total_count, available_count, reservation_id):90 print ("Invoked!")91 default_count = config.default_count92 capacity_chg_percentage = config.capacity_chg_percentage93 94 #Calculate 20% capacity of total capacity95 capacity_percentage = int((config.capacity_chg_percentage / 100 * total_count))96 #Calculate available capacity percentage97 available_percentage = int((available_count / total_count * 100))98 99 print (capacity_percentage)100 print (available_percentage)101102 #If capacity is less than 0 for example total count is low like 2 then round103 #the value to 1104 if (capacity_percentage == 0):105 capacity_percentage = 1106 elif (available_percentage == 0):107 available_percentage = 1108 109 #Increment 20% Capacity110 if (available_percentage <= capacity_chg_percentage):111 new_count = total_count + capacity_percentage112 113 #Decrement 20% Capacity114 elif (available_percentage > capacity_chg_percentage and total_count > default_count):115 new_count = total_count -capacity_percentage116 117 else:118 #Else don't change capacity119 new_count = total_count120 121 122 print (new_count)123 modify = ec2_client.modify_capacity_reservation(124 CapacityReservationId=reservation_id,125 InstanceCount=new_count126 )127 128129130131def get_reservations(client, instance_type):132 133 response = client.describe_capacity_reservations(Filters=[134 {135 'Name': 'state',136 'Values': [137 'active', ...

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