{"action":"created","comment":{"url":"https://api.github.com/repos/Shippable/docsv2/pulls/comments/59810817","id":59810817,"diff_hunk":"@@ -11,8 +11,103 @@ You will first need to configure an account integration with your credentials an\n <a name=\"ecs-integration\"></a>\n ## Amazon EC2 Container Service Using Account Keys\n \n-To deploy applications to Amazon ECS, you need to configure an AWS account integration with credentials to access the ECS instance.\n+In this method of deploying to Amazon ECS, you need to configure an AWS account integration with credentials to access the ECS instance and create appropriate\n+roles and permissions on Amazon IAM console. This can be achieved in two steps. The first step sets up appropriate AWS access and second one uses the AWS user keys to create Shippable Account Integration.\n \n+###1. Create an AWS IAM User with access to ECS resources\n+  on IAM console do following  \n+  **New User** ->  \n+  User Name: `shippable-user-to-allow-ecs-access` (or anything else) ->  \n+  **Download Credentials** (or copy them) ->  \n+  **Close**  \n+\n+  Once the user is created, attach a policy to this user that gives it access to Amazon ECS resources. The credentials(Access Key/Secret Key pair) for this user will be used for creating\n+  an Account Integration on Shippable  \n+\n+  on IAM console do following  \n+  Select user `shippable-user-to-allow-ecs-access` ->  \n+  **Permissions** ->  \n+  **Inline Policies** ->  \n+  **Click Here** ->  \n+  **Custom Policy** ->  \n+  **Select** ->  \n+  Policy Name : `shippable-user-policy-for-ecs-access` ->  \n+  Copy following policy document  \n+\n+```\n+\"Statement\": [\n+        {\n+            \"Effect\": \"Allow\",\n+            \"Action\": [\n+                \"elasticloadbalancing:ConfigureHealthCheck\",\n+                \"elasticloadbalancing:DescribeLoadBalancers\",\n+                \"elasticloadbalancing:DeleteLoadBalancerListeners\",\n+                \"elasticloadbalancing:CreateLoadBalancerListeners\",\n+                \"iam:ListServerCertificates\",\n+                \"iam:ListRoles\",\n+                \"iam:PassRole\",\n+                \"ec2:DescribeRegions\",\n+                \"ec2:DescribeInstances\",\n+                \"ecs:DescribeClusters\",\n+                \"ecs:ListClusters\",\n+                \"ecs:ListTaskDefinitions\",\n+                \"ecs:RegisterTaskDefinition\",\n+                \"ecs:DeregisterTaskDefinition\",\n+                \"ecs:DescribeServices\",\n+                \"ecs:UpdateService\",\n+                \"ecs:DeleteService\",\n+                \"ecs:CreateService\",\n+                \"ecs:ListTasks\",\n+                \"ecs:ListContainerInstances\",\n+                \"ecs:DescribeContainerInstances\"\n+\n+            ],\n+            \"Resource\": \"*\"\n+        }\n+    ]\n+```\n+  **Apply Policy**\n+\n+  The user `shippable-user-to-allow-ecs-access` now has permissions to access Amazon ECS and Loadbalancer resources.\n+\n+\n+###2. Create an AWS IAM Role with access to ECS resources.  \n+\n+This Role will be used by Shippable when creating a service on ECS.\n+\n+  on IAM console do following  \n+  **New Role** ->  \n+  Role Name: `shippable-role-to-allow-ecs-access` ->  \n+  **AWS Service Roles** ->  \n+  **Amazon EC2 Container Service Role** ->  \n+  Select **AmazonEC2ContainerServiceRole** ->  \n+  **Next Step** ->  \n+  **Create Role**  \n+\n+  Amazon has a pre-existing policy called `AmazonEC2ContainerServiceRole` is being attached to the Role here. It contains everything that the role needs to allow the ECS agent to control the load balancing.\n+\n+  Update the role `shippable-role-to-allow-ecs-access` to have a 'Trust Relationship` that looks like following:","path":"sources/int_container_services.md","position":80,"original_position":80,"commit_id":"451a288208aa9e3047dd2e865dab30391981960b","original_commit_id":"451a288208aa9e3047dd2e865dab30391981960b","user":{"login":"trriplejay","id":6869398,"avatar_url":"https://avatars.githubusercontent.com/u/6869398?v=3","gravatar_id":"","url":"https://api.github.com/users/trriplejay","html_url":"https://github.com/trriplejay","followers_url":"https://api.github.com/users/trriplejay/followers","following_url":"https://api.github.com/users/trriplejay/following{/other_user}","gists_url":"https://api.github.com/users/trriplejay/gists{/gist_id}","starred_url":"https://api.github.com/users/trriplejay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trriplejay/subscriptions","organizations_url":"https://api.github.com/users/trriplejay/orgs","repos_url":"https://api.github.com/users/trriplejay/repos","events_url":"https://api.github.com/users/trriplejay/events{/privacy}","received_events_url":"https://api.github.com/users/trriplejay/received_events","type":"User","site_admin":false},"body":"this line has an extra tick instead of a single-quote.","created_at":"2016-04-14T23:57:07Z","updated_at":"2016-04-14T23:57:07Z","html_url":"https://github.com/Shippable/docsv2/pull/288#discussion_r59810817","pull_request_url":"https://api.github.com/repos/Shippable/docsv2/pulls/288","_links":{"self":{"href":"https://api.github.com/repos/Shippable/docsv2/pulls/comments/59810817"},"html":{"href":"https://github.com/Shippable/docsv2/pull/288#discussion_r59810817"},"pull_request":{"href":"https://api.github.com/repos/Shippable/docsv2/pulls/288"}}},"pull_request":{"url":"https://api.github.com/repos/Shippable/docsv2/pulls/288","id":66571935,"html_url":"https://github.com/Shippable/docsv2/pull/288","diff_url":"https://github.com/Shippable/docsv2/pull/288.diff","patch_url":"https://github.com/Shippable/docsv2/pull/288.patch","issue_url":"https://api.github.com/repos/Shippable/docsv2/issues/288","number":288,"state":"open","locked":false,"title":"moving pipeline integration docs to integrations page","user":{"login":"ric03uec","id":1110988,"avatar_url":"https://avatars.githubusercontent.com/u/1110988?v=3","gravatar_id":"","url":"https://api.github.com/users/ric03uec","html_url":"https://github.com/ric03uec","followers_url":"https://api.github.com/users/ric03uec/followers","following_url":"https://api.github.com/users/ric03uec/following{/other_user}","gists_url":"https://api.github.com/users/ric03uec/gists{/gist_id}","starred_url":"https://api.github.com/users/ric03uec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ric03uec/subscriptions","organizations_url":"https://api.github.com/users/ric03uec/orgs","repos_url":"https://api.github.com/users/ric03uec/repos","events_url":"https://api.github.com/users/ric03uec/events{/privacy}","received_events_url":"https://api.github.com/users/ric03uec/received_events","type":"User","site_admin":false},"body":"- moving the pipeline integration steps to account integration setup page","created_at":"2016-04-14T23:51:18Z","updated_at":"2016-04-14T23:57:07Z","closed_at":null,"merged_at":null,"merge_commit_sha":"efdcd3b1436b319eebf020d1e60feb9aa9285a9b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Shippable/docsv2/pulls/288/commits","review_comments_url":"https://api.github.com/repos/Shippable/docsv2/pulls/288/comments","review_comment_url":"https://api.github.com/repos/Shippable/docsv2/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Shippable/docsv2/issues/288/comments","statuses_url":"https://api.github.com/repos/Shippable/docsv2/statuses/451a288208aa9e3047dd2e865dab30391981960b","head":{"label":"ric03uec:update_pipeline_docs","ref":"update_pipeline_docs","sha":"451a288208aa9e3047dd2e865dab30391981960b","user":{"login":"ric03uec","id":1110988,"avatar_url":"https://avatars.githubusercontent.com/u/1110988?v=3","gravatar_id":"","url":"https://api.github.com/users/ric03uec","html_url":"https://github.com/ric03uec","followers_url":"https://api.github.com/users/ric03uec/followers","following_url":"https://api.github.com/users/ric03uec/following{/other_user}","gists_url":"https://api.github.com/users/ric03uec/gists{/gist_id}","starred_url":"https://api.github.com/users/ric03uec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ric03uec/subscriptions","organizations_url":"https://api.github.com/users/ric03uec/orgs","repos_url":"https://api.github.com/users/ric03uec/repos","events_url":"https://api.github.com/users/ric03uec/events{/privacy}","received_events_url":"https://api.github.com/users/ric03uec/received_events","type":"User","site_admin":false},"repo":{"id":54077014,"name":"docsv2","full_name":"ric03uec/docsv2","owner":{"login":"ric03uec","id":1110988,"avatar_url":"https://avatars.githubusercontent.com/u/1110988?v=3","gravatar_id":"","url":"https://api.github.com/users/ric03uec","html_url":"https://github.com/ric03uec","followers_url":"https://api.github.com/users/ric03uec/followers","following_url":"https://api.github.com/users/ric03uec/following{/other_user}","gists_url":"https://api.github.com/users/ric03uec/gists{/gist_id}","starred_url":"https://api.github.com/users/ric03uec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ric03uec/subscriptions","organizations_url":"https://api.github.com/users/ric03uec/orgs","repos_url":"https://api.github.com/users/ric03uec/repos","events_url":"https://api.github.com/users/ric03uec/events{/privacy}","received_events_url":"https://api.github.com/users/ric03uec/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ric03uec/docsv2","description":"Shippable documentation","fork":true,"url":"https://api.github.com/repos/ric03uec/docsv2","forks_url":"https://api.github.com/repos/ric03uec/docsv2/forks","keys_url":"https://api.github.com/repos/ric03uec/docsv2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ric03uec/docsv2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ric03uec/docsv2/teams","hooks_url":"https://api.github.com/repos/ric03uec/docsv2/hooks","issue_events_url":"https://api.github.com/repos/ric03uec/docsv2/issues/events{/number}","events_url":"https://api.github.com/repos/ric03uec/docsv2/events","assignees_url":"https://api.github.com/repos/ric03uec/docsv2/assignees{/user}","branches_url":"https://api.github.com/repos/ric03uec/docsv2/branches{/branch}","tags_url":"https://api.github.com/repos/ric03uec/docsv2/tags","blobs_url":"https://api.github.com/repos/ric03uec/docsv2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ric03uec/docsv2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ric03uec/docsv2/git/refs{/sha}","trees_url":"https://api.github.com/repos/ric03uec/docsv2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ric03uec/docsv2/statuses/{sha}","languages_url":"https://api.github.com/repos/ric03uec/docsv2/languages","stargazers_url":"https://api.github.com/repos/ric03uec/docsv2/stargazers","contributors_url":"https://api.github.com/repos/ric03uec/docsv2/contributors","subscribers_url":"https://api.github.com/repos/ric03uec/docsv2/subscribers","subscription_url":"https://api.github.com/repos/ric03uec/docsv2/subscription","commits_url":"https://api.github.com/repos/ric03uec/docsv2/commits{/sha}","git_commits_url":"https://api.github.com/repos/ric03uec/docsv2/git/commits{/sha}","comments_url":"https://api.github.com/repos/ric03uec/docsv2/comments{/number}","issue_comment_url":"https://api.github.com/repos/ric03uec/docsv2/issues/comments{/number}","contents_url":"https://api.github.com/repos/ric03uec/docsv2/contents/{+path}","compare_url":"https://api.github.com/repos/ric03uec/docsv2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ric03uec/docsv2/merges","archive_url":"https://api.github.com/repos/ric03uec/docsv2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ric03uec/docsv2/downloads","issues_url":"https://api.github.com/repos/ric03uec/docsv2/issues{/number}","pulls_url":"https://api.github.com/repos/ric03uec/docsv2/pulls{/number}","milestones_url":"https://api.github.com/repos/ric03uec/docsv2/milestones{/number}","notifications_url":"https://api.github.com/repos/ric03uec/docsv2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ric03uec/docsv2/labels{/name}","releases_url":"https://api.github.com/repos/ric03uec/docsv2/releases{/id}","deployments_url":"https://api.github.com/repos/ric03uec/docsv2/deployments","created_at":"2016-03-17T00:51:31Z","updated_at":"2016-03-17T00:51:32Z","pushed_at":"2016-04-14T23:49:47Z","git_url":"git://github.com/ric03uec/docsv2.git","ssh_url":"git@github.com:ric03uec/docsv2.git","clone_url":"https://github.com/ric03uec/docsv2.git","svn_url":"https://github.com/ric03uec/docsv2","homepage":null,"size":10361,"stargazers_count":0,"watchers_count":0,"language":"CSS","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Shippable:master","ref":"master","sha":"ae1f83b0f9d025464f8af0b9b2ded9627386227f","user":{"login":"Shippable","id":5647221,"avatar_url":"https://avatars.githubusercontent.com/u/5647221?v=3","gravatar_id":"","url":"https://api.github.com/users/Shippable","html_url":"https://github.com/Shippable","followers_url":"https://api.github.com/users/Shippable/followers","following_url":"https://api.github.com/users/Shippable/following{/other_user}","gists_url":"https://api.github.com/users/Shippable/gists{/gist_id}","starred_url":"https://api.github.com/users/Shippable/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Shippable/subscriptions","organizations_url":"https://api.github.com/users/Shippable/orgs","repos_url":"https://api.github.com/users/Shippable/repos","events_url":"https://api.github.com/users/Shippable/events{/privacy}","received_events_url":"https://api.github.com/users/Shippable/received_events","type":"Organization","site_admin":false},"repo":{"id":35451002,"name":"docsv2","full_name":"Shippable/docsv2","owner":{"login":"Shippable","id":5647221,"avatar_url":"https://avatars.githubusercontent.com/u/5647221?v=3","gravatar_id":"","url":"https://api.github.com/users/Shippable","html_url":"https://github.com/Shippable","followers_url":"https://api.github.com/users/Shippable/followers","following_url":"https://api.github.com/users/Shippable/following{/other_user}","gists_url":"https://api.github.com/users/Shippable/gists{/gist_id}","starred_url":"https://api.github.com/users/Shippable/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Shippable/subscriptions","organizations_url":"https://api.github.com/users/Shippable/orgs","repos_url":"https://api.github.com/users/Shippable/repos","events_url":"https://api.github.com/users/Shippable/events{/privacy}","received_events_url":"https://api.github.com/users/Shippable/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Shippable/docsv2","description":"Shippable documentation","fork":false,"url":"https://api.github.com/repos/Shippable/docsv2","forks_url":"https://api.github.com/repos/Shippable/docsv2/forks","keys_url":"https://api.github.com/repos/Shippable/docsv2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Shippable/docsv2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Shippable/docsv2/teams","hooks_url":"https://api.github.com/repos/Shippable/docsv2/hooks","issue_events_url":"https://api.github.com/repos/Shippable/docsv2/issues/events{/number}","events_url":"https://api.github.com/repos/Shippable/docsv2/events","assignees_url":"https://api.github.com/repos/Shippable/docsv2/assignees{/user}","branches_url":"https://api.github.com/repos/Shippable/docsv2/branches{/branch}","tags_url":"https://api.github.com/repos/Shippable/docsv2/tags","blobs_url":"https://api.github.com/repos/Shippable/docsv2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Shippable/docsv2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Shippable/docsv2/git/refs{/sha}","trees_url":"https://api.github.com/repos/Shippable/docsv2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Shippable/docsv2/statuses/{sha}","languages_url":"https://api.github.com/repos/Shippable/docsv2/languages","stargazers_url":"https://api.github.com/repos/Shippable/docsv2/stargazers","contributors_url":"https://api.github.com/repos/Shippable/docsv2/contributors","subscribers_url":"https://api.github.com/repos/Shippable/docsv2/subscribers","subscription_url":"https://api.github.com/repos/Shippable/docsv2/subscription","commits_url":"https://api.github.com/repos/Shippable/docsv2/commits{/sha}","git_commits_url":"https://api.github.com/repos/Shippable/docsv2/git/commits{/sha}","comments_url":"https://api.github.com/repos/Shippable/docsv2/comments{/number}","issue_comment_url":"https://api.github.com/repos/Shippable/docsv2/issues/comments{/number}","contents_url":"https://api.github.com/repos/Shippable/docsv2/contents/{+path}","compare_url":"https://api.github.com/repos/Shippable/docsv2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Shippable/docsv2/merges","archive_url":"https://api.github.com/repos/Shippable/docsv2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Shippable/docsv2/downloads","issues_url":"https://api.github.com/repos/Shippable/docsv2/issues{/number}","pulls_url":"https://api.github.com/repos/Shippable/docsv2/pulls{/number}","milestones_url":"https://api.github.com/repos/Shippable/docsv2/milestones{/number}","notifications_url":"https://api.github.com/repos/Shippable/docsv2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Shippable/docsv2/labels{/name}","releases_url":"https://api.github.com/repos/Shippable/docsv2/releases{/id}","deployments_url":"https://api.github.com/repos/Shippable/docsv2/deployments","created_at":"2015-05-11T21:26:37Z","updated_at":"2016-04-13T06:30:11Z","pushed_at":"2016-04-14T23:51:18Z","git_url":"git://github.com/Shippable/docsv2.git","ssh_url":"git@github.com:Shippable/docsv2.git","clone_url":"https://github.com/Shippable/docsv2.git","svn_url":"https://github.com/Shippable/docsv2","homepage":null,"size":10742,"stargazers_count":6,"watchers_count":6,"language":"CSS","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":31,"mirror_url":null,"open_issues_count":7,"forks":31,"open_issues":7,"watchers":6,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Shippable/docsv2/pulls/288"},"html":{"href":"https://github.com/Shippable/docsv2/pull/288"},"issue":{"href":"https://api.github.com/repos/Shippable/docsv2/issues/288"},"comments":{"href":"https://api.github.com/repos/Shippable/docsv2/issues/288/comments"},"review_comments":{"href":"https://api.github.com/repos/Shippable/docsv2/pulls/288/comments"},"review_comment":{"href":"https://api.github.com/repos/Shippable/docsv2/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Shippable/docsv2/pulls/288/commits"},"statuses":{"href":"https://api.github.com/repos/Shippable/docsv2/statuses/451a288208aa9e3047dd2e865dab30391981960b"}}}}