service.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. package autoscaling
  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/query"
  10. "github.com/aws/aws-sdk-go/internal/signer/v4"
  11. )
  12. // Auto Scaling is designed to automatically launch or terminate EC2 instances
  13. // based on user-defined policies, schedules, and health checks. Use this service
  14. // in conjunction with the Amazon CloudWatch and Elastic Load Balancing services.
  15. type AutoScaling struct {
  16. *service.Service
  17. }
  18. // Used for custom service initialization logic
  19. var initService func(*service.Service)
  20. // Used for custom request initialization logic
  21. var initRequest func(*request.Request)
  22. // New returns a new AutoScaling client.
  23. func New(config *aws.Config) *AutoScaling {
  24. service := &service.Service{
  25. ServiceInfo: serviceinfo.ServiceInfo{
  26. Config: defaults.DefaultConfig.Merge(config),
  27. ServiceName: "autoscaling",
  28. APIVersion: "2011-01-01",
  29. },
  30. }
  31. service.Initialize()
  32. // Handlers
  33. service.Handlers.Sign.PushBack(v4.Sign)
  34. service.Handlers.Build.PushBack(query.Build)
  35. service.Handlers.Unmarshal.PushBack(query.Unmarshal)
  36. service.Handlers.UnmarshalMeta.PushBack(query.UnmarshalMeta)
  37. service.Handlers.UnmarshalError.PushBack(query.UnmarshalError)
  38. // Run custom service initialization if present
  39. if initService != nil {
  40. initService(service)
  41. }
  42. return &AutoScaling{service}
  43. }
  44. // newRequest creates a new request for a AutoScaling operation and runs any
  45. // custom request initialization.
  46. func (c *AutoScaling) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  47. req := c.NewRequest(op, params, data)
  48. // Run custom request initialization if present
  49. if initRequest != nil {
  50. initRequest(req)
  51. }
  52. return req
  53. }