Errors

I'm just posting the errors I encounter somewhere online for my personal reference. Hopefully google picks it up, if not, use the search bar in the top right. Although there's no reason for you to be here if google didn't send you straight to post with the error.

// currently addicted to Node.js

aws ssm start-session –target returns Terminate Session

When trying to start-session, the following error appears:

An error occurred (AccessDeniedException) when calling the TerminateSession operation: User: arn:aws:iam:::user/abc is not authorized to perform: ssm:TerminateSession on resource: arn:aws:ssm:session/abc because no identity-based policy allows the ssm:TerminateSession action

Tail call optimization

uncaughtException Maximum call stack size exceeded

This is specifically for nodejs RECURSIVE functions. When you know your recursive function is completing (you can use a smaller dataset and it works perfectly), and you receive a call stack size exceeded error when running a full dataset.

Angular pipe with parameters – ngx-translate in title tag

The Issue

Using ngx-translate inside the title tag with parameters. This can be applied to any angular pipe that takes parameters. The format is weird, so I’m leaving it here for future reference.

<i class="fa fa-pencil" aria-hidden="true"
           title="{{'Edit x viability filter' | translate:{value: name} }}"
           (click)="openViabilityFilter(viabilityFilter)"></i>

This is an easier way of doing the translations than the ngx-translate docs suggest, shown below:

This is how you do it with the pipe:

<div>{{ 'HELLO' | translate:param }}</div>

And in your component define param like this:

param = {value: 'world'};

Amazon ECR – Adding a tag to an image after it’s already pushed

The steps are taken from http://docs.aws.amazon.com/AmazonECR/latest/userguide/retag-aws-cli.html. The issue I ran into is the wrong regions are selected. This is fixed with the –region param.

This is useful for adding tags to your :latest image. For example, QA looks at :latest, but my prod service looks for image :prod. I’ll also add a tag for the prod deployment date.


MY_MANIFEST=$(aws ecr batch-get-image --repository-name REPO_NAME --image-ids imageTag=latest --region us-west-2 --query images[].imageManifest --output text)

aws ecr put-image --repository-name REPO_NAME --image-tag NEW_TAG_NAME --image-manifest "$MY_MANIFEST" --region us-west-2

AWS ECR error – RepositoryNotFoundException

The Error

The AWS ECR cli does not switch regions, even when requesting a different get-login.


 aws ecr get-login –-registry-ids 191499206908  --region us-west-2
 // do login

 aws ecr describe-repositories
 // returns results of us-west-1, even though we signed in using us-west-2
 
 aws ecr  batch-get-image --repository-name  --image-ids imageTag=latest
 An error occurred (RepositoryNotFoundException) when calling the BatchGetImage operation: The repository with name '' does not exist in the registry with id ''

Angular 2 route and route params not visible to all components, use ng-router-state-params service

Error

The Angular 2 router will only update the target component with the url and params. Each component is initialized only when it comes into view. If it already visible when the url changes, it will not be updated by the router. For google, angular 2 components not updating when url changes.

If you’re used to using Angular 1 with ui-router ($state and $stateParams services), using Angular 2 can be frustrating. Instead of using ui-router, we will try to stick with the barebones Angular 2 setup. Angular 2 has its own routing component that has been a huge improvement over the Angular 1 routing component. However, it does not follow the same design as ui-router, which was much easier in my opinion.