service.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. package emr
  3. import (
  4. "github.com/aws/aws-sdk-go/aws"
  5. "github.com/aws/aws-sdk-go/aws/defaults"
  6. "github.com/aws/aws-sdk-go/aws/request"
  7. "github.com/aws/aws-sdk-go/aws/service"
  8. "github.com/aws/aws-sdk-go/aws/service/serviceinfo"
  9. "github.com/aws/aws-sdk-go/internal/protocol/jsonrpc"
  10. "github.com/aws/aws-sdk-go/internal/signer/v4"
  11. )
  12. // Amazon Elastic MapReduce (Amazon EMR) is a web service that makes it easy
  13. // to process large amounts of data efficiently. Amazon EMR uses Hadoop processing
  14. // combined with several AWS products to do tasks such as web indexing, data
  15. // mining, log file analysis, machine learning, scientific simulation, and data
  16. // warehousing.
  17. type EMR struct {
  18. *service.Service
  19. }
  20. // Used for custom service initialization logic
  21. var initService func(*service.Service)
  22. // Used for custom request initialization logic
  23. var initRequest func(*request.Request)
  24. // New returns a new EMR client.
  25. func New(config *aws.Config) *EMR {
  26. service := &service.Service{
  27. ServiceInfo: serviceinfo.ServiceInfo{
  28. Config: defaults.DefaultConfig.Merge(config),
  29. ServiceName: "elasticmapreduce",
  30. APIVersion: "2009-03-31",
  31. JSONVersion: "1.1",
  32. TargetPrefix: "ElasticMapReduce",
  33. },
  34. }
  35. service.Initialize()
  36. // Handlers
  37. service.Handlers.Sign.PushBack(v4.Sign)
  38. service.Handlers.Build.PushBack(jsonrpc.Build)
  39. service.Handlers.Unmarshal.PushBack(jsonrpc.Unmarshal)
  40. service.Handlers.UnmarshalMeta.PushBack(jsonrpc.UnmarshalMeta)
  41. service.Handlers.UnmarshalError.PushBack(jsonrpc.UnmarshalError)
  42. // Run custom service initialization if present
  43. if initService != nil {
  44. initService(service)
  45. }
  46. return &EMR{service}
  47. }
  48. // newRequest creates a new request for a EMR operation and runs any
  49. // custom request initialization.
  50. func (c *EMR) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  51. req := c.NewRequest(op, params, data)
  52. // Run custom request initialization if present
  53. if initRequest != nil {
  54. initRequest(req)
  55. }
  56. return req
  57. }