{"action":"created","comment":{"url":"https://api.github.com/repos/awslabs/aws-sam-cli/pulls/comments/240726494","pull_request_review_id":183822390,"id":240726494,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MDcyNjQ5NA==","diff_hunk":"@@ -0,0 +1,342 @@\n+.. contents:: **Table of Contents**\n+   :depth: 2\n+   :local:\n+\n+``sam publish app`` command\n+====================================\n+\n+This is the design for a command to publish an application to `AWS Serverless Application Repository (SAR)`_ with a SAM\n+template. It can be used to create a new application and its first version, update exisitng application's metadata, create\n+a new version of the application, and manage application permissions.\n+\n+.. _AWS Serverless Application Repository (SAR): https://aws.amazon.com/serverless/serverlessrepo/\n+\n+\n+What is the problem?\n+--------------------\n+To publish an app to AWS Serverless Application Repository, customers need to go through the following steps: first upload\n+the application code and SAM template to an Amazon S3 bucket, correctly set S3 bucket policy that grants the service read\n+permissions for artifacts uploaded to S3, then open the AWS Serverless Application Repository console and provide information\n+in a bunch of input boxes. If they use the AWS CLI, they need to pass all the information as parameters, and it's easy to make\n+a mistake while typing in the command line.\n+\n+\n+What will be changed?\n+---------------------\n+In this proposal, we will be providing a new command, ``sam publish app``, which takes a SAM template as input and publishes\n+an application to AWS Serverless Application Repository using applicaiton metadata specified in the template. Customers\n+need to provide application metadata information in the template, then ``sam package`` will handle uploading local files to S3,\n+and ``sam publish app`` will create the app in Serverless Application Repository. We will also provide sharing options to set\n+application permission policies.\n+\n+\n+Success criteria for the change\n+-------------------------------\n+#. Support all the following use cases:\n+\n+   * Create new application and its first version in SAR using ``sam publish app``","path":"designs/sam_publish_app_cmd.rst","position":37,"original_position":37,"commit_id":"71714651ca207683ebef734448f017fb6a8b7a2b","original_commit_id":"71714651ca207683ebef734448f017fb6a8b7a2b","user":{"login":"TheSriram","id":3770774,"node_id":"MDQ6VXNlcjM3NzA3NzQ=","avatar_url":"https://avatars0.githubusercontent.com/u/3770774?v=4","gravatar_id":"","url":"https://api.github.com/users/TheSriram","html_url":"https://github.com/TheSriram","followers_url":"https://api.github.com/users/TheSriram/followers","following_url":"https://api.github.com/users/TheSriram/following{/other_user}","gists_url":"https://api.github.com/users/TheSriram/gists{/gist_id}","starred_url":"https://api.github.com/users/TheSriram/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheSriram/subscriptions","organizations_url":"https://api.github.com/users/TheSriram/orgs","repos_url":"https://api.github.com/users/TheSriram/repos","events_url":"https://api.github.com/users/TheSriram/events{/privacy}","received_events_url":"https://api.github.com/users/TheSriram/received_events","type":"User","site_admin":false},"body":"so is sam publish app a constant upsert operation?","created_at":"2018-12-11T18:01:49Z","updated_at":"2018-12-11T18:15:31Z","html_url":"https://github.com/awslabs/aws-sam-cli/pull/844#discussion_r240726494","pull_request_url":"https://api.github.com/repos/awslabs/aws-sam-cli/pulls/844","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/awslabs/aws-sam-cli/pulls/comments/240726494"},"html":{"href":"https://github.com/awslabs/aws-sam-cli/pull/844#discussion_r240726494"},"pull_request":{"href":"https://api.github.com/repos/awslabs/aws-sam-cli/pulls/844"}}},"pull_request":{"url":"https://api.github.com/repos/awslabs/aws-sam-cli/pulls/844","id":236952873,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM2OTUyODcz","html_url":"https://github.com/awslabs/aws-sam-cli/pull/844","diff_url":"https://github.com/awslabs/aws-sam-cli/pull/844.diff","patch_url":"https://github.com/awslabs/aws-sam-cli/pull/844.patch","issue_url":"https://api.github.com/repos/awslabs/aws-sam-cli/issues/844","number":844,"state":"open","locked":false,"title":"[WIP] sam publish app design doc","user":{"login":"paoptu023","id":5200342,"node_id":"MDQ6VXNlcjUyMDAzNDI=","avatar_url":"https://avatars3.githubusercontent.com/u/5200342?v=4","gravatar_id":"","url":"https://api.github.com/users/paoptu023","html_url":"https://github.com/paoptu023","followers_url":"https://api.github.com/users/paoptu023/followers","following_url":"https://api.github.com/users/paoptu023/following{/other_user}","gists_url":"https://api.github.com/users/paoptu023/gists{/gist_id}","starred_url":"https://api.github.com/users/paoptu023/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paoptu023/subscriptions","organizations_url":"https://api.github.com/users/paoptu023/orgs","repos_url":"https://api.github.com/users/paoptu023/repos","events_url":"https://api.github.com/users/paoptu023/events{/privacy}","received_events_url":"https://api.github.com/users/paoptu023/received_events","type":"User","site_admin":false},"body":"*Description of changes:*\r\nDesign doc for adding a new command `sam publish app`.\r\n\r\n*Checklist:*\r\n\r\n- [ ] Write Design Document ([Do I need to write a design document?](https://github.com/awslabs/aws-sam-cli/blob/develop/DEVELOPMENT_GUIDE.rst#design-document))\r\n- [ ] Write unit tests\r\n- [ ] Write/update functional tests\r\n- [ ] Write/update integration tests\r\n- [ ] `make pr` passes\r\n- [ ] Write documentation\r\n\r\nBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.\r\n","created_at":"2018-12-07T18:19:48Z","updated_at":"2018-12-11T18:15:31Z","closed_at":null,"merged_at":null,"merge_commit_sha":"586a40bfaaaac9c206e693ebd32c524679c3262e","assignee":{"login":"jfuss","id":32497805,"node_id":"MDQ6VXNlcjMyNDk3ODA1","avatar_url":"https://avatars2.githubusercontent.com/u/32497805?v=4","gravatar_id":"","url":"https://api.github.com/users/jfuss","html_url":"https://github.com/jfuss","followers_url":"https://api.github.com/users/jfuss/followers","following_url":"https://api.github.com/users/jfuss/following{/other_user}","gists_url":"https://api.github.com/users/jfuss/gists{/gist_id}","starred_url":"https://api.github.com/users/jfuss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfuss/subscriptions","organizations_url":"https://api.github.com/users/jfuss/orgs","repos_url":"https://api.github.com/users/jfuss/repos","events_url":"https://api.github.com/users/jfuss/events{/privacy}","received_events_url":"https://api.github.com/users/jfuss/received_events","type":"User","site_admin":false},"assignees":[{"login":"jfuss","id":32497805,"node_id":"MDQ6VXNlcjMyNDk3ODA1","avatar_url":"https://avatars2.githubusercontent.com/u/32497805?v=4","gravatar_id":"","url":"https://api.github.com/users/jfuss","html_url":"https://github.com/jfuss","followers_url":"https://api.github.com/users/jfuss/followers","following_url":"https://api.github.com/users/jfuss/following{/other_user}","gists_url":"https://api.github.com/users/jfuss/gists{/gist_id}","starred_url":"https://api.github.com/users/jfuss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfuss/subscriptions","organizations_url":"https://api.github.com/users/jfuss/orgs","repos_url":"https://api.github.com/users/jfuss/repos","events_url":"https://api.github.com/users/jfuss/events{/privacy}","received_events_url":"https://api.github.com/users/jfuss/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"jlhood","id":1444420,"node_id":"MDQ6VXNlcjE0NDQ0MjA=","avatar_url":"https://avatars3.githubusercontent.com/u/1444420?v=4","gravatar_id":"","url":"https://api.github.com/users/jlhood","html_url":"https://github.com/jlhood","followers_url":"https://api.github.com/users/jlhood/followers","following_url":"https://api.github.com/users/jlhood/following{/other_user}","gists_url":"https://api.github.com/users/jlhood/gists{/gist_id}","starred_url":"https://api.github.com/users/jlhood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jlhood/subscriptions","organizations_url":"https://api.github.com/users/jlhood/orgs","repos_url":"https://api.github.com/users/jlhood/repos","events_url":"https://api.github.com/users/jlhood/events{/privacy}","received_events_url":"https://api.github.com/users/jlhood/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/awslabs/aws-sam-cli/pulls/844/commits","review_comments_url":"https://api.github.com/repos/awslabs/aws-sam-cli/pulls/844/comments","review_comment_url":"https://api.github.com/repos/awslabs/aws-sam-cli/pulls/comments{/number}","comments_url":"https://api.github.com/repos/awslabs/aws-sam-cli/issues/844/comments","statuses_url":"https://api.github.com/repos/awslabs/aws-sam-cli/statuses/71714651ca207683ebef734448f017fb6a8b7a2b","head":{"label":"paoptu023:qwang-patch","ref":"qwang-patch","sha":"71714651ca207683ebef734448f017fb6a8b7a2b","user":{"login":"paoptu023","id":5200342,"node_id":"MDQ6VXNlcjUyMDAzNDI=","avatar_url":"https://avatars3.githubusercontent.com/u/5200342?v=4","gravatar_id":"","url":"https://api.github.com/users/paoptu023","html_url":"https://github.com/paoptu023","followers_url":"https://api.github.com/users/paoptu023/followers","following_url":"https://api.github.com/users/paoptu023/following{/other_user}","gists_url":"https://api.github.com/users/paoptu023/gists{/gist_id}","starred_url":"https://api.github.com/users/paoptu023/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paoptu023/subscriptions","organizations_url":"https://api.github.com/users/paoptu023/orgs","repos_url":"https://api.github.com/users/paoptu023/repos","events_url":"https://api.github.com/users/paoptu023/events{/privacy}","received_events_url":"https://api.github.com/users/paoptu023/received_events","type":"User","site_admin":false},"repo":{"id":160858068,"node_id":"MDEwOlJlcG9zaXRvcnkxNjA4NTgwNjg=","name":"aws-sam-cli","full_name":"paoptu023/aws-sam-cli","private":false,"owner":{"login":"paoptu023","id":5200342,"node_id":"MDQ6VXNlcjUyMDAzNDI=","avatar_url":"https://avatars3.githubusercontent.com/u/5200342?v=4","gravatar_id":"","url":"https://api.github.com/users/paoptu023","html_url":"https://github.com/paoptu023","followers_url":"https://api.github.com/users/paoptu023/followers","following_url":"https://api.github.com/users/paoptu023/following{/other_user}","gists_url":"https://api.github.com/users/paoptu023/gists{/gist_id}","starred_url":"https://api.github.com/users/paoptu023/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paoptu023/subscriptions","organizations_url":"https://api.github.com/users/paoptu023/orgs","repos_url":"https://api.github.com/users/paoptu023/repos","events_url":"https://api.github.com/users/paoptu023/events{/privacy}","received_events_url":"https://api.github.com/users/paoptu023/received_events","type":"User","site_admin":false},"html_url":"https://github.com/paoptu023/aws-sam-cli","description":"AWS SAM CLI 🐿 is a CLI tool for local development and testing of Serverless applications","fork":true,"url":"https://api.github.com/repos/paoptu023/aws-sam-cli","forks_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/forks","keys_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/keys{/key_id}","collaborators_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/teams","hooks_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/hooks","issue_events_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/issues/events{/number}","events_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/events","assignees_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/assignees{/user}","branches_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/branches{/branch}","tags_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/tags","blobs_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/git/refs{/sha}","trees_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/git/trees{/sha}","statuses_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/statuses/{sha}","languages_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/languages","stargazers_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/stargazers","contributors_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/contributors","subscribers_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/subscribers","subscription_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/subscription","commits_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/commits{/sha}","git_commits_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/git/commits{/sha}","comments_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/comments{/number}","issue_comment_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/issues/comments{/number}","contents_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/contents/{+path}","compare_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/compare/{base}...{head}","merges_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/merges","archive_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/downloads","issues_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/issues{/number}","pulls_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/pulls{/number}","milestones_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/milestones{/number}","notifications_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/labels{/name}","releases_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/releases{/id}","deployments_url":"https://api.github.com/repos/paoptu023/aws-sam-cli/deployments","created_at":"2018-12-07T17:57:04Z","updated_at":"2018-12-07T17:57:07Z","pushed_at":"2018-12-10T20:04:19Z","git_url":"git://github.com/paoptu023/aws-sam-cli.git","ssh_url":"git@github.com:paoptu023/aws-sam-cli.git","clone_url":"https://github.com/paoptu023/aws-sam-cli.git","svn_url":"https://github.com/paoptu023/aws-sam-cli","homepage":"","size":17391,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"awslabs:develop","ref":"develop","sha":"19297dd1eaba90097eaec86f157b16718c79ea26","user":{"login":"awslabs","id":3299148,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMyOTkxNDg=","avatar_url":"https://avatars0.githubusercontent.com/u/3299148?v=4","gravatar_id":"","url":"https://api.github.com/users/awslabs","html_url":"https://github.com/awslabs","followers_url":"https://api.github.com/users/awslabs/followers","following_url":"https://api.github.com/users/awslabs/following{/other_user}","gists_url":"https://api.github.com/users/awslabs/gists{/gist_id}","starred_url":"https://api.github.com/users/awslabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/awslabs/subscriptions","organizations_url":"https://api.github.com/users/awslabs/orgs","repos_url":"https://api.github.com/users/awslabs/repos","events_url":"https://api.github.com/users/awslabs/events{/privacy}","received_events_url":"https://api.github.com/users/awslabs/received_events","type":"Organization","site_admin":false},"repo":{"id":92205085,"node_id":"MDEwOlJlcG9zaXRvcnk5MjIwNTA4NQ==","name":"aws-sam-cli","full_name":"awslabs/aws-sam-cli","private":false,"owner":{"login":"awslabs","id":3299148,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMyOTkxNDg=","avatar_url":"https://avatars0.githubusercontent.com/u/3299148?v=4","gravatar_id":"","url":"https://api.github.com/users/awslabs","html_url":"https://github.com/awslabs","followers_url":"https://api.github.com/users/awslabs/followers","following_url":"https://api.github.com/users/awslabs/following{/other_user}","gists_url":"https://api.github.com/users/awslabs/gists{/gist_id}","starred_url":"https://api.github.com/users/awslabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/awslabs/subscriptions","organizations_url":"https://api.github.com/users/awslabs/orgs","repos_url":"https://api.github.com/users/awslabs/repos","events_url":"https://api.github.com/users/awslabs/events{/privacy}","received_events_url":"https://api.github.com/users/awslabs/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/awslabs/aws-sam-cli","description":"AWS SAM CLI 🐿 is a CLI tool for local development and testing of Serverless applications","fork":false,"url":"https://api.github.com/repos/awslabs/aws-sam-cli","forks_url":"https://api.github.com/repos/awslabs/aws-sam-cli/forks","keys_url":"https://api.github.com/repos/awslabs/aws-sam-cli/keys{/key_id}","collaborators_url":"https://api.github.com/repos/awslabs/aws-sam-cli/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/awslabs/aws-sam-cli/teams","hooks_url":"https://api.github.com/repos/awslabs/aws-sam-cli/hooks","issue_events_url":"https://api.github.com/repos/awslabs/aws-sam-cli/issues/events{/number}","events_url":"https://api.github.com/repos/awslabs/aws-sam-cli/events","assignees_url":"https://api.github.com/repos/awslabs/aws-sam-cli/assignees{/user}","branches_url":"https://api.github.com/repos/awslabs/aws-sam-cli/branches{/branch}","tags_url":"https://api.github.com/repos/awslabs/aws-sam-cli/tags","blobs_url":"https://api.github.com/repos/awslabs/aws-sam-cli/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/awslabs/aws-sam-cli/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/awslabs/aws-sam-cli/git/refs{/sha}","trees_url":"https://api.github.com/repos/awslabs/aws-sam-cli/git/trees{/sha}","statuses_url":"https://api.github.com/repos/awslabs/aws-sam-cli/statuses/{sha}","languages_url":"https://api.github.com/repos/awslabs/aws-sam-cli/languages","stargazers_url":"https://api.github.com/repos/awslabs/aws-sam-cli/stargazers","contributors_url":"https://api.github.com/repos/awslabs/aws-sam-cli/contributors","subscribers_url":"https://api.github.com/repos/awslabs/aws-sam-cli/subscribers","subscription_url":"https://api.github.com/repos/awslabs/aws-sam-cli/subscription","commits_url":"https://api.github.com/repos/awslabs/aws-sam-cli/commits{/sha}","git_commits_url":"https://api.github.com/repos/awslabs/aws-sam-cli/git/commits{/sha}","comments_url":"https://api.github.com/repos/awslabs/aws-sam-cli/comments{/number}","issue_comment_url":"https://api.github.com/repos/awslabs/aws-sam-cli/issues/comments{/number}","contents_url":"https://api.github.com/repos/awslabs/aws-sam-cli/contents/{+path}","compare_url":"https://api.github.com/repos/awslabs/aws-sam-cli/compare/{base}...{head}","merges_url":"https://api.github.com/repos/awslabs/aws-sam-cli/merges","archive_url":"https://api.github.com/repos/awslabs/aws-sam-cli/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/awslabs/aws-sam-cli/downloads","issues_url":"https://api.github.com/repos/awslabs/aws-sam-cli/issues{/number}","pulls_url":"https://api.github.com/repos/awslabs/aws-sam-cli/pulls{/number}","milestones_url":"https://api.github.com/repos/awslabs/aws-sam-cli/milestones{/number}","notifications_url":"https://api.github.com/repos/awslabs/aws-sam-cli/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/awslabs/aws-sam-cli/labels{/name}","releases_url":"https://api.github.com/repos/awslabs/aws-sam-cli/releases{/id}","deployments_url":"https://api.github.com/repos/awslabs/aws-sam-cli/deployments","created_at":"2017-05-23T18:16:23Z","updated_at":"2018-12-11T09:58:37Z","pushed_at":"2018-12-11T18:05:07Z","git_url":"git://github.com/awslabs/aws-sam-cli.git","ssh_url":"git@github.com:awslabs/aws-sam-cli.git","clone_url":"https://github.com/awslabs/aws-sam-cli.git","svn_url":"https://github.com/awslabs/aws-sam-cli","homepage":"","size":17374,"stargazers_count":3588,"watchers_count":3588,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":498,"mirror_url":null,"archived":false,"open_issues_count":143,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":498,"open_issues":143,"watchers":3588,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/awslabs/aws-sam-cli/pulls/844"},"html":{"href":"https://github.com/awslabs/aws-sam-cli/pull/844"},"issue":{"href":"https://api.github.com/repos/awslabs/aws-sam-cli/issues/844"},"comments":{"href":"https://api.github.com/repos/awslabs/aws-sam-cli/issues/844/comments"},"review_comments":{"href":"https://api.github.com/repos/awslabs/aws-sam-cli/pulls/844/comments"},"review_comment":{"href":"https://api.github.com/repos/awslabs/aws-sam-cli/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/awslabs/aws-sam-cli/pulls/844/commits"},"statuses":{"href":"https://api.github.com/repos/awslabs/aws-sam-cli/statuses/71714651ca207683ebef734448f017fb6a8b7a2b"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"TheSriram"}}