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

Issue with AWS-SDK node module using a private cloud endpoint #202

Closed
dernotte opened this issue Dec 12, 2013 · 16 comments
Closed

Issue with AWS-SDK node module using a private cloud endpoint #202

dernotte opened this issue Dec 12, 2013 · 16 comments
Labels
feature-request A feature should be added or improved.

Comments

@dernotte
Copy link

Hi,

When I use the AWS-SDK node module to create instance on my private cloud, I set an my endpoint in the config file like "endpoint": "url_to_the_local_endpoint/abc/efg/"
The problem is the in the query.js, in AWS.ServiceInterface.Query method, the line httpRequest.path = '/' overwrite the /abc/efg/ path to my endpoint. If I remove that line, everything is fine. Is this line really useful ?

Didier

@lsegal
Copy link
Contributor

lsegal commented Dec 12, 2013

It might be possible to make this change, but note that it won't work everywhere, specifically for REST based services, like S3, and in general this kind of a thing may not work in the future. Generally speaking, the path of an API call depends heavily on the protocol and serialization format used. For instance, in RPC style services (like EC2), everything should be sent to the root of the endpoint. It's possible to take this for granted, but it's not as possible for REST style services where the path is defined in the API configuration directly. It's not usually possible to guarantee that the SDK will work mounted in sub-paths of an endpoint.

That said, I think it would be safe to change this at least for JSON and Query style services.

@dernotte
Copy link
Author

Thanks for your answer. I will see what I can do on my side to remove the extended path in the URL of the API.

@c4milo
Copy link

c4milo commented Dec 22, 2013

@lsegal out of curiosity, where do you guys get the services contracts from?

https://github.com/aws/aws-sdk-js/tree/master/lib/services/api

@lsegal
Copy link
Contributor

lsegal commented Dec 22, 2013

@c4milo the API configurations are generated by respective SDKs. You can see similar configurations in PHP, Ruby, Python, and the CLI.

@c4milo
Copy link

c4milo commented Dec 22, 2013

@lsegal What is the source? I'm building an AWS SDK for Go, using the EC2 WSDL which as you know, is going to be deprecated in March.

@lsegal
Copy link
Contributor

lsegal commented Dec 22, 2013

@c4milo the SDKs themselves are the source. You can find a fairly complete version of these configs in https://github.com/aws/aws-sdk-core-ruby/tree/master/apis/source

@c4milo
Copy link

c4milo commented Dec 24, 2013

Nice, so, I'm going to assume that the Ruby AWS SDK is the canonical source for the services contracts, and I'll get them from there every time.

@lsegal
Copy link
Contributor

lsegal commented Dec 24, 2013

They are all canonical. Boto-core has similar configs: https://github.com/boto/botocore/tree/develop/services

@c4milo
Copy link

c4milo commented Dec 24, 2013

Meh, but what is the source? Where do you guys pull the json contracts from?

@lsegal lsegal closed this as completed in 4d9aa0c Feb 19, 2014
@c4milo
Copy link

c4milo commented Feb 21, 2014

I don't know what's the problem with just answering saying "Hey, those JSON files are generated internally by us and we don't want people to know what the source is nor open source the generator code"

@lsegal
Copy link
Contributor

lsegal commented Feb 21, 2014

@c4milo thanks for following up-- I had missed this comment. There is really nothing disingenuous going on here. The contracts are pulled directly from the services, so those JSON documents are basically the contracts. You can think of them similarly to a WSDL, except they are hosted primarily in the respective SDKs rather than a special endpoint. Does that help?

@c4milo
Copy link

c4milo commented Feb 22, 2014

I already knew they were contracts. I was more curious about how those JSON files were being generated and from where. Are there any plans for aws-sdk-go?

@c4milo
Copy link

c4milo commented Feb 28, 2014

@lsegal no Go plans?

@lsegal
Copy link
Contributor

lsegal commented Feb 28, 2014

@c4milo we have had customer feedback for a Go SDK a few times before. I can tell you that we look at all SDK requests like these. I will definitely keep you posted if we ever do release something.

@c4milo
Copy link

c4milo commented Feb 28, 2014

@lsegal thanks for answering back. I'm asking because I'm about to start one if you guys don't have plans in the near future for it. I just don't want to waste my time if Amazon is thinking in supporting Go too.

lsegal added a commit that referenced this issue Mar 26, 2014
lsegal added a commit that referenced this issue Apr 24, 2014
@srchase srchase added feature-request A feature should be added or improved. and removed enhancement labels Jan 4, 2019
@lock
Copy link

lock bot commented Sep 29, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs and link to relevant comments in this thread.

@lock lock bot locked as resolved and limited conversation to collaborators Sep 29, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request A feature should be added or improved.
Projects
None yet
Development

No branches or pull requests

4 participants