Best Python code snippet using localstack_python
Custom_ServiceApi.py
Source:Custom_ServiceApi.py  
...183    try:184        swagger_digest = compute_swagger_digest(swagger_content)185        create_rest_api_deployment(rest_api_id, swagger_digest, True)186        update_rest_api_stage(rest_api_id, props)187        create_documentation_version(rest_api_id)188    except:189        delete_rest_api(rest_api_id)190        raise191    return rest_api_id192def update_api_gateway(rest_api_id, props, swagger_content):193    rest_api_deployment_id = get_rest_api_deployment_id(rest_api_id)194    new_swagger_digest = detect_swagger_changes(rest_api_id, rest_api_deployment_id, swagger_content)195    if new_swagger_digest:196        put_rest_api(rest_api_id, swagger_content)197        create_rest_api_deployment(rest_api_id, new_swagger_digest)198    update_rest_api_stage(rest_api_id, props)199    create_documentation_version(rest_api_id)200def delete_api_gateway(rest_api_id):201    delete_rest_api(rest_api_id)202def delete_rest_api(rest_api_id):203    try:204        res = api_gateway.delete_rest_api(restApiId = rest_api_id)205    except ClientError as e:206        if e.response['Error']['Code'] == 'NotFoundException':207            print 'No API found. Skipping delete.'208        else:209            raise e210def create_documentation_version(rest_api_id, attempt=0):211    version = get_documentation_version(rest_api_id)212    if version == None:213        print "Failed to create service API documentation."214    else:215        kwargs = {216            'restApiId': rest_api_id,217            'stageName': STAGE_NAME,218            'documentationVersion': version219        }220        try:221            res = api_gateway.create_documentation_version(**kwargs)222        except ClientError as error:223            if attempt < 3 and (hasattr(error, 'response') and error.response and error.response['Error']['Code'] != 'ConflictException'):224                print "Version conflict, incrementing the version and trying again.  This is attempt {}".format(attempt)225                attempt = attempt + 1226                self.create_documentation_version(rest_api_id, attempt)227            else:228                raise error229def get_documentation_version(rest_api_id):230    kwargs = {231        'restApiId': rest_api_id,232    }233    res = api_gateway.get_documentation_versions(**kwargs)234    items = res['items']235    version = '1.0.0'236    current_version = None237    # find current version by date time comparison238    for item in items:239        if current_version == None or item['createdDate'] > current_version['createdDate']:240            current_version = item...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!!
