{"action":"closed","issue":{"url":"https://api.github.com/repos/pulumi/pulumi-cloud/issues/19","repository_url":"https://api.github.com/repos/pulumi/pulumi-cloud","labels_url":"https://api.github.com/repos/pulumi/pulumi-cloud/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/pulumi/pulumi-cloud/issues/19/comments","events_url":"https://api.github.com/repos/pulumi/pulumi-cloud/issues/19/events","html_url":"https://github.com/pulumi/pulumi-cloud/issues/19","id":250153917,"node_id":"MDU6SXNzdWUyNTAxNTM5MTc=","number":19,"title":"Poor error experience from duplicate URN","user":{"login":"chrsmith","id":4029847,"node_id":"MDQ6VXNlcjQwMjk4NDc=","avatar_url":"https://avatars1.githubusercontent.com/u/4029847?v=4","gravatar_id":"","url":"https://api.github.com/users/chrsmith","html_url":"https://github.com/chrsmith","followers_url":"https://api.github.com/users/chrsmith/followers","following_url":"https://api.github.com/users/chrsmith/following{/other_user}","gists_url":"https://api.github.com/users/chrsmith/gists{/gist_id}","starred_url":"https://api.github.com/users/chrsmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrsmith/subscriptions","organizations_url":"https://api.github.com/users/chrsmith/orgs","repos_url":"https://api.github.com/users/chrsmith/repos","events_url":"https://api.github.com/users/chrsmith/events{/privacy}","received_events_url":"https://api.github.com/users/chrsmith/received_events","type":"User","site_admin":false},"labels":[{"id":635483281,"node_id":"MDU6TGFiZWw2MzU0ODMyODE=","url":"https://api.github.com/repos/pulumi/pulumi-cloud/labels/impact/usability","name":"impact/usability","color":"bfe5bf","default":false}],"state":"closed","locked":false,"assignee":{"login":"swgillespie","id":1871912,"node_id":"MDQ6VXNlcjE4NzE5MTI=","avatar_url":"https://avatars2.githubusercontent.com/u/1871912?v=4","gravatar_id":"","url":"https://api.github.com/users/swgillespie","html_url":"https://github.com/swgillespie","followers_url":"https://api.github.com/users/swgillespie/followers","following_url":"https://api.github.com/users/swgillespie/following{/other_user}","gists_url":"https://api.github.com/users/swgillespie/gists{/gist_id}","starred_url":"https://api.github.com/users/swgillespie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swgillespie/subscriptions","organizations_url":"https://api.github.com/users/swgillespie/orgs","repos_url":"https://api.github.com/users/swgillespie/repos","events_url":"https://api.github.com/users/swgillespie/events{/privacy}","received_events_url":"https://api.github.com/users/swgillespie/received_events","type":"User","site_admin":false},"assignees":[{"login":"swgillespie","id":1871912,"node_id":"MDQ6VXNlcjE4NzE5MTI=","avatar_url":"https://avatars2.githubusercontent.com/u/1871912?v=4","gravatar_id":"","url":"https://api.github.com/users/swgillespie","html_url":"https://github.com/swgillespie","followers_url":"https://api.github.com/users/swgillespie/followers","following_url":"https://api.github.com/users/swgillespie/following{/other_user}","gists_url":"https://api.github.com/users/swgillespie/gists{/gist_id}","starred_url":"https://api.github.com/users/swgillespie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swgillespie/subscriptions","organizations_url":"https://api.github.com/users/swgillespie/orgs","repos_url":"https://api.github.com/users/swgillespie/repos","events_url":"https://api.github.com/users/swgillespie/events{/privacy}","received_events_url":"https://api.github.com/users/swgillespie/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/pulumi/pulumi-cloud/milestones/27","html_url":"https://github.com/pulumi/pulumi-cloud/milestone/27","labels_url":"https://api.github.com/repos/pulumi/pulumi-cloud/milestones/27/labels","id":3647182,"node_id":"MDk6TWlsZXN0b25lMzY0NzE4Mg==","number":27,"title":"0.20","description":"","creator":{"login":"lukehoban","id":223467,"node_id":"MDQ6VXNlcjIyMzQ2Nw==","avatar_url":"https://avatars1.githubusercontent.com/u/223467?v=4","gravatar_id":"","url":"https://api.github.com/users/lukehoban","html_url":"https://github.com/lukehoban","followers_url":"https://api.github.com/users/lukehoban/followers","following_url":"https://api.github.com/users/lukehoban/following{/other_user}","gists_url":"https://api.github.com/users/lukehoban/gists{/gist_id}","starred_url":"https://api.github.com/users/lukehoban/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukehoban/subscriptions","organizations_url":"https://api.github.com/users/lukehoban/orgs","repos_url":"https://api.github.com/users/lukehoban/repos","events_url":"https://api.github.com/users/lukehoban/events{/privacy}","received_events_url":"https://api.github.com/users/lukehoban/received_events","type":"User","site_admin":false},"open_issues":14,"closed_issues":4,"state":"open","created_at":"2018-09-12T04:55:10Z","updated_at":"2018-12-07T15:18:06Z","due_on":"2018-12-30T08:00:00Z","closed_at":null},"comments":4,"created_at":"2017-08-14T21:05:09Z","updated_at":"2018-12-07T15:18:06Z","closed_at":"2018-12-07T15:18:06Z","author_association":"MEMBER","body":"The following code snippet:\r\n```\r\napi.routeStatic(\"GET\", \"/css/style.css\", \"css/style.css\",              \"text/css\");\r\napi.routeStatic(\"GET\", \"/css/style.css\", \"css/tachyons-4.3.7.min.css\", \"text/css\");\r\n```\r\n\r\nyields the following error:\r\n```\r\napi.ts(271,20): error LUMI2010: Duplicate resource URN 'urn:lumi:homepage::stealthhp:index::aws:iam/role:Role::homepage48a37c4d5c40213c99d4dc5096cb5add870a1d6e'; try giving it a unique name\r\nerror: An error occurred while viewing the plan: One or more resource validation errors occurred; refusing to proceed\r\n```\r\n\r\nSee what the problem is? The parameter \"/css/style.css\" is duplicated, and as a result Lumi will try to generate two objects with the same name. Which leads to a duplicate URN. Which is a problem.\r\n\r\nThe problem though is that the duplicate URN is listed, not anything related to the root cause (\"/css/style.css\"), although if you look closely you can see the name of the API object \"homepage\".\r\n\r\nAfter a brief discussion with Luke, it sounds like this is a _really_ hard problem. So we might not be able to solve this generally or automatically. But in advance of shipping a new component, or finalizing our API design, we can probably take close attention to the error condition for when we encounter duplicate names for Pulumi resources."}}
{"actor":{"display_login":"lukehoban"}}