Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The use of a private cluster breaks the aws emr toolchain. The ssh subcommand will fail, because there is no public dns name associated with a private cluster. And in the subcommand describe-cluster the expectation is broken, that a cluster_id can be used to retrieve a dns name of the master node.
To reproduce the issues, start a cluster on a private subnet (as specified by the documentation of EMR), then run:
It will fail, because it can't retrieve the dns name.
Furthermore there is no longer a way to translate a cluster_id into a hostname, when using a private cluster:
MasterPublicDnsName is empty.
I added a field MasterPrivateDnsName to describe_cluster and let aws emr ssh use MasterPrivateDnsName as dns name in the case MasterPublicDnsName is an empty string.