Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SAM Local invoke requires a credential profile #526

Closed
rli opened this issue Nov 19, 2018 · 2 comments · Fixed by #788
Closed

SAM Local invoke requires a credential profile #526

rli opened this issue Nov 19, 2018 · 2 comments · Fixed by #788
Labels
bug We can reproduce the issue and confirmed it is a bug.
Milestone

Comments

@rli
Copy link
Contributor

rli commented Nov 19, 2018

Describe the bug
A local invoke without credentials set-up results in IDE error

Expected behavior
As a user, it is unclear why a local invoke requires credentials, especially since the hello_world sample does not make any AWS SDK calls

Screenshots

software.aws.toolkits.core.credentials.CredentialProviderNotFound: No active credential provider configured
	at software.aws.toolkits.jetbrains.core.credentials.DefaultProjectAccountSettingsManager.getActiveCredentialProvider(ProjectAccountSettingsManager.kt:114)
	at software.aws.toolkits.jetbrains.services.lambda.execution.sam.SamRunSettingsEditor.<init>(SamRunConfiguration.kt:239)
	at software.aws.toolkits.jetbrains.services.lambda.execution.sam.SamRunConfiguration.getConfigurationEditor(SamRunConfiguration.kt:59)
	at software.aws.toolkits.jetbrains.services.lambda.execution.sam.SamRunConfiguration.getConfigurationEditor(SamRunConfiguration.kt:54)
	at com.intellij.execution.impl.ConfigurationSettingsEditor.<init>(ConfigurationSettingsEditor.java:208)
	at com.intellij.execution.impl.ConfigurationSettingsEditorWrapper.<init>(ConfigurationSettingsEditorWrapper.java:49)
	at com.intellij.execution.impl.SingleConfigurationConfigurable.<init>(SingleConfigurationConfigurable.java:65)
	at com.intellij.execution.impl.SingleConfigurationConfigurable.editSettings(SingleConfigurationConfigurable.java:100)
	at com.intellij.execution.impl.RunDialog.editConfiguration(RunDialog.java:122)
	at com.intellij.execution.impl.RunDialog.editConfiguration(RunDialog.java:118)
	at com.intellij.execution.ProgramRunnerUtil.executeConfigurationAsync(ProgramRunnerUtil.java:67)
	at com.intellij.execution.ProgramRunnerUtil.executeConfiguration(ProgramRunnerUtil.java:43)
	at com.intellij.execution.impl.ExecutionManagerImpl.a(ExecutionManagerImpl.java:94)
	at com.intellij.execution.impl.ExecutionManagerImpl.access$300(ExecutionManagerImpl.java:43)
	at com.intellij.execution.impl.ExecutionManagerImpl$3.run(ExecutionManagerImpl.java:423)
	at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:232)
	at com.intellij.util.Alarm$Request.runSafely(Alarm.java:405)
	at com.intellij.util.Alarm$Request.access$700(Alarm.java:330)
	at com.intellij.util.Alarm$Request$1.run(Alarm.java:371)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:315)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.a(LaterInvocator.java:447)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.a(LaterInvocator.java:431)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:415)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
	at java.awt.EventQueue.access$500(EventQueue.java:98)
	at java.awt.EventQueue$3.run(EventQueue.java:715)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
	at com.intellij.ide.IdeEventQueue.r(IdeEventQueue.java:781)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:722)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Additional context
Related to #476

@abrooksv
Copy link
Contributor

abrooksv commented Nov 19, 2018

If we pass nothing, SAM will take the default profile as well. We could make it required...or just let SAM take the default profile. I'd prefer to ask for a --no-credentials flag though so there are no surprises

@abrooksv
Copy link
Contributor

SAM always wants credentials no matter what because you always have a role in real Lambda, so I guess we make it required

@rli rli added the bug We can reproduce the issue and confirmed it is a bug. label Jan 17, 2019
@abrooksv abrooksv modified the milestones: Sprint 5, Sprint 6 Jan 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug We can reproduce the issue and confirmed it is a bug.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants