github.com/aavshr/aws-sdk-go@v1.41.3/private/protocol/query/unmarshal_test.go (about)

     1  // Code generated by models/protocol_tests/generate.go. DO NOT EDIT.
     2  
     3  package query_test
     4  
     5  import (
     6  	"bytes"
     7  	"encoding/json"
     8  	"encoding/xml"
     9  	"fmt"
    10  	"io"
    11  	"io/ioutil"
    12  	"net/http"
    13  	"net/url"
    14  	"reflect"
    15  	"testing"
    16  	"time"
    17  
    18  	"github.com/aavshr/aws-sdk-go/aws"
    19  	"github.com/aavshr/aws-sdk-go/aws/client"
    20  	"github.com/aavshr/aws-sdk-go/aws/client/metadata"
    21  	"github.com/aavshr/aws-sdk-go/aws/request"
    22  	"github.com/aavshr/aws-sdk-go/aws/signer/v4"
    23  	"github.com/aavshr/aws-sdk-go/awstesting"
    24  	"github.com/aavshr/aws-sdk-go/awstesting/unit"
    25  	"github.com/aavshr/aws-sdk-go/private/protocol"
    26  	"github.com/aavshr/aws-sdk-go/private/protocol/query"
    27  	"github.com/aavshr/aws-sdk-go/private/protocol/xml/xmlutil"
    28  	"github.com/aavshr/aws-sdk-go/private/util"
    29  )
    30  
    31  var _ bytes.Buffer // always import bytes
    32  var _ http.Request
    33  var _ json.Marshaler
    34  var _ time.Time
    35  var _ xmlutil.XMLNode
    36  var _ xml.Attr
    37  var _ = ioutil.Discard
    38  var _ = util.Trim("")
    39  var _ = url.Values{}
    40  var _ = io.EOF
    41  var _ = aws.String
    42  var _ = fmt.Println
    43  var _ = reflect.Value{}
    44  
    45  func init() {
    46  	protocol.RandReader = &awstesting.ZeroReader{}
    47  }
    48  
    49  // OutputService1ProtocolTest provides the API operation methods for making requests to
    50  // . See this package's package overview docs
    51  // for details on the service.
    52  //
    53  // OutputService1ProtocolTest methods are safe to use concurrently. It is not safe to
    54  // modify mutate any of the struct's properties though.
    55  type OutputService1ProtocolTest struct {
    56  	*client.Client
    57  }
    58  
    59  // New creates a new instance of the OutputService1ProtocolTest client with a session.
    60  // If additional configuration is needed for the client instance use the optional
    61  // aws.Config parameter to add your extra config.
    62  //
    63  // Example:
    64  //     mySession := session.Must(session.NewSession())
    65  //
    66  //     // Create a OutputService1ProtocolTest client from just a session.
    67  //     svc := outputservice1protocoltest.New(mySession)
    68  //
    69  //     // Create a OutputService1ProtocolTest client with additional configuration
    70  //     svc := outputservice1protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
    71  func NewOutputService1ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService1ProtocolTest {
    72  	c := p.ClientConfig("outputservice1protocoltest", cfgs...)
    73  	return newOutputService1ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
    74  }
    75  
    76  // newClient creates, initializes and returns a new service client instance.
    77  func newOutputService1ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService1ProtocolTest {
    78  	svc := &OutputService1ProtocolTest{
    79  		Client: client.New(
    80  			cfg,
    81  			metadata.ClientInfo{
    82  				ServiceName:   "OutputService1ProtocolTest",
    83  				ServiceID:     "OutputService1ProtocolTest",
    84  				SigningName:   signingName,
    85  				SigningRegion: signingRegion,
    86  				PartitionID:   partitionID,
    87  				Endpoint:      endpoint,
    88  				APIVersion:    "",
    89  			},
    90  			handlers,
    91  		),
    92  	}
    93  
    94  	// Handlers
    95  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
    96  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
    97  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
    98  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
    99  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
   100  
   101  	return svc
   102  }
   103  
   104  // newRequest creates a new request for a OutputService1ProtocolTest operation and runs any
   105  // custom request initialization.
   106  func (c *OutputService1ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
   107  	req := c.NewRequest(op, params, data)
   108  
   109  	return req
   110  }
   111  
   112  const opOutputService1TestCaseOperation1 = "OperationName"
   113  
   114  // OutputService1TestCaseOperation1Request generates a "aws/request.Request" representing the
   115  // client's request for the OutputService1TestCaseOperation1 operation. The "output" return
   116  // value will be populated with the request's response once the request completes
   117  // successfully.
   118  //
   119  // Use "Send" method on the returned Request to send the API call to the service.
   120  // the "output" return value is not valid until after Send returns without error.
   121  //
   122  // See OutputService1TestCaseOperation1 for more information on using the OutputService1TestCaseOperation1
   123  // API call, and error handling.
   124  //
   125  // This method is useful when you want to inject custom logic or configuration
   126  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   127  //
   128  //
   129  //    // Example sending a request using the OutputService1TestCaseOperation1Request method.
   130  //    req, resp := client.OutputService1TestCaseOperation1Request(params)
   131  //
   132  //    err := req.Send()
   133  //    if err == nil { // resp is now filled
   134  //        fmt.Println(resp)
   135  //    }
   136  func (c *OutputService1ProtocolTest) OutputService1TestCaseOperation1Request(input *OutputService1TestShapeOutputService1TestCaseOperation1Input) (req *request.Request, output *OutputService1TestShapeOutputService1TestCaseOperation1Output) {
   137  	op := &request.Operation{
   138  		Name:     opOutputService1TestCaseOperation1,
   139  		HTTPPath: "/",
   140  	}
   141  
   142  	if input == nil {
   143  		input = &OutputService1TestShapeOutputService1TestCaseOperation1Input{}
   144  	}
   145  
   146  	output = &OutputService1TestShapeOutputService1TestCaseOperation1Output{}
   147  	req = c.newRequest(op, input, output)
   148  	return
   149  }
   150  
   151  // OutputService1TestCaseOperation1 API operation for .
   152  //
   153  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   154  // with awserr.Error's Code and Message methods to get detailed information about
   155  // the error.
   156  //
   157  // See the AWS API reference guide for 's
   158  // API operation OutputService1TestCaseOperation1 for usage and error information.
   159  func (c *OutputService1ProtocolTest) OutputService1TestCaseOperation1(input *OutputService1TestShapeOutputService1TestCaseOperation1Input) (*OutputService1TestShapeOutputService1TestCaseOperation1Output, error) {
   160  	req, out := c.OutputService1TestCaseOperation1Request(input)
   161  	return out, req.Send()
   162  }
   163  
   164  // OutputService1TestCaseOperation1WithContext is the same as OutputService1TestCaseOperation1 with the addition of
   165  // the ability to pass a context and additional request options.
   166  //
   167  // See OutputService1TestCaseOperation1 for details on how to use this API operation.
   168  //
   169  // The context must be non-nil and will be used for request cancellation. If
   170  // the context is nil a panic will occur. In the future the SDK may create
   171  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   172  // for more information on using Contexts.
   173  func (c *OutputService1ProtocolTest) OutputService1TestCaseOperation1WithContext(ctx aws.Context, input *OutputService1TestShapeOutputService1TestCaseOperation1Input, opts ...request.Option) (*OutputService1TestShapeOutputService1TestCaseOperation1Output, error) {
   174  	req, out := c.OutputService1TestCaseOperation1Request(input)
   175  	req.SetContext(ctx)
   176  	req.ApplyOptions(opts...)
   177  	return out, req.Send()
   178  }
   179  
   180  type OutputService1TestShapeOutputService1TestCaseOperation1Input struct {
   181  	_ struct{} `type:"structure"`
   182  }
   183  
   184  type OutputService1TestShapeOutputService1TestCaseOperation1Output struct {
   185  	_ struct{} `type:"structure"`
   186  
   187  	Char *string `type:"character"`
   188  
   189  	Double *float64 `type:"double"`
   190  
   191  	FalseBool *bool `type:"boolean"`
   192  
   193  	Float *float64 `type:"float"`
   194  
   195  	Long *int64 `type:"long"`
   196  
   197  	Num *int64 `locationName:"FooNum" type:"integer"`
   198  
   199  	Str *string `type:"string"`
   200  
   201  	Timestamp *time.Time `type:"timestamp"`
   202  
   203  	TrueBool *bool `type:"boolean"`
   204  }
   205  
   206  // SetChar sets the Char field's value.
   207  func (s *OutputService1TestShapeOutputService1TestCaseOperation1Output) SetChar(v string) *OutputService1TestShapeOutputService1TestCaseOperation1Output {
   208  	s.Char = &v
   209  	return s
   210  }
   211  
   212  // SetDouble sets the Double field's value.
   213  func (s *OutputService1TestShapeOutputService1TestCaseOperation1Output) SetDouble(v float64) *OutputService1TestShapeOutputService1TestCaseOperation1Output {
   214  	s.Double = &v
   215  	return s
   216  }
   217  
   218  // SetFalseBool sets the FalseBool field's value.
   219  func (s *OutputService1TestShapeOutputService1TestCaseOperation1Output) SetFalseBool(v bool) *OutputService1TestShapeOutputService1TestCaseOperation1Output {
   220  	s.FalseBool = &v
   221  	return s
   222  }
   223  
   224  // SetFloat sets the Float field's value.
   225  func (s *OutputService1TestShapeOutputService1TestCaseOperation1Output) SetFloat(v float64) *OutputService1TestShapeOutputService1TestCaseOperation1Output {
   226  	s.Float = &v
   227  	return s
   228  }
   229  
   230  // SetLong sets the Long field's value.
   231  func (s *OutputService1TestShapeOutputService1TestCaseOperation1Output) SetLong(v int64) *OutputService1TestShapeOutputService1TestCaseOperation1Output {
   232  	s.Long = &v
   233  	return s
   234  }
   235  
   236  // SetNum sets the Num field's value.
   237  func (s *OutputService1TestShapeOutputService1TestCaseOperation1Output) SetNum(v int64) *OutputService1TestShapeOutputService1TestCaseOperation1Output {
   238  	s.Num = &v
   239  	return s
   240  }
   241  
   242  // SetStr sets the Str field's value.
   243  func (s *OutputService1TestShapeOutputService1TestCaseOperation1Output) SetStr(v string) *OutputService1TestShapeOutputService1TestCaseOperation1Output {
   244  	s.Str = &v
   245  	return s
   246  }
   247  
   248  // SetTimestamp sets the Timestamp field's value.
   249  func (s *OutputService1TestShapeOutputService1TestCaseOperation1Output) SetTimestamp(v time.Time) *OutputService1TestShapeOutputService1TestCaseOperation1Output {
   250  	s.Timestamp = &v
   251  	return s
   252  }
   253  
   254  // SetTrueBool sets the TrueBool field's value.
   255  func (s *OutputService1TestShapeOutputService1TestCaseOperation1Output) SetTrueBool(v bool) *OutputService1TestShapeOutputService1TestCaseOperation1Output {
   256  	s.TrueBool = &v
   257  	return s
   258  }
   259  
   260  // OutputService2ProtocolTest provides the API operation methods for making requests to
   261  // . See this package's package overview docs
   262  // for details on the service.
   263  //
   264  // OutputService2ProtocolTest methods are safe to use concurrently. It is not safe to
   265  // modify mutate any of the struct's properties though.
   266  type OutputService2ProtocolTest struct {
   267  	*client.Client
   268  }
   269  
   270  // New creates a new instance of the OutputService2ProtocolTest client with a session.
   271  // If additional configuration is needed for the client instance use the optional
   272  // aws.Config parameter to add your extra config.
   273  //
   274  // Example:
   275  //     mySession := session.Must(session.NewSession())
   276  //
   277  //     // Create a OutputService2ProtocolTest client from just a session.
   278  //     svc := outputservice2protocoltest.New(mySession)
   279  //
   280  //     // Create a OutputService2ProtocolTest client with additional configuration
   281  //     svc := outputservice2protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
   282  func NewOutputService2ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService2ProtocolTest {
   283  	c := p.ClientConfig("outputservice2protocoltest", cfgs...)
   284  	return newOutputService2ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
   285  }
   286  
   287  // newClient creates, initializes and returns a new service client instance.
   288  func newOutputService2ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService2ProtocolTest {
   289  	svc := &OutputService2ProtocolTest{
   290  		Client: client.New(
   291  			cfg,
   292  			metadata.ClientInfo{
   293  				ServiceName:   "OutputService2ProtocolTest",
   294  				ServiceID:     "OutputService2ProtocolTest",
   295  				SigningName:   signingName,
   296  				SigningRegion: signingRegion,
   297  				PartitionID:   partitionID,
   298  				Endpoint:      endpoint,
   299  				APIVersion:    "",
   300  			},
   301  			handlers,
   302  		),
   303  	}
   304  
   305  	// Handlers
   306  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
   307  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
   308  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
   309  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
   310  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
   311  
   312  	return svc
   313  }
   314  
   315  // newRequest creates a new request for a OutputService2ProtocolTest operation and runs any
   316  // custom request initialization.
   317  func (c *OutputService2ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
   318  	req := c.NewRequest(op, params, data)
   319  
   320  	return req
   321  }
   322  
   323  const opOutputService2TestCaseOperation1 = "OperationName"
   324  
   325  // OutputService2TestCaseOperation1Request generates a "aws/request.Request" representing the
   326  // client's request for the OutputService2TestCaseOperation1 operation. The "output" return
   327  // value will be populated with the request's response once the request completes
   328  // successfully.
   329  //
   330  // Use "Send" method on the returned Request to send the API call to the service.
   331  // the "output" return value is not valid until after Send returns without error.
   332  //
   333  // See OutputService2TestCaseOperation1 for more information on using the OutputService2TestCaseOperation1
   334  // API call, and error handling.
   335  //
   336  // This method is useful when you want to inject custom logic or configuration
   337  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   338  //
   339  //
   340  //    // Example sending a request using the OutputService2TestCaseOperation1Request method.
   341  //    req, resp := client.OutputService2TestCaseOperation1Request(params)
   342  //
   343  //    err := req.Send()
   344  //    if err == nil { // resp is now filled
   345  //        fmt.Println(resp)
   346  //    }
   347  func (c *OutputService2ProtocolTest) OutputService2TestCaseOperation1Request(input *OutputService2TestShapeOutputService2TestCaseOperation1Input) (req *request.Request, output *OutputService2TestShapeOutputService2TestCaseOperation1Output) {
   348  	op := &request.Operation{
   349  		Name:     opOutputService2TestCaseOperation1,
   350  		HTTPPath: "/",
   351  	}
   352  
   353  	if input == nil {
   354  		input = &OutputService2TestShapeOutputService2TestCaseOperation1Input{}
   355  	}
   356  
   357  	output = &OutputService2TestShapeOutputService2TestCaseOperation1Output{}
   358  	req = c.newRequest(op, input, output)
   359  	return
   360  }
   361  
   362  // OutputService2TestCaseOperation1 API operation for .
   363  //
   364  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   365  // with awserr.Error's Code and Message methods to get detailed information about
   366  // the error.
   367  //
   368  // See the AWS API reference guide for 's
   369  // API operation OutputService2TestCaseOperation1 for usage and error information.
   370  func (c *OutputService2ProtocolTest) OutputService2TestCaseOperation1(input *OutputService2TestShapeOutputService2TestCaseOperation1Input) (*OutputService2TestShapeOutputService2TestCaseOperation1Output, error) {
   371  	req, out := c.OutputService2TestCaseOperation1Request(input)
   372  	return out, req.Send()
   373  }
   374  
   375  // OutputService2TestCaseOperation1WithContext is the same as OutputService2TestCaseOperation1 with the addition of
   376  // the ability to pass a context and additional request options.
   377  //
   378  // See OutputService2TestCaseOperation1 for details on how to use this API operation.
   379  //
   380  // The context must be non-nil and will be used for request cancellation. If
   381  // the context is nil a panic will occur. In the future the SDK may create
   382  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   383  // for more information on using Contexts.
   384  func (c *OutputService2ProtocolTest) OutputService2TestCaseOperation1WithContext(ctx aws.Context, input *OutputService2TestShapeOutputService2TestCaseOperation1Input, opts ...request.Option) (*OutputService2TestShapeOutputService2TestCaseOperation1Output, error) {
   385  	req, out := c.OutputService2TestCaseOperation1Request(input)
   386  	req.SetContext(ctx)
   387  	req.ApplyOptions(opts...)
   388  	return out, req.Send()
   389  }
   390  
   391  type OutputService2TestShapeOutputService2TestCaseOperation1Input struct {
   392  	_ struct{} `type:"structure"`
   393  }
   394  
   395  type OutputService2TestShapeOutputService2TestCaseOperation1Output struct {
   396  	_ struct{} `type:"structure"`
   397  
   398  	Num *int64 `type:"integer"`
   399  
   400  	Str *string `type:"string"`
   401  }
   402  
   403  // SetNum sets the Num field's value.
   404  func (s *OutputService2TestShapeOutputService2TestCaseOperation1Output) SetNum(v int64) *OutputService2TestShapeOutputService2TestCaseOperation1Output {
   405  	s.Num = &v
   406  	return s
   407  }
   408  
   409  // SetStr sets the Str field's value.
   410  func (s *OutputService2TestShapeOutputService2TestCaseOperation1Output) SetStr(v string) *OutputService2TestShapeOutputService2TestCaseOperation1Output {
   411  	s.Str = &v
   412  	return s
   413  }
   414  
   415  // OutputService3ProtocolTest provides the API operation methods for making requests to
   416  // . See this package's package overview docs
   417  // for details on the service.
   418  //
   419  // OutputService3ProtocolTest methods are safe to use concurrently. It is not safe to
   420  // modify mutate any of the struct's properties though.
   421  type OutputService3ProtocolTest struct {
   422  	*client.Client
   423  }
   424  
   425  // New creates a new instance of the OutputService3ProtocolTest client with a session.
   426  // If additional configuration is needed for the client instance use the optional
   427  // aws.Config parameter to add your extra config.
   428  //
   429  // Example:
   430  //     mySession := session.Must(session.NewSession())
   431  //
   432  //     // Create a OutputService3ProtocolTest client from just a session.
   433  //     svc := outputservice3protocoltest.New(mySession)
   434  //
   435  //     // Create a OutputService3ProtocolTest client with additional configuration
   436  //     svc := outputservice3protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
   437  func NewOutputService3ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService3ProtocolTest {
   438  	c := p.ClientConfig("outputservice3protocoltest", cfgs...)
   439  	return newOutputService3ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
   440  }
   441  
   442  // newClient creates, initializes and returns a new service client instance.
   443  func newOutputService3ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService3ProtocolTest {
   444  	svc := &OutputService3ProtocolTest{
   445  		Client: client.New(
   446  			cfg,
   447  			metadata.ClientInfo{
   448  				ServiceName:   "OutputService3ProtocolTest",
   449  				ServiceID:     "OutputService3ProtocolTest",
   450  				SigningName:   signingName,
   451  				SigningRegion: signingRegion,
   452  				PartitionID:   partitionID,
   453  				Endpoint:      endpoint,
   454  				APIVersion:    "",
   455  			},
   456  			handlers,
   457  		),
   458  	}
   459  
   460  	// Handlers
   461  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
   462  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
   463  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
   464  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
   465  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
   466  
   467  	return svc
   468  }
   469  
   470  // newRequest creates a new request for a OutputService3ProtocolTest operation and runs any
   471  // custom request initialization.
   472  func (c *OutputService3ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
   473  	req := c.NewRequest(op, params, data)
   474  
   475  	return req
   476  }
   477  
   478  const opOutputService3TestCaseOperation1 = "OperationName"
   479  
   480  // OutputService3TestCaseOperation1Request generates a "aws/request.Request" representing the
   481  // client's request for the OutputService3TestCaseOperation1 operation. The "output" return
   482  // value will be populated with the request's response once the request completes
   483  // successfully.
   484  //
   485  // Use "Send" method on the returned Request to send the API call to the service.
   486  // the "output" return value is not valid until after Send returns without error.
   487  //
   488  // See OutputService3TestCaseOperation1 for more information on using the OutputService3TestCaseOperation1
   489  // API call, and error handling.
   490  //
   491  // This method is useful when you want to inject custom logic or configuration
   492  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   493  //
   494  //
   495  //    // Example sending a request using the OutputService3TestCaseOperation1Request method.
   496  //    req, resp := client.OutputService3TestCaseOperation1Request(params)
   497  //
   498  //    err := req.Send()
   499  //    if err == nil { // resp is now filled
   500  //        fmt.Println(resp)
   501  //    }
   502  func (c *OutputService3ProtocolTest) OutputService3TestCaseOperation1Request(input *OutputService3TestShapeOutputService3TestCaseOperation1Input) (req *request.Request, output *OutputService3TestShapeOutputService3TestCaseOperation1Output) {
   503  	op := &request.Operation{
   504  		Name:     opOutputService3TestCaseOperation1,
   505  		HTTPPath: "/",
   506  	}
   507  
   508  	if input == nil {
   509  		input = &OutputService3TestShapeOutputService3TestCaseOperation1Input{}
   510  	}
   511  
   512  	output = &OutputService3TestShapeOutputService3TestCaseOperation1Output{}
   513  	req = c.newRequest(op, input, output)
   514  	return
   515  }
   516  
   517  // OutputService3TestCaseOperation1 API operation for .
   518  //
   519  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   520  // with awserr.Error's Code and Message methods to get detailed information about
   521  // the error.
   522  //
   523  // See the AWS API reference guide for 's
   524  // API operation OutputService3TestCaseOperation1 for usage and error information.
   525  func (c *OutputService3ProtocolTest) OutputService3TestCaseOperation1(input *OutputService3TestShapeOutputService3TestCaseOperation1Input) (*OutputService3TestShapeOutputService3TestCaseOperation1Output, error) {
   526  	req, out := c.OutputService3TestCaseOperation1Request(input)
   527  	return out, req.Send()
   528  }
   529  
   530  // OutputService3TestCaseOperation1WithContext is the same as OutputService3TestCaseOperation1 with the addition of
   531  // the ability to pass a context and additional request options.
   532  //
   533  // See OutputService3TestCaseOperation1 for details on how to use this API operation.
   534  //
   535  // The context must be non-nil and will be used for request cancellation. If
   536  // the context is nil a panic will occur. In the future the SDK may create
   537  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   538  // for more information on using Contexts.
   539  func (c *OutputService3ProtocolTest) OutputService3TestCaseOperation1WithContext(ctx aws.Context, input *OutputService3TestShapeOutputService3TestCaseOperation1Input, opts ...request.Option) (*OutputService3TestShapeOutputService3TestCaseOperation1Output, error) {
   540  	req, out := c.OutputService3TestCaseOperation1Request(input)
   541  	req.SetContext(ctx)
   542  	req.ApplyOptions(opts...)
   543  	return out, req.Send()
   544  }
   545  
   546  type OutputService3TestShapeOutputService3TestCaseOperation1Input struct {
   547  	_ struct{} `type:"structure"`
   548  }
   549  
   550  type OutputService3TestShapeOutputService3TestCaseOperation1Output struct {
   551  	_ struct{} `type:"structure"`
   552  
   553  	// Blob is automatically base64 encoded/decoded by the SDK.
   554  	Blob []byte `type:"blob"`
   555  }
   556  
   557  // SetBlob sets the Blob field's value.
   558  func (s *OutputService3TestShapeOutputService3TestCaseOperation1Output) SetBlob(v []byte) *OutputService3TestShapeOutputService3TestCaseOperation1Output {
   559  	s.Blob = v
   560  	return s
   561  }
   562  
   563  // OutputService4ProtocolTest provides the API operation methods for making requests to
   564  // . See this package's package overview docs
   565  // for details on the service.
   566  //
   567  // OutputService4ProtocolTest methods are safe to use concurrently. It is not safe to
   568  // modify mutate any of the struct's properties though.
   569  type OutputService4ProtocolTest struct {
   570  	*client.Client
   571  }
   572  
   573  // New creates a new instance of the OutputService4ProtocolTest client with a session.
   574  // If additional configuration is needed for the client instance use the optional
   575  // aws.Config parameter to add your extra config.
   576  //
   577  // Example:
   578  //     mySession := session.Must(session.NewSession())
   579  //
   580  //     // Create a OutputService4ProtocolTest client from just a session.
   581  //     svc := outputservice4protocoltest.New(mySession)
   582  //
   583  //     // Create a OutputService4ProtocolTest client with additional configuration
   584  //     svc := outputservice4protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
   585  func NewOutputService4ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService4ProtocolTest {
   586  	c := p.ClientConfig("outputservice4protocoltest", cfgs...)
   587  	return newOutputService4ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
   588  }
   589  
   590  // newClient creates, initializes and returns a new service client instance.
   591  func newOutputService4ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService4ProtocolTest {
   592  	svc := &OutputService4ProtocolTest{
   593  		Client: client.New(
   594  			cfg,
   595  			metadata.ClientInfo{
   596  				ServiceName:   "OutputService4ProtocolTest",
   597  				ServiceID:     "OutputService4ProtocolTest",
   598  				SigningName:   signingName,
   599  				SigningRegion: signingRegion,
   600  				PartitionID:   partitionID,
   601  				Endpoint:      endpoint,
   602  				APIVersion:    "",
   603  			},
   604  			handlers,
   605  		),
   606  	}
   607  
   608  	// Handlers
   609  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
   610  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
   611  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
   612  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
   613  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
   614  
   615  	return svc
   616  }
   617  
   618  // newRequest creates a new request for a OutputService4ProtocolTest operation and runs any
   619  // custom request initialization.
   620  func (c *OutputService4ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
   621  	req := c.NewRequest(op, params, data)
   622  
   623  	return req
   624  }
   625  
   626  const opOutputService4TestCaseOperation1 = "OperationName"
   627  
   628  // OutputService4TestCaseOperation1Request generates a "aws/request.Request" representing the
   629  // client's request for the OutputService4TestCaseOperation1 operation. The "output" return
   630  // value will be populated with the request's response once the request completes
   631  // successfully.
   632  //
   633  // Use "Send" method on the returned Request to send the API call to the service.
   634  // the "output" return value is not valid until after Send returns without error.
   635  //
   636  // See OutputService4TestCaseOperation1 for more information on using the OutputService4TestCaseOperation1
   637  // API call, and error handling.
   638  //
   639  // This method is useful when you want to inject custom logic or configuration
   640  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   641  //
   642  //
   643  //    // Example sending a request using the OutputService4TestCaseOperation1Request method.
   644  //    req, resp := client.OutputService4TestCaseOperation1Request(params)
   645  //
   646  //    err := req.Send()
   647  //    if err == nil { // resp is now filled
   648  //        fmt.Println(resp)
   649  //    }
   650  func (c *OutputService4ProtocolTest) OutputService4TestCaseOperation1Request(input *OutputService4TestShapeOutputService4TestCaseOperation1Input) (req *request.Request, output *OutputService4TestShapeOutputService4TestCaseOperation1Output) {
   651  	op := &request.Operation{
   652  		Name:     opOutputService4TestCaseOperation1,
   653  		HTTPPath: "/",
   654  	}
   655  
   656  	if input == nil {
   657  		input = &OutputService4TestShapeOutputService4TestCaseOperation1Input{}
   658  	}
   659  
   660  	output = &OutputService4TestShapeOutputService4TestCaseOperation1Output{}
   661  	req = c.newRequest(op, input, output)
   662  	return
   663  }
   664  
   665  // OutputService4TestCaseOperation1 API operation for .
   666  //
   667  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   668  // with awserr.Error's Code and Message methods to get detailed information about
   669  // the error.
   670  //
   671  // See the AWS API reference guide for 's
   672  // API operation OutputService4TestCaseOperation1 for usage and error information.
   673  func (c *OutputService4ProtocolTest) OutputService4TestCaseOperation1(input *OutputService4TestShapeOutputService4TestCaseOperation1Input) (*OutputService4TestShapeOutputService4TestCaseOperation1Output, error) {
   674  	req, out := c.OutputService4TestCaseOperation1Request(input)
   675  	return out, req.Send()
   676  }
   677  
   678  // OutputService4TestCaseOperation1WithContext is the same as OutputService4TestCaseOperation1 with the addition of
   679  // the ability to pass a context and additional request options.
   680  //
   681  // See OutputService4TestCaseOperation1 for details on how to use this API operation.
   682  //
   683  // The context must be non-nil and will be used for request cancellation. If
   684  // the context is nil a panic will occur. In the future the SDK may create
   685  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   686  // for more information on using Contexts.
   687  func (c *OutputService4ProtocolTest) OutputService4TestCaseOperation1WithContext(ctx aws.Context, input *OutputService4TestShapeOutputService4TestCaseOperation1Input, opts ...request.Option) (*OutputService4TestShapeOutputService4TestCaseOperation1Output, error) {
   688  	req, out := c.OutputService4TestCaseOperation1Request(input)
   689  	req.SetContext(ctx)
   690  	req.ApplyOptions(opts...)
   691  	return out, req.Send()
   692  }
   693  
   694  type OutputService4TestShapeOutputService4TestCaseOperation1Input struct {
   695  	_ struct{} `type:"structure"`
   696  }
   697  
   698  type OutputService4TestShapeOutputService4TestCaseOperation1Output struct {
   699  	_ struct{} `type:"structure"`
   700  
   701  	ListMember []*string `type:"list"`
   702  }
   703  
   704  // SetListMember sets the ListMember field's value.
   705  func (s *OutputService4TestShapeOutputService4TestCaseOperation1Output) SetListMember(v []*string) *OutputService4TestShapeOutputService4TestCaseOperation1Output {
   706  	s.ListMember = v
   707  	return s
   708  }
   709  
   710  // OutputService5ProtocolTest provides the API operation methods for making requests to
   711  // . See this package's package overview docs
   712  // for details on the service.
   713  //
   714  // OutputService5ProtocolTest methods are safe to use concurrently. It is not safe to
   715  // modify mutate any of the struct's properties though.
   716  type OutputService5ProtocolTest struct {
   717  	*client.Client
   718  }
   719  
   720  // New creates a new instance of the OutputService5ProtocolTest client with a session.
   721  // If additional configuration is needed for the client instance use the optional
   722  // aws.Config parameter to add your extra config.
   723  //
   724  // Example:
   725  //     mySession := session.Must(session.NewSession())
   726  //
   727  //     // Create a OutputService5ProtocolTest client from just a session.
   728  //     svc := outputservice5protocoltest.New(mySession)
   729  //
   730  //     // Create a OutputService5ProtocolTest client with additional configuration
   731  //     svc := outputservice5protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
   732  func NewOutputService5ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService5ProtocolTest {
   733  	c := p.ClientConfig("outputservice5protocoltest", cfgs...)
   734  	return newOutputService5ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
   735  }
   736  
   737  // newClient creates, initializes and returns a new service client instance.
   738  func newOutputService5ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService5ProtocolTest {
   739  	svc := &OutputService5ProtocolTest{
   740  		Client: client.New(
   741  			cfg,
   742  			metadata.ClientInfo{
   743  				ServiceName:   "OutputService5ProtocolTest",
   744  				ServiceID:     "OutputService5ProtocolTest",
   745  				SigningName:   signingName,
   746  				SigningRegion: signingRegion,
   747  				PartitionID:   partitionID,
   748  				Endpoint:      endpoint,
   749  				APIVersion:    "",
   750  			},
   751  			handlers,
   752  		),
   753  	}
   754  
   755  	// Handlers
   756  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
   757  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
   758  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
   759  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
   760  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
   761  
   762  	return svc
   763  }
   764  
   765  // newRequest creates a new request for a OutputService5ProtocolTest operation and runs any
   766  // custom request initialization.
   767  func (c *OutputService5ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
   768  	req := c.NewRequest(op, params, data)
   769  
   770  	return req
   771  }
   772  
   773  const opOutputService5TestCaseOperation1 = "OperationName"
   774  
   775  // OutputService5TestCaseOperation1Request generates a "aws/request.Request" representing the
   776  // client's request for the OutputService5TestCaseOperation1 operation. The "output" return
   777  // value will be populated with the request's response once the request completes
   778  // successfully.
   779  //
   780  // Use "Send" method on the returned Request to send the API call to the service.
   781  // the "output" return value is not valid until after Send returns without error.
   782  //
   783  // See OutputService5TestCaseOperation1 for more information on using the OutputService5TestCaseOperation1
   784  // API call, and error handling.
   785  //
   786  // This method is useful when you want to inject custom logic or configuration
   787  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   788  //
   789  //
   790  //    // Example sending a request using the OutputService5TestCaseOperation1Request method.
   791  //    req, resp := client.OutputService5TestCaseOperation1Request(params)
   792  //
   793  //    err := req.Send()
   794  //    if err == nil { // resp is now filled
   795  //        fmt.Println(resp)
   796  //    }
   797  func (c *OutputService5ProtocolTest) OutputService5TestCaseOperation1Request(input *OutputService5TestShapeOutputService5TestCaseOperation1Input) (req *request.Request, output *OutputService5TestShapeOutputService5TestCaseOperation1Output) {
   798  	op := &request.Operation{
   799  		Name:     opOutputService5TestCaseOperation1,
   800  		HTTPPath: "/",
   801  	}
   802  
   803  	if input == nil {
   804  		input = &OutputService5TestShapeOutputService5TestCaseOperation1Input{}
   805  	}
   806  
   807  	output = &OutputService5TestShapeOutputService5TestCaseOperation1Output{}
   808  	req = c.newRequest(op, input, output)
   809  	return
   810  }
   811  
   812  // OutputService5TestCaseOperation1 API operation for .
   813  //
   814  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   815  // with awserr.Error's Code and Message methods to get detailed information about
   816  // the error.
   817  //
   818  // See the AWS API reference guide for 's
   819  // API operation OutputService5TestCaseOperation1 for usage and error information.
   820  func (c *OutputService5ProtocolTest) OutputService5TestCaseOperation1(input *OutputService5TestShapeOutputService5TestCaseOperation1Input) (*OutputService5TestShapeOutputService5TestCaseOperation1Output, error) {
   821  	req, out := c.OutputService5TestCaseOperation1Request(input)
   822  	return out, req.Send()
   823  }
   824  
   825  // OutputService5TestCaseOperation1WithContext is the same as OutputService5TestCaseOperation1 with the addition of
   826  // the ability to pass a context and additional request options.
   827  //
   828  // See OutputService5TestCaseOperation1 for details on how to use this API operation.
   829  //
   830  // The context must be non-nil and will be used for request cancellation. If
   831  // the context is nil a panic will occur. In the future the SDK may create
   832  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   833  // for more information on using Contexts.
   834  func (c *OutputService5ProtocolTest) OutputService5TestCaseOperation1WithContext(ctx aws.Context, input *OutputService5TestShapeOutputService5TestCaseOperation1Input, opts ...request.Option) (*OutputService5TestShapeOutputService5TestCaseOperation1Output, error) {
   835  	req, out := c.OutputService5TestCaseOperation1Request(input)
   836  	req.SetContext(ctx)
   837  	req.ApplyOptions(opts...)
   838  	return out, req.Send()
   839  }
   840  
   841  type OutputService5TestShapeOutputService5TestCaseOperation1Input struct {
   842  	_ struct{} `type:"structure"`
   843  }
   844  
   845  type OutputService5TestShapeOutputService5TestCaseOperation1Output struct {
   846  	_ struct{} `type:"structure"`
   847  
   848  	ListMember []*string `locationNameList:"item" type:"list"`
   849  }
   850  
   851  // SetListMember sets the ListMember field's value.
   852  func (s *OutputService5TestShapeOutputService5TestCaseOperation1Output) SetListMember(v []*string) *OutputService5TestShapeOutputService5TestCaseOperation1Output {
   853  	s.ListMember = v
   854  	return s
   855  }
   856  
   857  // OutputService6ProtocolTest provides the API operation methods for making requests to
   858  // . See this package's package overview docs
   859  // for details on the service.
   860  //
   861  // OutputService6ProtocolTest methods are safe to use concurrently. It is not safe to
   862  // modify mutate any of the struct's properties though.
   863  type OutputService6ProtocolTest struct {
   864  	*client.Client
   865  }
   866  
   867  // New creates a new instance of the OutputService6ProtocolTest client with a session.
   868  // If additional configuration is needed for the client instance use the optional
   869  // aws.Config parameter to add your extra config.
   870  //
   871  // Example:
   872  //     mySession := session.Must(session.NewSession())
   873  //
   874  //     // Create a OutputService6ProtocolTest client from just a session.
   875  //     svc := outputservice6protocoltest.New(mySession)
   876  //
   877  //     // Create a OutputService6ProtocolTest client with additional configuration
   878  //     svc := outputservice6protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
   879  func NewOutputService6ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService6ProtocolTest {
   880  	c := p.ClientConfig("outputservice6protocoltest", cfgs...)
   881  	return newOutputService6ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
   882  }
   883  
   884  // newClient creates, initializes and returns a new service client instance.
   885  func newOutputService6ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService6ProtocolTest {
   886  	svc := &OutputService6ProtocolTest{
   887  		Client: client.New(
   888  			cfg,
   889  			metadata.ClientInfo{
   890  				ServiceName:   "OutputService6ProtocolTest",
   891  				ServiceID:     "OutputService6ProtocolTest",
   892  				SigningName:   signingName,
   893  				SigningRegion: signingRegion,
   894  				PartitionID:   partitionID,
   895  				Endpoint:      endpoint,
   896  				APIVersion:    "",
   897  			},
   898  			handlers,
   899  		),
   900  	}
   901  
   902  	// Handlers
   903  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
   904  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
   905  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
   906  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
   907  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
   908  
   909  	return svc
   910  }
   911  
   912  // newRequest creates a new request for a OutputService6ProtocolTest operation and runs any
   913  // custom request initialization.
   914  func (c *OutputService6ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
   915  	req := c.NewRequest(op, params, data)
   916  
   917  	return req
   918  }
   919  
   920  const opOutputService6TestCaseOperation1 = "OperationName"
   921  
   922  // OutputService6TestCaseOperation1Request generates a "aws/request.Request" representing the
   923  // client's request for the OutputService6TestCaseOperation1 operation. The "output" return
   924  // value will be populated with the request's response once the request completes
   925  // successfully.
   926  //
   927  // Use "Send" method on the returned Request to send the API call to the service.
   928  // the "output" return value is not valid until after Send returns without error.
   929  //
   930  // See OutputService6TestCaseOperation1 for more information on using the OutputService6TestCaseOperation1
   931  // API call, and error handling.
   932  //
   933  // This method is useful when you want to inject custom logic or configuration
   934  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   935  //
   936  //
   937  //    // Example sending a request using the OutputService6TestCaseOperation1Request method.
   938  //    req, resp := client.OutputService6TestCaseOperation1Request(params)
   939  //
   940  //    err := req.Send()
   941  //    if err == nil { // resp is now filled
   942  //        fmt.Println(resp)
   943  //    }
   944  func (c *OutputService6ProtocolTest) OutputService6TestCaseOperation1Request(input *OutputService6TestShapeOutputService6TestCaseOperation1Input) (req *request.Request, output *OutputService6TestShapeOutputService6TestCaseOperation1Output) {
   945  	op := &request.Operation{
   946  		Name:     opOutputService6TestCaseOperation1,
   947  		HTTPPath: "/",
   948  	}
   949  
   950  	if input == nil {
   951  		input = &OutputService6TestShapeOutputService6TestCaseOperation1Input{}
   952  	}
   953  
   954  	output = &OutputService6TestShapeOutputService6TestCaseOperation1Output{}
   955  	req = c.newRequest(op, input, output)
   956  	return
   957  }
   958  
   959  // OutputService6TestCaseOperation1 API operation for .
   960  //
   961  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   962  // with awserr.Error's Code and Message methods to get detailed information about
   963  // the error.
   964  //
   965  // See the AWS API reference guide for 's
   966  // API operation OutputService6TestCaseOperation1 for usage and error information.
   967  func (c *OutputService6ProtocolTest) OutputService6TestCaseOperation1(input *OutputService6TestShapeOutputService6TestCaseOperation1Input) (*OutputService6TestShapeOutputService6TestCaseOperation1Output, error) {
   968  	req, out := c.OutputService6TestCaseOperation1Request(input)
   969  	return out, req.Send()
   970  }
   971  
   972  // OutputService6TestCaseOperation1WithContext is the same as OutputService6TestCaseOperation1 with the addition of
   973  // the ability to pass a context and additional request options.
   974  //
   975  // See OutputService6TestCaseOperation1 for details on how to use this API operation.
   976  //
   977  // The context must be non-nil and will be used for request cancellation. If
   978  // the context is nil a panic will occur. In the future the SDK may create
   979  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   980  // for more information on using Contexts.
   981  func (c *OutputService6ProtocolTest) OutputService6TestCaseOperation1WithContext(ctx aws.Context, input *OutputService6TestShapeOutputService6TestCaseOperation1Input, opts ...request.Option) (*OutputService6TestShapeOutputService6TestCaseOperation1Output, error) {
   982  	req, out := c.OutputService6TestCaseOperation1Request(input)
   983  	req.SetContext(ctx)
   984  	req.ApplyOptions(opts...)
   985  	return out, req.Send()
   986  }
   987  
   988  type OutputService6TestShapeOutputService6TestCaseOperation1Input struct {
   989  	_ struct{} `type:"structure"`
   990  }
   991  
   992  type OutputService6TestShapeOutputService6TestCaseOperation1Output struct {
   993  	_ struct{} `type:"structure"`
   994  
   995  	ListMember []*string `type:"list" flattened:"true"`
   996  }
   997  
   998  // SetListMember sets the ListMember field's value.
   999  func (s *OutputService6TestShapeOutputService6TestCaseOperation1Output) SetListMember(v []*string) *OutputService6TestShapeOutputService6TestCaseOperation1Output {
  1000  	s.ListMember = v
  1001  	return s
  1002  }
  1003  
  1004  // OutputService7ProtocolTest provides the API operation methods for making requests to
  1005  // . See this package's package overview docs
  1006  // for details on the service.
  1007  //
  1008  // OutputService7ProtocolTest methods are safe to use concurrently. It is not safe to
  1009  // modify mutate any of the struct's properties though.
  1010  type OutputService7ProtocolTest struct {
  1011  	*client.Client
  1012  }
  1013  
  1014  // New creates a new instance of the OutputService7ProtocolTest client with a session.
  1015  // If additional configuration is needed for the client instance use the optional
  1016  // aws.Config parameter to add your extra config.
  1017  //
  1018  // Example:
  1019  //     mySession := session.Must(session.NewSession())
  1020  //
  1021  //     // Create a OutputService7ProtocolTest client from just a session.
  1022  //     svc := outputservice7protocoltest.New(mySession)
  1023  //
  1024  //     // Create a OutputService7ProtocolTest client with additional configuration
  1025  //     svc := outputservice7protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
  1026  func NewOutputService7ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService7ProtocolTest {
  1027  	c := p.ClientConfig("outputservice7protocoltest", cfgs...)
  1028  	return newOutputService7ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
  1029  }
  1030  
  1031  // newClient creates, initializes and returns a new service client instance.
  1032  func newOutputService7ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService7ProtocolTest {
  1033  	svc := &OutputService7ProtocolTest{
  1034  		Client: client.New(
  1035  			cfg,
  1036  			metadata.ClientInfo{
  1037  				ServiceName:   "OutputService7ProtocolTest",
  1038  				ServiceID:     "OutputService7ProtocolTest",
  1039  				SigningName:   signingName,
  1040  				SigningRegion: signingRegion,
  1041  				PartitionID:   partitionID,
  1042  				Endpoint:      endpoint,
  1043  				APIVersion:    "",
  1044  			},
  1045  			handlers,
  1046  		),
  1047  	}
  1048  
  1049  	// Handlers
  1050  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
  1051  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
  1052  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
  1053  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
  1054  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
  1055  
  1056  	return svc
  1057  }
  1058  
  1059  // newRequest creates a new request for a OutputService7ProtocolTest operation and runs any
  1060  // custom request initialization.
  1061  func (c *OutputService7ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  1062  	req := c.NewRequest(op, params, data)
  1063  
  1064  	return req
  1065  }
  1066  
  1067  const opOutputService7TestCaseOperation1 = "OperationName"
  1068  
  1069  // OutputService7TestCaseOperation1Request generates a "aws/request.Request" representing the
  1070  // client's request for the OutputService7TestCaseOperation1 operation. The "output" return
  1071  // value will be populated with the request's response once the request completes
  1072  // successfully.
  1073  //
  1074  // Use "Send" method on the returned Request to send the API call to the service.
  1075  // the "output" return value is not valid until after Send returns without error.
  1076  //
  1077  // See OutputService7TestCaseOperation1 for more information on using the OutputService7TestCaseOperation1
  1078  // API call, and error handling.
  1079  //
  1080  // This method is useful when you want to inject custom logic or configuration
  1081  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1082  //
  1083  //
  1084  //    // Example sending a request using the OutputService7TestCaseOperation1Request method.
  1085  //    req, resp := client.OutputService7TestCaseOperation1Request(params)
  1086  //
  1087  //    err := req.Send()
  1088  //    if err == nil { // resp is now filled
  1089  //        fmt.Println(resp)
  1090  //    }
  1091  func (c *OutputService7ProtocolTest) OutputService7TestCaseOperation1Request(input *OutputService7TestShapeOutputService7TestCaseOperation1Input) (req *request.Request, output *OutputService7TestShapeOutputService7TestCaseOperation1Output) {
  1092  	op := &request.Operation{
  1093  		Name:     opOutputService7TestCaseOperation1,
  1094  		HTTPPath: "/",
  1095  	}
  1096  
  1097  	if input == nil {
  1098  		input = &OutputService7TestShapeOutputService7TestCaseOperation1Input{}
  1099  	}
  1100  
  1101  	output = &OutputService7TestShapeOutputService7TestCaseOperation1Output{}
  1102  	req = c.newRequest(op, input, output)
  1103  	return
  1104  }
  1105  
  1106  // OutputService7TestCaseOperation1 API operation for .
  1107  //
  1108  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1109  // with awserr.Error's Code and Message methods to get detailed information about
  1110  // the error.
  1111  //
  1112  // See the AWS API reference guide for 's
  1113  // API operation OutputService7TestCaseOperation1 for usage and error information.
  1114  func (c *OutputService7ProtocolTest) OutputService7TestCaseOperation1(input *OutputService7TestShapeOutputService7TestCaseOperation1Input) (*OutputService7TestShapeOutputService7TestCaseOperation1Output, error) {
  1115  	req, out := c.OutputService7TestCaseOperation1Request(input)
  1116  	return out, req.Send()
  1117  }
  1118  
  1119  // OutputService7TestCaseOperation1WithContext is the same as OutputService7TestCaseOperation1 with the addition of
  1120  // the ability to pass a context and additional request options.
  1121  //
  1122  // See OutputService7TestCaseOperation1 for details on how to use this API operation.
  1123  //
  1124  // The context must be non-nil and will be used for request cancellation. If
  1125  // the context is nil a panic will occur. In the future the SDK may create
  1126  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1127  // for more information on using Contexts.
  1128  func (c *OutputService7ProtocolTest) OutputService7TestCaseOperation1WithContext(ctx aws.Context, input *OutputService7TestShapeOutputService7TestCaseOperation1Input, opts ...request.Option) (*OutputService7TestShapeOutputService7TestCaseOperation1Output, error) {
  1129  	req, out := c.OutputService7TestCaseOperation1Request(input)
  1130  	req.SetContext(ctx)
  1131  	req.ApplyOptions(opts...)
  1132  	return out, req.Send()
  1133  }
  1134  
  1135  type OutputService7TestShapeOutputService7TestCaseOperation1Input struct {
  1136  	_ struct{} `type:"structure"`
  1137  }
  1138  
  1139  type OutputService7TestShapeOutputService7TestCaseOperation1Output struct {
  1140  	_ struct{} `type:"structure"`
  1141  
  1142  	ListMember []*string `type:"list" flattened:"true"`
  1143  }
  1144  
  1145  // SetListMember sets the ListMember field's value.
  1146  func (s *OutputService7TestShapeOutputService7TestCaseOperation1Output) SetListMember(v []*string) *OutputService7TestShapeOutputService7TestCaseOperation1Output {
  1147  	s.ListMember = v
  1148  	return s
  1149  }
  1150  
  1151  // OutputService8ProtocolTest provides the API operation methods for making requests to
  1152  // . See this package's package overview docs
  1153  // for details on the service.
  1154  //
  1155  // OutputService8ProtocolTest methods are safe to use concurrently. It is not safe to
  1156  // modify mutate any of the struct's properties though.
  1157  type OutputService8ProtocolTest struct {
  1158  	*client.Client
  1159  }
  1160  
  1161  // New creates a new instance of the OutputService8ProtocolTest client with a session.
  1162  // If additional configuration is needed for the client instance use the optional
  1163  // aws.Config parameter to add your extra config.
  1164  //
  1165  // Example:
  1166  //     mySession := session.Must(session.NewSession())
  1167  //
  1168  //     // Create a OutputService8ProtocolTest client from just a session.
  1169  //     svc := outputservice8protocoltest.New(mySession)
  1170  //
  1171  //     // Create a OutputService8ProtocolTest client with additional configuration
  1172  //     svc := outputservice8protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
  1173  func NewOutputService8ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService8ProtocolTest {
  1174  	c := p.ClientConfig("outputservice8protocoltest", cfgs...)
  1175  	return newOutputService8ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
  1176  }
  1177  
  1178  // newClient creates, initializes and returns a new service client instance.
  1179  func newOutputService8ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService8ProtocolTest {
  1180  	svc := &OutputService8ProtocolTest{
  1181  		Client: client.New(
  1182  			cfg,
  1183  			metadata.ClientInfo{
  1184  				ServiceName:   "OutputService8ProtocolTest",
  1185  				ServiceID:     "OutputService8ProtocolTest",
  1186  				SigningName:   signingName,
  1187  				SigningRegion: signingRegion,
  1188  				PartitionID:   partitionID,
  1189  				Endpoint:      endpoint,
  1190  				APIVersion:    "",
  1191  			},
  1192  			handlers,
  1193  		),
  1194  	}
  1195  
  1196  	// Handlers
  1197  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
  1198  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
  1199  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
  1200  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
  1201  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
  1202  
  1203  	return svc
  1204  }
  1205  
  1206  // newRequest creates a new request for a OutputService8ProtocolTest operation and runs any
  1207  // custom request initialization.
  1208  func (c *OutputService8ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  1209  	req := c.NewRequest(op, params, data)
  1210  
  1211  	return req
  1212  }
  1213  
  1214  const opOutputService8TestCaseOperation1 = "OperationName"
  1215  
  1216  // OutputService8TestCaseOperation1Request generates a "aws/request.Request" representing the
  1217  // client's request for the OutputService8TestCaseOperation1 operation. The "output" return
  1218  // value will be populated with the request's response once the request completes
  1219  // successfully.
  1220  //
  1221  // Use "Send" method on the returned Request to send the API call to the service.
  1222  // the "output" return value is not valid until after Send returns without error.
  1223  //
  1224  // See OutputService8TestCaseOperation1 for more information on using the OutputService8TestCaseOperation1
  1225  // API call, and error handling.
  1226  //
  1227  // This method is useful when you want to inject custom logic or configuration
  1228  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1229  //
  1230  //
  1231  //    // Example sending a request using the OutputService8TestCaseOperation1Request method.
  1232  //    req, resp := client.OutputService8TestCaseOperation1Request(params)
  1233  //
  1234  //    err := req.Send()
  1235  //    if err == nil { // resp is now filled
  1236  //        fmt.Println(resp)
  1237  //    }
  1238  func (c *OutputService8ProtocolTest) OutputService8TestCaseOperation1Request(input *OutputService8TestShapeOutputService8TestCaseOperation1Input) (req *request.Request, output *OutputService8TestShapeOutputService8TestCaseOperation1Output) {
  1239  	op := &request.Operation{
  1240  		Name:     opOutputService8TestCaseOperation1,
  1241  		HTTPPath: "/",
  1242  	}
  1243  
  1244  	if input == nil {
  1245  		input = &OutputService8TestShapeOutputService8TestCaseOperation1Input{}
  1246  	}
  1247  
  1248  	output = &OutputService8TestShapeOutputService8TestCaseOperation1Output{}
  1249  	req = c.newRequest(op, input, output)
  1250  	return
  1251  }
  1252  
  1253  // OutputService8TestCaseOperation1 API operation for .
  1254  //
  1255  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1256  // with awserr.Error's Code and Message methods to get detailed information about
  1257  // the error.
  1258  //
  1259  // See the AWS API reference guide for 's
  1260  // API operation OutputService8TestCaseOperation1 for usage and error information.
  1261  func (c *OutputService8ProtocolTest) OutputService8TestCaseOperation1(input *OutputService8TestShapeOutputService8TestCaseOperation1Input) (*OutputService8TestShapeOutputService8TestCaseOperation1Output, error) {
  1262  	req, out := c.OutputService8TestCaseOperation1Request(input)
  1263  	return out, req.Send()
  1264  }
  1265  
  1266  // OutputService8TestCaseOperation1WithContext is the same as OutputService8TestCaseOperation1 with the addition of
  1267  // the ability to pass a context and additional request options.
  1268  //
  1269  // See OutputService8TestCaseOperation1 for details on how to use this API operation.
  1270  //
  1271  // The context must be non-nil and will be used for request cancellation. If
  1272  // the context is nil a panic will occur. In the future the SDK may create
  1273  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1274  // for more information on using Contexts.
  1275  func (c *OutputService8ProtocolTest) OutputService8TestCaseOperation1WithContext(ctx aws.Context, input *OutputService8TestShapeOutputService8TestCaseOperation1Input, opts ...request.Option) (*OutputService8TestShapeOutputService8TestCaseOperation1Output, error) {
  1276  	req, out := c.OutputService8TestCaseOperation1Request(input)
  1277  	req.SetContext(ctx)
  1278  	req.ApplyOptions(opts...)
  1279  	return out, req.Send()
  1280  }
  1281  
  1282  type OutputService8TestShapeOutputService8TestCaseOperation1Input struct {
  1283  	_ struct{} `type:"structure"`
  1284  }
  1285  
  1286  type OutputService8TestShapeOutputService8TestCaseOperation1Output struct {
  1287  	_ struct{} `type:"structure"`
  1288  
  1289  	List []*OutputService8TestShapeStructureShape `type:"list"`
  1290  }
  1291  
  1292  // SetList sets the List field's value.
  1293  func (s *OutputService8TestShapeOutputService8TestCaseOperation1Output) SetList(v []*OutputService8TestShapeStructureShape) *OutputService8TestShapeOutputService8TestCaseOperation1Output {
  1294  	s.List = v
  1295  	return s
  1296  }
  1297  
  1298  type OutputService8TestShapeStructureShape struct {
  1299  	_ struct{} `type:"structure"`
  1300  
  1301  	Bar *string `type:"string"`
  1302  
  1303  	Baz *string `type:"string"`
  1304  
  1305  	Foo *string `type:"string"`
  1306  }
  1307  
  1308  // SetBar sets the Bar field's value.
  1309  func (s *OutputService8TestShapeStructureShape) SetBar(v string) *OutputService8TestShapeStructureShape {
  1310  	s.Bar = &v
  1311  	return s
  1312  }
  1313  
  1314  // SetBaz sets the Baz field's value.
  1315  func (s *OutputService8TestShapeStructureShape) SetBaz(v string) *OutputService8TestShapeStructureShape {
  1316  	s.Baz = &v
  1317  	return s
  1318  }
  1319  
  1320  // SetFoo sets the Foo field's value.
  1321  func (s *OutputService8TestShapeStructureShape) SetFoo(v string) *OutputService8TestShapeStructureShape {
  1322  	s.Foo = &v
  1323  	return s
  1324  }
  1325  
  1326  // OutputService9ProtocolTest provides the API operation methods for making requests to
  1327  // . See this package's package overview docs
  1328  // for details on the service.
  1329  //
  1330  // OutputService9ProtocolTest methods are safe to use concurrently. It is not safe to
  1331  // modify mutate any of the struct's properties though.
  1332  type OutputService9ProtocolTest struct {
  1333  	*client.Client
  1334  }
  1335  
  1336  // New creates a new instance of the OutputService9ProtocolTest client with a session.
  1337  // If additional configuration is needed for the client instance use the optional
  1338  // aws.Config parameter to add your extra config.
  1339  //
  1340  // Example:
  1341  //     mySession := session.Must(session.NewSession())
  1342  //
  1343  //     // Create a OutputService9ProtocolTest client from just a session.
  1344  //     svc := outputservice9protocoltest.New(mySession)
  1345  //
  1346  //     // Create a OutputService9ProtocolTest client with additional configuration
  1347  //     svc := outputservice9protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
  1348  func NewOutputService9ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService9ProtocolTest {
  1349  	c := p.ClientConfig("outputservice9protocoltest", cfgs...)
  1350  	return newOutputService9ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
  1351  }
  1352  
  1353  // newClient creates, initializes and returns a new service client instance.
  1354  func newOutputService9ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService9ProtocolTest {
  1355  	svc := &OutputService9ProtocolTest{
  1356  		Client: client.New(
  1357  			cfg,
  1358  			metadata.ClientInfo{
  1359  				ServiceName:   "OutputService9ProtocolTest",
  1360  				ServiceID:     "OutputService9ProtocolTest",
  1361  				SigningName:   signingName,
  1362  				SigningRegion: signingRegion,
  1363  				PartitionID:   partitionID,
  1364  				Endpoint:      endpoint,
  1365  				APIVersion:    "",
  1366  			},
  1367  			handlers,
  1368  		),
  1369  	}
  1370  
  1371  	// Handlers
  1372  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
  1373  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
  1374  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
  1375  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
  1376  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
  1377  
  1378  	return svc
  1379  }
  1380  
  1381  // newRequest creates a new request for a OutputService9ProtocolTest operation and runs any
  1382  // custom request initialization.
  1383  func (c *OutputService9ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  1384  	req := c.NewRequest(op, params, data)
  1385  
  1386  	return req
  1387  }
  1388  
  1389  const opOutputService9TestCaseOperation1 = "OperationName"
  1390  
  1391  // OutputService9TestCaseOperation1Request generates a "aws/request.Request" representing the
  1392  // client's request for the OutputService9TestCaseOperation1 operation. The "output" return
  1393  // value will be populated with the request's response once the request completes
  1394  // successfully.
  1395  //
  1396  // Use "Send" method on the returned Request to send the API call to the service.
  1397  // the "output" return value is not valid until after Send returns without error.
  1398  //
  1399  // See OutputService9TestCaseOperation1 for more information on using the OutputService9TestCaseOperation1
  1400  // API call, and error handling.
  1401  //
  1402  // This method is useful when you want to inject custom logic or configuration
  1403  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1404  //
  1405  //
  1406  //    // Example sending a request using the OutputService9TestCaseOperation1Request method.
  1407  //    req, resp := client.OutputService9TestCaseOperation1Request(params)
  1408  //
  1409  //    err := req.Send()
  1410  //    if err == nil { // resp is now filled
  1411  //        fmt.Println(resp)
  1412  //    }
  1413  func (c *OutputService9ProtocolTest) OutputService9TestCaseOperation1Request(input *OutputService9TestShapeOutputService9TestCaseOperation1Input) (req *request.Request, output *OutputService9TestShapeOutputService9TestCaseOperation1Output) {
  1414  	op := &request.Operation{
  1415  		Name:     opOutputService9TestCaseOperation1,
  1416  		HTTPPath: "/",
  1417  	}
  1418  
  1419  	if input == nil {
  1420  		input = &OutputService9TestShapeOutputService9TestCaseOperation1Input{}
  1421  	}
  1422  
  1423  	output = &OutputService9TestShapeOutputService9TestCaseOperation1Output{}
  1424  	req = c.newRequest(op, input, output)
  1425  	return
  1426  }
  1427  
  1428  // OutputService9TestCaseOperation1 API operation for .
  1429  //
  1430  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1431  // with awserr.Error's Code and Message methods to get detailed information about
  1432  // the error.
  1433  //
  1434  // See the AWS API reference guide for 's
  1435  // API operation OutputService9TestCaseOperation1 for usage and error information.
  1436  func (c *OutputService9ProtocolTest) OutputService9TestCaseOperation1(input *OutputService9TestShapeOutputService9TestCaseOperation1Input) (*OutputService9TestShapeOutputService9TestCaseOperation1Output, error) {
  1437  	req, out := c.OutputService9TestCaseOperation1Request(input)
  1438  	return out, req.Send()
  1439  }
  1440  
  1441  // OutputService9TestCaseOperation1WithContext is the same as OutputService9TestCaseOperation1 with the addition of
  1442  // the ability to pass a context and additional request options.
  1443  //
  1444  // See OutputService9TestCaseOperation1 for details on how to use this API operation.
  1445  //
  1446  // The context must be non-nil and will be used for request cancellation. If
  1447  // the context is nil a panic will occur. In the future the SDK may create
  1448  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1449  // for more information on using Contexts.
  1450  func (c *OutputService9ProtocolTest) OutputService9TestCaseOperation1WithContext(ctx aws.Context, input *OutputService9TestShapeOutputService9TestCaseOperation1Input, opts ...request.Option) (*OutputService9TestShapeOutputService9TestCaseOperation1Output, error) {
  1451  	req, out := c.OutputService9TestCaseOperation1Request(input)
  1452  	req.SetContext(ctx)
  1453  	req.ApplyOptions(opts...)
  1454  	return out, req.Send()
  1455  }
  1456  
  1457  type OutputService9TestShapeOutputService9TestCaseOperation1Input struct {
  1458  	_ struct{} `type:"structure"`
  1459  }
  1460  
  1461  type OutputService9TestShapeOutputService9TestCaseOperation1Output struct {
  1462  	_ struct{} `type:"structure"`
  1463  
  1464  	List []*OutputService9TestShapeStructureShape `type:"list" flattened:"true"`
  1465  }
  1466  
  1467  // SetList sets the List field's value.
  1468  func (s *OutputService9TestShapeOutputService9TestCaseOperation1Output) SetList(v []*OutputService9TestShapeStructureShape) *OutputService9TestShapeOutputService9TestCaseOperation1Output {
  1469  	s.List = v
  1470  	return s
  1471  }
  1472  
  1473  type OutputService9TestShapeStructureShape struct {
  1474  	_ struct{} `type:"structure"`
  1475  
  1476  	Bar *string `type:"string"`
  1477  
  1478  	Baz *string `type:"string"`
  1479  
  1480  	Foo *string `type:"string"`
  1481  }
  1482  
  1483  // SetBar sets the Bar field's value.
  1484  func (s *OutputService9TestShapeStructureShape) SetBar(v string) *OutputService9TestShapeStructureShape {
  1485  	s.Bar = &v
  1486  	return s
  1487  }
  1488  
  1489  // SetBaz sets the Baz field's value.
  1490  func (s *OutputService9TestShapeStructureShape) SetBaz(v string) *OutputService9TestShapeStructureShape {
  1491  	s.Baz = &v
  1492  	return s
  1493  }
  1494  
  1495  // SetFoo sets the Foo field's value.
  1496  func (s *OutputService9TestShapeStructureShape) SetFoo(v string) *OutputService9TestShapeStructureShape {
  1497  	s.Foo = &v
  1498  	return s
  1499  }
  1500  
  1501  // OutputService10ProtocolTest provides the API operation methods for making requests to
  1502  // . See this package's package overview docs
  1503  // for details on the service.
  1504  //
  1505  // OutputService10ProtocolTest methods are safe to use concurrently. It is not safe to
  1506  // modify mutate any of the struct's properties though.
  1507  type OutputService10ProtocolTest struct {
  1508  	*client.Client
  1509  }
  1510  
  1511  // New creates a new instance of the OutputService10ProtocolTest client with a session.
  1512  // If additional configuration is needed for the client instance use the optional
  1513  // aws.Config parameter to add your extra config.
  1514  //
  1515  // Example:
  1516  //     mySession := session.Must(session.NewSession())
  1517  //
  1518  //     // Create a OutputService10ProtocolTest client from just a session.
  1519  //     svc := outputservice10protocoltest.New(mySession)
  1520  //
  1521  //     // Create a OutputService10ProtocolTest client with additional configuration
  1522  //     svc := outputservice10protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
  1523  func NewOutputService10ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService10ProtocolTest {
  1524  	c := p.ClientConfig("outputservice10protocoltest", cfgs...)
  1525  	return newOutputService10ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
  1526  }
  1527  
  1528  // newClient creates, initializes and returns a new service client instance.
  1529  func newOutputService10ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService10ProtocolTest {
  1530  	svc := &OutputService10ProtocolTest{
  1531  		Client: client.New(
  1532  			cfg,
  1533  			metadata.ClientInfo{
  1534  				ServiceName:   "OutputService10ProtocolTest",
  1535  				ServiceID:     "OutputService10ProtocolTest",
  1536  				SigningName:   signingName,
  1537  				SigningRegion: signingRegion,
  1538  				PartitionID:   partitionID,
  1539  				Endpoint:      endpoint,
  1540  				APIVersion:    "",
  1541  			},
  1542  			handlers,
  1543  		),
  1544  	}
  1545  
  1546  	// Handlers
  1547  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
  1548  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
  1549  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
  1550  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
  1551  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
  1552  
  1553  	return svc
  1554  }
  1555  
  1556  // newRequest creates a new request for a OutputService10ProtocolTest operation and runs any
  1557  // custom request initialization.
  1558  func (c *OutputService10ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  1559  	req := c.NewRequest(op, params, data)
  1560  
  1561  	return req
  1562  }
  1563  
  1564  const opOutputService10TestCaseOperation1 = "OperationName"
  1565  
  1566  // OutputService10TestCaseOperation1Request generates a "aws/request.Request" representing the
  1567  // client's request for the OutputService10TestCaseOperation1 operation. The "output" return
  1568  // value will be populated with the request's response once the request completes
  1569  // successfully.
  1570  //
  1571  // Use "Send" method on the returned Request to send the API call to the service.
  1572  // the "output" return value is not valid until after Send returns without error.
  1573  //
  1574  // See OutputService10TestCaseOperation1 for more information on using the OutputService10TestCaseOperation1
  1575  // API call, and error handling.
  1576  //
  1577  // This method is useful when you want to inject custom logic or configuration
  1578  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1579  //
  1580  //
  1581  //    // Example sending a request using the OutputService10TestCaseOperation1Request method.
  1582  //    req, resp := client.OutputService10TestCaseOperation1Request(params)
  1583  //
  1584  //    err := req.Send()
  1585  //    if err == nil { // resp is now filled
  1586  //        fmt.Println(resp)
  1587  //    }
  1588  func (c *OutputService10ProtocolTest) OutputService10TestCaseOperation1Request(input *OutputService10TestShapeOutputService10TestCaseOperation1Input) (req *request.Request, output *OutputService10TestShapeOutputService10TestCaseOperation1Output) {
  1589  	op := &request.Operation{
  1590  		Name:     opOutputService10TestCaseOperation1,
  1591  		HTTPPath: "/",
  1592  	}
  1593  
  1594  	if input == nil {
  1595  		input = &OutputService10TestShapeOutputService10TestCaseOperation1Input{}
  1596  	}
  1597  
  1598  	output = &OutputService10TestShapeOutputService10TestCaseOperation1Output{}
  1599  	req = c.newRequest(op, input, output)
  1600  	return
  1601  }
  1602  
  1603  // OutputService10TestCaseOperation1 API operation for .
  1604  //
  1605  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1606  // with awserr.Error's Code and Message methods to get detailed information about
  1607  // the error.
  1608  //
  1609  // See the AWS API reference guide for 's
  1610  // API operation OutputService10TestCaseOperation1 for usage and error information.
  1611  func (c *OutputService10ProtocolTest) OutputService10TestCaseOperation1(input *OutputService10TestShapeOutputService10TestCaseOperation1Input) (*OutputService10TestShapeOutputService10TestCaseOperation1Output, error) {
  1612  	req, out := c.OutputService10TestCaseOperation1Request(input)
  1613  	return out, req.Send()
  1614  }
  1615  
  1616  // OutputService10TestCaseOperation1WithContext is the same as OutputService10TestCaseOperation1 with the addition of
  1617  // the ability to pass a context and additional request options.
  1618  //
  1619  // See OutputService10TestCaseOperation1 for details on how to use this API operation.
  1620  //
  1621  // The context must be non-nil and will be used for request cancellation. If
  1622  // the context is nil a panic will occur. In the future the SDK may create
  1623  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1624  // for more information on using Contexts.
  1625  func (c *OutputService10ProtocolTest) OutputService10TestCaseOperation1WithContext(ctx aws.Context, input *OutputService10TestShapeOutputService10TestCaseOperation1Input, opts ...request.Option) (*OutputService10TestShapeOutputService10TestCaseOperation1Output, error) {
  1626  	req, out := c.OutputService10TestCaseOperation1Request(input)
  1627  	req.SetContext(ctx)
  1628  	req.ApplyOptions(opts...)
  1629  	return out, req.Send()
  1630  }
  1631  
  1632  type OutputService10TestShapeOutputService10TestCaseOperation1Input struct {
  1633  	_ struct{} `type:"structure"`
  1634  }
  1635  
  1636  type OutputService10TestShapeOutputService10TestCaseOperation1Output struct {
  1637  	_ struct{} `type:"structure"`
  1638  
  1639  	List []*string `locationNameList:"NamedList" type:"list" flattened:"true"`
  1640  }
  1641  
  1642  // SetList sets the List field's value.
  1643  func (s *OutputService10TestShapeOutputService10TestCaseOperation1Output) SetList(v []*string) *OutputService10TestShapeOutputService10TestCaseOperation1Output {
  1644  	s.List = v
  1645  	return s
  1646  }
  1647  
  1648  // OutputService11ProtocolTest provides the API operation methods for making requests to
  1649  // . See this package's package overview docs
  1650  // for details on the service.
  1651  //
  1652  // OutputService11ProtocolTest methods are safe to use concurrently. It is not safe to
  1653  // modify mutate any of the struct's properties though.
  1654  type OutputService11ProtocolTest struct {
  1655  	*client.Client
  1656  }
  1657  
  1658  // New creates a new instance of the OutputService11ProtocolTest client with a session.
  1659  // If additional configuration is needed for the client instance use the optional
  1660  // aws.Config parameter to add your extra config.
  1661  //
  1662  // Example:
  1663  //     mySession := session.Must(session.NewSession())
  1664  //
  1665  //     // Create a OutputService11ProtocolTest client from just a session.
  1666  //     svc := outputservice11protocoltest.New(mySession)
  1667  //
  1668  //     // Create a OutputService11ProtocolTest client with additional configuration
  1669  //     svc := outputservice11protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
  1670  func NewOutputService11ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService11ProtocolTest {
  1671  	c := p.ClientConfig("outputservice11protocoltest", cfgs...)
  1672  	return newOutputService11ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
  1673  }
  1674  
  1675  // newClient creates, initializes and returns a new service client instance.
  1676  func newOutputService11ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService11ProtocolTest {
  1677  	svc := &OutputService11ProtocolTest{
  1678  		Client: client.New(
  1679  			cfg,
  1680  			metadata.ClientInfo{
  1681  				ServiceName:   "OutputService11ProtocolTest",
  1682  				ServiceID:     "OutputService11ProtocolTest",
  1683  				SigningName:   signingName,
  1684  				SigningRegion: signingRegion,
  1685  				PartitionID:   partitionID,
  1686  				Endpoint:      endpoint,
  1687  				APIVersion:    "",
  1688  			},
  1689  			handlers,
  1690  		),
  1691  	}
  1692  
  1693  	// Handlers
  1694  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
  1695  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
  1696  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
  1697  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
  1698  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
  1699  
  1700  	return svc
  1701  }
  1702  
  1703  // newRequest creates a new request for a OutputService11ProtocolTest operation and runs any
  1704  // custom request initialization.
  1705  func (c *OutputService11ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  1706  	req := c.NewRequest(op, params, data)
  1707  
  1708  	return req
  1709  }
  1710  
  1711  const opOutputService11TestCaseOperation1 = "OperationName"
  1712  
  1713  // OutputService11TestCaseOperation1Request generates a "aws/request.Request" representing the
  1714  // client's request for the OutputService11TestCaseOperation1 operation. The "output" return
  1715  // value will be populated with the request's response once the request completes
  1716  // successfully.
  1717  //
  1718  // Use "Send" method on the returned Request to send the API call to the service.
  1719  // the "output" return value is not valid until after Send returns without error.
  1720  //
  1721  // See OutputService11TestCaseOperation1 for more information on using the OutputService11TestCaseOperation1
  1722  // API call, and error handling.
  1723  //
  1724  // This method is useful when you want to inject custom logic or configuration
  1725  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1726  //
  1727  //
  1728  //    // Example sending a request using the OutputService11TestCaseOperation1Request method.
  1729  //    req, resp := client.OutputService11TestCaseOperation1Request(params)
  1730  //
  1731  //    err := req.Send()
  1732  //    if err == nil { // resp is now filled
  1733  //        fmt.Println(resp)
  1734  //    }
  1735  func (c *OutputService11ProtocolTest) OutputService11TestCaseOperation1Request(input *OutputService11TestShapeOutputService11TestCaseOperation1Input) (req *request.Request, output *OutputService11TestShapeOutputService11TestCaseOperation1Output) {
  1736  	op := &request.Operation{
  1737  		Name:     opOutputService11TestCaseOperation1,
  1738  		HTTPPath: "/",
  1739  	}
  1740  
  1741  	if input == nil {
  1742  		input = &OutputService11TestShapeOutputService11TestCaseOperation1Input{}
  1743  	}
  1744  
  1745  	output = &OutputService11TestShapeOutputService11TestCaseOperation1Output{}
  1746  	req = c.newRequest(op, input, output)
  1747  	return
  1748  }
  1749  
  1750  // OutputService11TestCaseOperation1 API operation for .
  1751  //
  1752  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1753  // with awserr.Error's Code and Message methods to get detailed information about
  1754  // the error.
  1755  //
  1756  // See the AWS API reference guide for 's
  1757  // API operation OutputService11TestCaseOperation1 for usage and error information.
  1758  func (c *OutputService11ProtocolTest) OutputService11TestCaseOperation1(input *OutputService11TestShapeOutputService11TestCaseOperation1Input) (*OutputService11TestShapeOutputService11TestCaseOperation1Output, error) {
  1759  	req, out := c.OutputService11TestCaseOperation1Request(input)
  1760  	return out, req.Send()
  1761  }
  1762  
  1763  // OutputService11TestCaseOperation1WithContext is the same as OutputService11TestCaseOperation1 with the addition of
  1764  // the ability to pass a context and additional request options.
  1765  //
  1766  // See OutputService11TestCaseOperation1 for details on how to use this API operation.
  1767  //
  1768  // The context must be non-nil and will be used for request cancellation. If
  1769  // the context is nil a panic will occur. In the future the SDK may create
  1770  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1771  // for more information on using Contexts.
  1772  func (c *OutputService11ProtocolTest) OutputService11TestCaseOperation1WithContext(ctx aws.Context, input *OutputService11TestShapeOutputService11TestCaseOperation1Input, opts ...request.Option) (*OutputService11TestShapeOutputService11TestCaseOperation1Output, error) {
  1773  	req, out := c.OutputService11TestCaseOperation1Request(input)
  1774  	req.SetContext(ctx)
  1775  	req.ApplyOptions(opts...)
  1776  	return out, req.Send()
  1777  }
  1778  
  1779  type OutputService11TestShapeOutputService11TestCaseOperation1Input struct {
  1780  	_ struct{} `type:"structure"`
  1781  }
  1782  
  1783  type OutputService11TestShapeOutputService11TestCaseOperation1Output struct {
  1784  	_ struct{} `type:"structure"`
  1785  
  1786  	Map map[string]*OutputService11TestShapeStructType `type:"map"`
  1787  }
  1788  
  1789  // SetMap sets the Map field's value.
  1790  func (s *OutputService11TestShapeOutputService11TestCaseOperation1Output) SetMap(v map[string]*OutputService11TestShapeStructType) *OutputService11TestShapeOutputService11TestCaseOperation1Output {
  1791  	s.Map = v
  1792  	return s
  1793  }
  1794  
  1795  type OutputService11TestShapeStructType struct {
  1796  	_ struct{} `type:"structure"`
  1797  
  1798  	Foo *string `locationName:"foo" type:"string"`
  1799  }
  1800  
  1801  // SetFoo sets the Foo field's value.
  1802  func (s *OutputService11TestShapeStructType) SetFoo(v string) *OutputService11TestShapeStructType {
  1803  	s.Foo = &v
  1804  	return s
  1805  }
  1806  
  1807  // OutputService12ProtocolTest provides the API operation methods for making requests to
  1808  // . See this package's package overview docs
  1809  // for details on the service.
  1810  //
  1811  // OutputService12ProtocolTest methods are safe to use concurrently. It is not safe to
  1812  // modify mutate any of the struct's properties though.
  1813  type OutputService12ProtocolTest struct {
  1814  	*client.Client
  1815  }
  1816  
  1817  // New creates a new instance of the OutputService12ProtocolTest client with a session.
  1818  // If additional configuration is needed for the client instance use the optional
  1819  // aws.Config parameter to add your extra config.
  1820  //
  1821  // Example:
  1822  //     mySession := session.Must(session.NewSession())
  1823  //
  1824  //     // Create a OutputService12ProtocolTest client from just a session.
  1825  //     svc := outputservice12protocoltest.New(mySession)
  1826  //
  1827  //     // Create a OutputService12ProtocolTest client with additional configuration
  1828  //     svc := outputservice12protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
  1829  func NewOutputService12ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService12ProtocolTest {
  1830  	c := p.ClientConfig("outputservice12protocoltest", cfgs...)
  1831  	return newOutputService12ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
  1832  }
  1833  
  1834  // newClient creates, initializes and returns a new service client instance.
  1835  func newOutputService12ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService12ProtocolTest {
  1836  	svc := &OutputService12ProtocolTest{
  1837  		Client: client.New(
  1838  			cfg,
  1839  			metadata.ClientInfo{
  1840  				ServiceName:   "OutputService12ProtocolTest",
  1841  				ServiceID:     "OutputService12ProtocolTest",
  1842  				SigningName:   signingName,
  1843  				SigningRegion: signingRegion,
  1844  				PartitionID:   partitionID,
  1845  				Endpoint:      endpoint,
  1846  				APIVersion:    "",
  1847  			},
  1848  			handlers,
  1849  		),
  1850  	}
  1851  
  1852  	// Handlers
  1853  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
  1854  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
  1855  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
  1856  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
  1857  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
  1858  
  1859  	return svc
  1860  }
  1861  
  1862  // newRequest creates a new request for a OutputService12ProtocolTest operation and runs any
  1863  // custom request initialization.
  1864  func (c *OutputService12ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  1865  	req := c.NewRequest(op, params, data)
  1866  
  1867  	return req
  1868  }
  1869  
  1870  const opOutputService12TestCaseOperation1 = "OperationName"
  1871  
  1872  // OutputService12TestCaseOperation1Request generates a "aws/request.Request" representing the
  1873  // client's request for the OutputService12TestCaseOperation1 operation. The "output" return
  1874  // value will be populated with the request's response once the request completes
  1875  // successfully.
  1876  //
  1877  // Use "Send" method on the returned Request to send the API call to the service.
  1878  // the "output" return value is not valid until after Send returns without error.
  1879  //
  1880  // See OutputService12TestCaseOperation1 for more information on using the OutputService12TestCaseOperation1
  1881  // API call, and error handling.
  1882  //
  1883  // This method is useful when you want to inject custom logic or configuration
  1884  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1885  //
  1886  //
  1887  //    // Example sending a request using the OutputService12TestCaseOperation1Request method.
  1888  //    req, resp := client.OutputService12TestCaseOperation1Request(params)
  1889  //
  1890  //    err := req.Send()
  1891  //    if err == nil { // resp is now filled
  1892  //        fmt.Println(resp)
  1893  //    }
  1894  func (c *OutputService12ProtocolTest) OutputService12TestCaseOperation1Request(input *OutputService12TestShapeOutputService12TestCaseOperation1Input) (req *request.Request, output *OutputService12TestShapeOutputService12TestCaseOperation1Output) {
  1895  	op := &request.Operation{
  1896  		Name:     opOutputService12TestCaseOperation1,
  1897  		HTTPPath: "/",
  1898  	}
  1899  
  1900  	if input == nil {
  1901  		input = &OutputService12TestShapeOutputService12TestCaseOperation1Input{}
  1902  	}
  1903  
  1904  	output = &OutputService12TestShapeOutputService12TestCaseOperation1Output{}
  1905  	req = c.newRequest(op, input, output)
  1906  	return
  1907  }
  1908  
  1909  // OutputService12TestCaseOperation1 API operation for .
  1910  //
  1911  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1912  // with awserr.Error's Code and Message methods to get detailed information about
  1913  // the error.
  1914  //
  1915  // See the AWS API reference guide for 's
  1916  // API operation OutputService12TestCaseOperation1 for usage and error information.
  1917  func (c *OutputService12ProtocolTest) OutputService12TestCaseOperation1(input *OutputService12TestShapeOutputService12TestCaseOperation1Input) (*OutputService12TestShapeOutputService12TestCaseOperation1Output, error) {
  1918  	req, out := c.OutputService12TestCaseOperation1Request(input)
  1919  	return out, req.Send()
  1920  }
  1921  
  1922  // OutputService12TestCaseOperation1WithContext is the same as OutputService12TestCaseOperation1 with the addition of
  1923  // the ability to pass a context and additional request options.
  1924  //
  1925  // See OutputService12TestCaseOperation1 for details on how to use this API operation.
  1926  //
  1927  // The context must be non-nil and will be used for request cancellation. If
  1928  // the context is nil a panic will occur. In the future the SDK may create
  1929  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1930  // for more information on using Contexts.
  1931  func (c *OutputService12ProtocolTest) OutputService12TestCaseOperation1WithContext(ctx aws.Context, input *OutputService12TestShapeOutputService12TestCaseOperation1Input, opts ...request.Option) (*OutputService12TestShapeOutputService12TestCaseOperation1Output, error) {
  1932  	req, out := c.OutputService12TestCaseOperation1Request(input)
  1933  	req.SetContext(ctx)
  1934  	req.ApplyOptions(opts...)
  1935  	return out, req.Send()
  1936  }
  1937  
  1938  type OutputService12TestShapeOutputService12TestCaseOperation1Input struct {
  1939  	_ struct{} `type:"structure"`
  1940  }
  1941  
  1942  type OutputService12TestShapeOutputService12TestCaseOperation1Output struct {
  1943  	_ struct{} `type:"structure"`
  1944  
  1945  	Map map[string]*string `type:"map" flattened:"true"`
  1946  }
  1947  
  1948  // SetMap sets the Map field's value.
  1949  func (s *OutputService12TestShapeOutputService12TestCaseOperation1Output) SetMap(v map[string]*string) *OutputService12TestShapeOutputService12TestCaseOperation1Output {
  1950  	s.Map = v
  1951  	return s
  1952  }
  1953  
  1954  // OutputService13ProtocolTest provides the API operation methods for making requests to
  1955  // . See this package's package overview docs
  1956  // for details on the service.
  1957  //
  1958  // OutputService13ProtocolTest methods are safe to use concurrently. It is not safe to
  1959  // modify mutate any of the struct's properties though.
  1960  type OutputService13ProtocolTest struct {
  1961  	*client.Client
  1962  }
  1963  
  1964  // New creates a new instance of the OutputService13ProtocolTest client with a session.
  1965  // If additional configuration is needed for the client instance use the optional
  1966  // aws.Config parameter to add your extra config.
  1967  //
  1968  // Example:
  1969  //     mySession := session.Must(session.NewSession())
  1970  //
  1971  //     // Create a OutputService13ProtocolTest client from just a session.
  1972  //     svc := outputservice13protocoltest.New(mySession)
  1973  //
  1974  //     // Create a OutputService13ProtocolTest client with additional configuration
  1975  //     svc := outputservice13protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
  1976  func NewOutputService13ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService13ProtocolTest {
  1977  	c := p.ClientConfig("outputservice13protocoltest", cfgs...)
  1978  	return newOutputService13ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
  1979  }
  1980  
  1981  // newClient creates, initializes and returns a new service client instance.
  1982  func newOutputService13ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService13ProtocolTest {
  1983  	svc := &OutputService13ProtocolTest{
  1984  		Client: client.New(
  1985  			cfg,
  1986  			metadata.ClientInfo{
  1987  				ServiceName:   "OutputService13ProtocolTest",
  1988  				ServiceID:     "OutputService13ProtocolTest",
  1989  				SigningName:   signingName,
  1990  				SigningRegion: signingRegion,
  1991  				PartitionID:   partitionID,
  1992  				Endpoint:      endpoint,
  1993  				APIVersion:    "",
  1994  			},
  1995  			handlers,
  1996  		),
  1997  	}
  1998  
  1999  	// Handlers
  2000  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
  2001  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
  2002  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
  2003  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
  2004  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
  2005  
  2006  	return svc
  2007  }
  2008  
  2009  // newRequest creates a new request for a OutputService13ProtocolTest operation and runs any
  2010  // custom request initialization.
  2011  func (c *OutputService13ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  2012  	req := c.NewRequest(op, params, data)
  2013  
  2014  	return req
  2015  }
  2016  
  2017  const opOutputService13TestCaseOperation1 = "OperationName"
  2018  
  2019  // OutputService13TestCaseOperation1Request generates a "aws/request.Request" representing the
  2020  // client's request for the OutputService13TestCaseOperation1 operation. The "output" return
  2021  // value will be populated with the request's response once the request completes
  2022  // successfully.
  2023  //
  2024  // Use "Send" method on the returned Request to send the API call to the service.
  2025  // the "output" return value is not valid until after Send returns without error.
  2026  //
  2027  // See OutputService13TestCaseOperation1 for more information on using the OutputService13TestCaseOperation1
  2028  // API call, and error handling.
  2029  //
  2030  // This method is useful when you want to inject custom logic or configuration
  2031  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2032  //
  2033  //
  2034  //    // Example sending a request using the OutputService13TestCaseOperation1Request method.
  2035  //    req, resp := client.OutputService13TestCaseOperation1Request(params)
  2036  //
  2037  //    err := req.Send()
  2038  //    if err == nil { // resp is now filled
  2039  //        fmt.Println(resp)
  2040  //    }
  2041  func (c *OutputService13ProtocolTest) OutputService13TestCaseOperation1Request(input *OutputService13TestShapeOutputService13TestCaseOperation1Input) (req *request.Request, output *OutputService13TestShapeOutputService13TestCaseOperation1Output) {
  2042  	op := &request.Operation{
  2043  		Name:     opOutputService13TestCaseOperation1,
  2044  		HTTPPath: "/",
  2045  	}
  2046  
  2047  	if input == nil {
  2048  		input = &OutputService13TestShapeOutputService13TestCaseOperation1Input{}
  2049  	}
  2050  
  2051  	output = &OutputService13TestShapeOutputService13TestCaseOperation1Output{}
  2052  	req = c.newRequest(op, input, output)
  2053  	return
  2054  }
  2055  
  2056  // OutputService13TestCaseOperation1 API operation for .
  2057  //
  2058  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2059  // with awserr.Error's Code and Message methods to get detailed information about
  2060  // the error.
  2061  //
  2062  // See the AWS API reference guide for 's
  2063  // API operation OutputService13TestCaseOperation1 for usage and error information.
  2064  func (c *OutputService13ProtocolTest) OutputService13TestCaseOperation1(input *OutputService13TestShapeOutputService13TestCaseOperation1Input) (*OutputService13TestShapeOutputService13TestCaseOperation1Output, error) {
  2065  	req, out := c.OutputService13TestCaseOperation1Request(input)
  2066  	return out, req.Send()
  2067  }
  2068  
  2069  // OutputService13TestCaseOperation1WithContext is the same as OutputService13TestCaseOperation1 with the addition of
  2070  // the ability to pass a context and additional request options.
  2071  //
  2072  // See OutputService13TestCaseOperation1 for details on how to use this API operation.
  2073  //
  2074  // The context must be non-nil and will be used for request cancellation. If
  2075  // the context is nil a panic will occur. In the future the SDK may create
  2076  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2077  // for more information on using Contexts.
  2078  func (c *OutputService13ProtocolTest) OutputService13TestCaseOperation1WithContext(ctx aws.Context, input *OutputService13TestShapeOutputService13TestCaseOperation1Input, opts ...request.Option) (*OutputService13TestShapeOutputService13TestCaseOperation1Output, error) {
  2079  	req, out := c.OutputService13TestCaseOperation1Request(input)
  2080  	req.SetContext(ctx)
  2081  	req.ApplyOptions(opts...)
  2082  	return out, req.Send()
  2083  }
  2084  
  2085  type OutputService13TestShapeOutputService13TestCaseOperation1Input struct {
  2086  	_ struct{} `type:"structure"`
  2087  }
  2088  
  2089  type OutputService13TestShapeOutputService13TestCaseOperation1Output struct {
  2090  	_ struct{} `type:"structure"`
  2091  
  2092  	Map map[string]*string `locationName:"Attribute" locationNameKey:"Name" locationNameValue:"Value" type:"map" flattened:"true"`
  2093  }
  2094  
  2095  // SetMap sets the Map field's value.
  2096  func (s *OutputService13TestShapeOutputService13TestCaseOperation1Output) SetMap(v map[string]*string) *OutputService13TestShapeOutputService13TestCaseOperation1Output {
  2097  	s.Map = v
  2098  	return s
  2099  }
  2100  
  2101  // OutputService14ProtocolTest provides the API operation methods for making requests to
  2102  // . See this package's package overview docs
  2103  // for details on the service.
  2104  //
  2105  // OutputService14ProtocolTest methods are safe to use concurrently. It is not safe to
  2106  // modify mutate any of the struct's properties though.
  2107  type OutputService14ProtocolTest struct {
  2108  	*client.Client
  2109  }
  2110  
  2111  // New creates a new instance of the OutputService14ProtocolTest client with a session.
  2112  // If additional configuration is needed for the client instance use the optional
  2113  // aws.Config parameter to add your extra config.
  2114  //
  2115  // Example:
  2116  //     mySession := session.Must(session.NewSession())
  2117  //
  2118  //     // Create a OutputService14ProtocolTest client from just a session.
  2119  //     svc := outputservice14protocoltest.New(mySession)
  2120  //
  2121  //     // Create a OutputService14ProtocolTest client with additional configuration
  2122  //     svc := outputservice14protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
  2123  func NewOutputService14ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService14ProtocolTest {
  2124  	c := p.ClientConfig("outputservice14protocoltest", cfgs...)
  2125  	return newOutputService14ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
  2126  }
  2127  
  2128  // newClient creates, initializes and returns a new service client instance.
  2129  func newOutputService14ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService14ProtocolTest {
  2130  	svc := &OutputService14ProtocolTest{
  2131  		Client: client.New(
  2132  			cfg,
  2133  			metadata.ClientInfo{
  2134  				ServiceName:   "OutputService14ProtocolTest",
  2135  				ServiceID:     "OutputService14ProtocolTest",
  2136  				SigningName:   signingName,
  2137  				SigningRegion: signingRegion,
  2138  				PartitionID:   partitionID,
  2139  				Endpoint:      endpoint,
  2140  				APIVersion:    "",
  2141  			},
  2142  			handlers,
  2143  		),
  2144  	}
  2145  
  2146  	// Handlers
  2147  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
  2148  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
  2149  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
  2150  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
  2151  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
  2152  
  2153  	return svc
  2154  }
  2155  
  2156  // newRequest creates a new request for a OutputService14ProtocolTest operation and runs any
  2157  // custom request initialization.
  2158  func (c *OutputService14ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  2159  	req := c.NewRequest(op, params, data)
  2160  
  2161  	return req
  2162  }
  2163  
  2164  const opOutputService14TestCaseOperation1 = "OperationName"
  2165  
  2166  // OutputService14TestCaseOperation1Request generates a "aws/request.Request" representing the
  2167  // client's request for the OutputService14TestCaseOperation1 operation. The "output" return
  2168  // value will be populated with the request's response once the request completes
  2169  // successfully.
  2170  //
  2171  // Use "Send" method on the returned Request to send the API call to the service.
  2172  // the "output" return value is not valid until after Send returns without error.
  2173  //
  2174  // See OutputService14TestCaseOperation1 for more information on using the OutputService14TestCaseOperation1
  2175  // API call, and error handling.
  2176  //
  2177  // This method is useful when you want to inject custom logic or configuration
  2178  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2179  //
  2180  //
  2181  //    // Example sending a request using the OutputService14TestCaseOperation1Request method.
  2182  //    req, resp := client.OutputService14TestCaseOperation1Request(params)
  2183  //
  2184  //    err := req.Send()
  2185  //    if err == nil { // resp is now filled
  2186  //        fmt.Println(resp)
  2187  //    }
  2188  func (c *OutputService14ProtocolTest) OutputService14TestCaseOperation1Request(input *OutputService14TestShapeOutputService14TestCaseOperation1Input) (req *request.Request, output *OutputService14TestShapeOutputService14TestCaseOperation1Output) {
  2189  	op := &request.Operation{
  2190  		Name:     opOutputService14TestCaseOperation1,
  2191  		HTTPPath: "/",
  2192  	}
  2193  
  2194  	if input == nil {
  2195  		input = &OutputService14TestShapeOutputService14TestCaseOperation1Input{}
  2196  	}
  2197  
  2198  	output = &OutputService14TestShapeOutputService14TestCaseOperation1Output{}
  2199  	req = c.newRequest(op, input, output)
  2200  	return
  2201  }
  2202  
  2203  // OutputService14TestCaseOperation1 API operation for .
  2204  //
  2205  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2206  // with awserr.Error's Code and Message methods to get detailed information about
  2207  // the error.
  2208  //
  2209  // See the AWS API reference guide for 's
  2210  // API operation OutputService14TestCaseOperation1 for usage and error information.
  2211  func (c *OutputService14ProtocolTest) OutputService14TestCaseOperation1(input *OutputService14TestShapeOutputService14TestCaseOperation1Input) (*OutputService14TestShapeOutputService14TestCaseOperation1Output, error) {
  2212  	req, out := c.OutputService14TestCaseOperation1Request(input)
  2213  	return out, req.Send()
  2214  }
  2215  
  2216  // OutputService14TestCaseOperation1WithContext is the same as OutputService14TestCaseOperation1 with the addition of
  2217  // the ability to pass a context and additional request options.
  2218  //
  2219  // See OutputService14TestCaseOperation1 for details on how to use this API operation.
  2220  //
  2221  // The context must be non-nil and will be used for request cancellation. If
  2222  // the context is nil a panic will occur. In the future the SDK may create
  2223  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2224  // for more information on using Contexts.
  2225  func (c *OutputService14ProtocolTest) OutputService14TestCaseOperation1WithContext(ctx aws.Context, input *OutputService14TestShapeOutputService14TestCaseOperation1Input, opts ...request.Option) (*OutputService14TestShapeOutputService14TestCaseOperation1Output, error) {
  2226  	req, out := c.OutputService14TestCaseOperation1Request(input)
  2227  	req.SetContext(ctx)
  2228  	req.ApplyOptions(opts...)
  2229  	return out, req.Send()
  2230  }
  2231  
  2232  type OutputService14TestShapeOutputService14TestCaseOperation1Input struct {
  2233  	_ struct{} `type:"structure"`
  2234  }
  2235  
  2236  type OutputService14TestShapeOutputService14TestCaseOperation1Output struct {
  2237  	_ struct{} `type:"structure"`
  2238  
  2239  	Map map[string]*string `locationNameKey:"foo" locationNameValue:"bar" type:"map" flattened:"true"`
  2240  }
  2241  
  2242  // SetMap sets the Map field's value.
  2243  func (s *OutputService14TestShapeOutputService14TestCaseOperation1Output) SetMap(v map[string]*string) *OutputService14TestShapeOutputService14TestCaseOperation1Output {
  2244  	s.Map = v
  2245  	return s
  2246  }
  2247  
  2248  // OutputService15ProtocolTest provides the API operation methods for making requests to
  2249  // . See this package's package overview docs
  2250  // for details on the service.
  2251  //
  2252  // OutputService15ProtocolTest methods are safe to use concurrently. It is not safe to
  2253  // modify mutate any of the struct's properties though.
  2254  type OutputService15ProtocolTest struct {
  2255  	*client.Client
  2256  }
  2257  
  2258  // New creates a new instance of the OutputService15ProtocolTest client with a session.
  2259  // If additional configuration is needed for the client instance use the optional
  2260  // aws.Config parameter to add your extra config.
  2261  //
  2262  // Example:
  2263  //     mySession := session.Must(session.NewSession())
  2264  //
  2265  //     // Create a OutputService15ProtocolTest client from just a session.
  2266  //     svc := outputservice15protocoltest.New(mySession)
  2267  //
  2268  //     // Create a OutputService15ProtocolTest client with additional configuration
  2269  //     svc := outputservice15protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
  2270  func NewOutputService15ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService15ProtocolTest {
  2271  	c := p.ClientConfig("outputservice15protocoltest", cfgs...)
  2272  	return newOutputService15ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
  2273  }
  2274  
  2275  // newClient creates, initializes and returns a new service client instance.
  2276  func newOutputService15ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService15ProtocolTest {
  2277  	svc := &OutputService15ProtocolTest{
  2278  		Client: client.New(
  2279  			cfg,
  2280  			metadata.ClientInfo{
  2281  				ServiceName:   "OutputService15ProtocolTest",
  2282  				ServiceID:     "OutputService15ProtocolTest",
  2283  				SigningName:   signingName,
  2284  				SigningRegion: signingRegion,
  2285  				PartitionID:   partitionID,
  2286  				Endpoint:      endpoint,
  2287  				APIVersion:    "",
  2288  			},
  2289  			handlers,
  2290  		),
  2291  	}
  2292  
  2293  	// Handlers
  2294  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
  2295  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
  2296  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
  2297  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
  2298  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
  2299  
  2300  	return svc
  2301  }
  2302  
  2303  // newRequest creates a new request for a OutputService15ProtocolTest operation and runs any
  2304  // custom request initialization.
  2305  func (c *OutputService15ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  2306  	req := c.NewRequest(op, params, data)
  2307  
  2308  	return req
  2309  }
  2310  
  2311  const opOutputService15TestCaseOperation1 = "OperationName"
  2312  
  2313  // OutputService15TestCaseOperation1Request generates a "aws/request.Request" representing the
  2314  // client's request for the OutputService15TestCaseOperation1 operation. The "output" return
  2315  // value will be populated with the request's response once the request completes
  2316  // successfully.
  2317  //
  2318  // Use "Send" method on the returned Request to send the API call to the service.
  2319  // the "output" return value is not valid until after Send returns without error.
  2320  //
  2321  // See OutputService15TestCaseOperation1 for more information on using the OutputService15TestCaseOperation1
  2322  // API call, and error handling.
  2323  //
  2324  // This method is useful when you want to inject custom logic or configuration
  2325  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2326  //
  2327  //
  2328  //    // Example sending a request using the OutputService15TestCaseOperation1Request method.
  2329  //    req, resp := client.OutputService15TestCaseOperation1Request(params)
  2330  //
  2331  //    err := req.Send()
  2332  //    if err == nil { // resp is now filled
  2333  //        fmt.Println(resp)
  2334  //    }
  2335  func (c *OutputService15ProtocolTest) OutputService15TestCaseOperation1Request(input *OutputService15TestShapeOutputService15TestCaseOperation1Input) (req *request.Request, output *OutputService15TestShapeOutputService15TestCaseOperation1Output) {
  2336  	op := &request.Operation{
  2337  		Name:     opOutputService15TestCaseOperation1,
  2338  		HTTPPath: "/",
  2339  	}
  2340  
  2341  	if input == nil {
  2342  		input = &OutputService15TestShapeOutputService15TestCaseOperation1Input{}
  2343  	}
  2344  
  2345  	output = &OutputService15TestShapeOutputService15TestCaseOperation1Output{}
  2346  	req = c.newRequest(op, input, output)
  2347  	return
  2348  }
  2349  
  2350  // OutputService15TestCaseOperation1 API operation for .
  2351  //
  2352  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2353  // with awserr.Error's Code and Message methods to get detailed information about
  2354  // the error.
  2355  //
  2356  // See the AWS API reference guide for 's
  2357  // API operation OutputService15TestCaseOperation1 for usage and error information.
  2358  func (c *OutputService15ProtocolTest) OutputService15TestCaseOperation1(input *OutputService15TestShapeOutputService15TestCaseOperation1Input) (*OutputService15TestShapeOutputService15TestCaseOperation1Output, error) {
  2359  	req, out := c.OutputService15TestCaseOperation1Request(input)
  2360  	return out, req.Send()
  2361  }
  2362  
  2363  // OutputService15TestCaseOperation1WithContext is the same as OutputService15TestCaseOperation1 with the addition of
  2364  // the ability to pass a context and additional request options.
  2365  //
  2366  // See OutputService15TestCaseOperation1 for details on how to use this API operation.
  2367  //
  2368  // The context must be non-nil and will be used for request cancellation. If
  2369  // the context is nil a panic will occur. In the future the SDK may create
  2370  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2371  // for more information on using Contexts.
  2372  func (c *OutputService15ProtocolTest) OutputService15TestCaseOperation1WithContext(ctx aws.Context, input *OutputService15TestShapeOutputService15TestCaseOperation1Input, opts ...request.Option) (*OutputService15TestShapeOutputService15TestCaseOperation1Output, error) {
  2373  	req, out := c.OutputService15TestCaseOperation1Request(input)
  2374  	req.SetContext(ctx)
  2375  	req.ApplyOptions(opts...)
  2376  	return out, req.Send()
  2377  }
  2378  
  2379  type OutputService15TestShapeOutputService15TestCaseOperation1Input struct {
  2380  	_ struct{} `type:"structure"`
  2381  }
  2382  
  2383  type OutputService15TestShapeOutputService15TestCaseOperation1Output struct {
  2384  	_ struct{} `type:"structure"`
  2385  
  2386  	Foo *string `type:"string"`
  2387  }
  2388  
  2389  // SetFoo sets the Foo field's value.
  2390  func (s *OutputService15TestShapeOutputService15TestCaseOperation1Output) SetFoo(v string) *OutputService15TestShapeOutputService15TestCaseOperation1Output {
  2391  	s.Foo = &v
  2392  	return s
  2393  }
  2394  
  2395  // OutputService16ProtocolTest provides the API operation methods for making requests to
  2396  // . See this package's package overview docs
  2397  // for details on the service.
  2398  //
  2399  // OutputService16ProtocolTest methods are safe to use concurrently. It is not safe to
  2400  // modify mutate any of the struct's properties though.
  2401  type OutputService16ProtocolTest struct {
  2402  	*client.Client
  2403  }
  2404  
  2405  // New creates a new instance of the OutputService16ProtocolTest client with a session.
  2406  // If additional configuration is needed for the client instance use the optional
  2407  // aws.Config parameter to add your extra config.
  2408  //
  2409  // Example:
  2410  //     mySession := session.Must(session.NewSession())
  2411  //
  2412  //     // Create a OutputService16ProtocolTest client from just a session.
  2413  //     svc := outputservice16protocoltest.New(mySession)
  2414  //
  2415  //     // Create a OutputService16ProtocolTest client with additional configuration
  2416  //     svc := outputservice16protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
  2417  func NewOutputService16ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService16ProtocolTest {
  2418  	c := p.ClientConfig("outputservice16protocoltest", cfgs...)
  2419  	return newOutputService16ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
  2420  }
  2421  
  2422  // newClient creates, initializes and returns a new service client instance.
  2423  func newOutputService16ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService16ProtocolTest {
  2424  	svc := &OutputService16ProtocolTest{
  2425  		Client: client.New(
  2426  			cfg,
  2427  			metadata.ClientInfo{
  2428  				ServiceName:   "OutputService16ProtocolTest",
  2429  				ServiceID:     "OutputService16ProtocolTest",
  2430  				SigningName:   signingName,
  2431  				SigningRegion: signingRegion,
  2432  				PartitionID:   partitionID,
  2433  				Endpoint:      endpoint,
  2434  				APIVersion:    "",
  2435  			},
  2436  			handlers,
  2437  		),
  2438  	}
  2439  
  2440  	// Handlers
  2441  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
  2442  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
  2443  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
  2444  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
  2445  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
  2446  
  2447  	return svc
  2448  }
  2449  
  2450  // newRequest creates a new request for a OutputService16ProtocolTest operation and runs any
  2451  // custom request initialization.
  2452  func (c *OutputService16ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  2453  	req := c.NewRequest(op, params, data)
  2454  
  2455  	return req
  2456  }
  2457  
  2458  const opOutputService16TestCaseOperation1 = "OperationName"
  2459  
  2460  // OutputService16TestCaseOperation1Request generates a "aws/request.Request" representing the
  2461  // client's request for the OutputService16TestCaseOperation1 operation. The "output" return
  2462  // value will be populated with the request's response once the request completes
  2463  // successfully.
  2464  //
  2465  // Use "Send" method on the returned Request to send the API call to the service.
  2466  // the "output" return value is not valid until after Send returns without error.
  2467  //
  2468  // See OutputService16TestCaseOperation1 for more information on using the OutputService16TestCaseOperation1
  2469  // API call, and error handling.
  2470  //
  2471  // This method is useful when you want to inject custom logic or configuration
  2472  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2473  //
  2474  //
  2475  //    // Example sending a request using the OutputService16TestCaseOperation1Request method.
  2476  //    req, resp := client.OutputService16TestCaseOperation1Request(params)
  2477  //
  2478  //    err := req.Send()
  2479  //    if err == nil { // resp is now filled
  2480  //        fmt.Println(resp)
  2481  //    }
  2482  func (c *OutputService16ProtocolTest) OutputService16TestCaseOperation1Request(input *OutputService16TestShapeOutputService16TestCaseOperation1Input) (req *request.Request, output *OutputService16TestShapeOutputService16TestCaseOperation1Output) {
  2483  	op := &request.Operation{
  2484  		Name:     opOutputService16TestCaseOperation1,
  2485  		HTTPPath: "/",
  2486  	}
  2487  
  2488  	if input == nil {
  2489  		input = &OutputService16TestShapeOutputService16TestCaseOperation1Input{}
  2490  	}
  2491  
  2492  	output = &OutputService16TestShapeOutputService16TestCaseOperation1Output{}
  2493  	req = c.newRequest(op, input, output)
  2494  	return
  2495  }
  2496  
  2497  // OutputService16TestCaseOperation1 API operation for .
  2498  //
  2499  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2500  // with awserr.Error's Code and Message methods to get detailed information about
  2501  // the error.
  2502  //
  2503  // See the AWS API reference guide for 's
  2504  // API operation OutputService16TestCaseOperation1 for usage and error information.
  2505  func (c *OutputService16ProtocolTest) OutputService16TestCaseOperation1(input *OutputService16TestShapeOutputService16TestCaseOperation1Input) (*OutputService16TestShapeOutputService16TestCaseOperation1Output, error) {
  2506  	req, out := c.OutputService16TestCaseOperation1Request(input)
  2507  	return out, req.Send()
  2508  }
  2509  
  2510  // OutputService16TestCaseOperation1WithContext is the same as OutputService16TestCaseOperation1 with the addition of
  2511  // the ability to pass a context and additional request options.
  2512  //
  2513  // See OutputService16TestCaseOperation1 for details on how to use this API operation.
  2514  //
  2515  // The context must be non-nil and will be used for request cancellation. If
  2516  // the context is nil a panic will occur. In the future the SDK may create
  2517  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2518  // for more information on using Contexts.
  2519  func (c *OutputService16ProtocolTest) OutputService16TestCaseOperation1WithContext(ctx aws.Context, input *OutputService16TestShapeOutputService16TestCaseOperation1Input, opts ...request.Option) (*OutputService16TestShapeOutputService16TestCaseOperation1Output, error) {
  2520  	req, out := c.OutputService16TestCaseOperation1Request(input)
  2521  	req.SetContext(ctx)
  2522  	req.ApplyOptions(opts...)
  2523  	return out, req.Send()
  2524  }
  2525  
  2526  type OutputService16TestShapeOutputService16TestCaseOperation1Input struct {
  2527  	_ struct{} `type:"structure"`
  2528  }
  2529  
  2530  type OutputService16TestShapeOutputService16TestCaseOperation1Output struct {
  2531  	_ struct{} `type:"structure"`
  2532  
  2533  	StructMember *OutputService16TestShapeTimeContainer `type:"structure"`
  2534  
  2535  	TimeArg *time.Time `type:"timestamp"`
  2536  
  2537  	TimeCustom *time.Time `type:"timestamp" timestampFormat:"rfc822"`
  2538  
  2539  	TimeFormat *time.Time `type:"timestamp" timestampFormat:"unixTimestamp"`
  2540  }
  2541  
  2542  // SetStructMember sets the StructMember field's value.
  2543  func (s *OutputService16TestShapeOutputService16TestCaseOperation1Output) SetStructMember(v *OutputService16TestShapeTimeContainer) *OutputService16TestShapeOutputService16TestCaseOperation1Output {
  2544  	s.StructMember = v
  2545  	return s
  2546  }
  2547  
  2548  // SetTimeArg sets the TimeArg field's value.
  2549  func (s *OutputService16TestShapeOutputService16TestCaseOperation1Output) SetTimeArg(v time.Time) *OutputService16TestShapeOutputService16TestCaseOperation1Output {
  2550  	s.TimeArg = &v
  2551  	return s
  2552  }
  2553  
  2554  // SetTimeCustom sets the TimeCustom field's value.
  2555  func (s *OutputService16TestShapeOutputService16TestCaseOperation1Output) SetTimeCustom(v time.Time) *OutputService16TestShapeOutputService16TestCaseOperation1Output {
  2556  	s.TimeCustom = &v
  2557  	return s
  2558  }
  2559  
  2560  // SetTimeFormat sets the TimeFormat field's value.
  2561  func (s *OutputService16TestShapeOutputService16TestCaseOperation1Output) SetTimeFormat(v time.Time) *OutputService16TestShapeOutputService16TestCaseOperation1Output {
  2562  	s.TimeFormat = &v
  2563  	return s
  2564  }
  2565  
  2566  type OutputService16TestShapeTimeContainer struct {
  2567  	_ struct{} `type:"structure"`
  2568  
  2569  	Bar *time.Time `locationName:"bar" type:"timestamp" timestampFormat:"unixTimestamp"`
  2570  
  2571  	Foo *time.Time `locationName:"foo" type:"timestamp"`
  2572  }
  2573  
  2574  // SetBar sets the Bar field's value.
  2575  func (s *OutputService16TestShapeTimeContainer) SetBar(v time.Time) *OutputService16TestShapeTimeContainer {
  2576  	s.Bar = &v
  2577  	return s
  2578  }
  2579  
  2580  // SetFoo sets the Foo field's value.
  2581  func (s *OutputService16TestShapeTimeContainer) SetFoo(v time.Time) *OutputService16TestShapeTimeContainer {
  2582  	s.Foo = &v
  2583  	return s
  2584  }
  2585  
  2586  // OutputService17ProtocolTest provides the API operation methods for making requests to
  2587  // . See this package's package overview docs
  2588  // for details on the service.
  2589  //
  2590  // OutputService17ProtocolTest methods are safe to use concurrently. It is not safe to
  2591  // modify mutate any of the struct's properties though.
  2592  type OutputService17ProtocolTest struct {
  2593  	*client.Client
  2594  }
  2595  
  2596  // New creates a new instance of the OutputService17ProtocolTest client with a session.
  2597  // If additional configuration is needed for the client instance use the optional
  2598  // aws.Config parameter to add your extra config.
  2599  //
  2600  // Example:
  2601  //     mySession := session.Must(session.NewSession())
  2602  //
  2603  //     // Create a OutputService17ProtocolTest client from just a session.
  2604  //     svc := outputservice17protocoltest.New(mySession)
  2605  //
  2606  //     // Create a OutputService17ProtocolTest client with additional configuration
  2607  //     svc := outputservice17protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
  2608  func NewOutputService17ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService17ProtocolTest {
  2609  	c := p.ClientConfig("outputservice17protocoltest", cfgs...)
  2610  	return newOutputService17ProtocolTestClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
  2611  }
  2612  
  2613  // newClient creates, initializes and returns a new service client instance.
  2614  func newOutputService17ProtocolTestClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *OutputService17ProtocolTest {
  2615  	svc := &OutputService17ProtocolTest{
  2616  		Client: client.New(
  2617  			cfg,
  2618  			metadata.ClientInfo{
  2619  				ServiceName:   "OutputService17ProtocolTest",
  2620  				ServiceID:     "OutputService17ProtocolTest",
  2621  				SigningName:   signingName,
  2622  				SigningRegion: signingRegion,
  2623  				PartitionID:   partitionID,
  2624  				Endpoint:      endpoint,
  2625  				APIVersion:    "",
  2626  			},
  2627  			handlers,
  2628  		),
  2629  	}
  2630  
  2631  	// Handlers
  2632  	svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
  2633  	svc.Handlers.Build.PushBackNamed(query.BuildHandler)
  2634  	svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
  2635  	svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
  2636  	svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
  2637  
  2638  	return svc
  2639  }
  2640  
  2641  // newRequest creates a new request for a OutputService17ProtocolTest operation and runs any
  2642  // custom request initialization.
  2643  func (c *OutputService17ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  2644  	req := c.NewRequest(op, params, data)
  2645  
  2646  	return req
  2647  }
  2648  
  2649  const opOutputService17TestCaseOperation1 = "OperationName"
  2650  
  2651  // OutputService17TestCaseOperation1Request generates a "aws/request.Request" representing the
  2652  // client's request for the OutputService17TestCaseOperation1 operation. The "output" return
  2653  // value will be populated with the request's response once the request completes
  2654  // successfully.
  2655  //
  2656  // Use "Send" method on the returned Request to send the API call to the service.
  2657  // the "output" return value is not valid until after Send returns without error.
  2658  //
  2659  // See OutputService17TestCaseOperation1 for more information on using the OutputService17TestCaseOperation1
  2660  // API call, and error handling.
  2661  //
  2662  // This method is useful when you want to inject custom logic or configuration
  2663  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2664  //
  2665  //
  2666  //    // Example sending a request using the OutputService17TestCaseOperation1Request method.
  2667  //    req, resp := client.OutputService17TestCaseOperation1Request(params)
  2668  //
  2669  //    err := req.Send()
  2670  //    if err == nil { // resp is now filled
  2671  //        fmt.Println(resp)
  2672  //    }
  2673  func (c *OutputService17ProtocolTest) OutputService17TestCaseOperation1Request(input *OutputService17TestShapeOutputService17TestCaseOperation1Input) (req *request.Request, output *OutputService17TestShapeOutputService17TestCaseOperation1Output) {
  2674  	op := &request.Operation{
  2675  		Name:     opOutputService17TestCaseOperation1,
  2676  		HTTPPath: "/",
  2677  	}
  2678  
  2679  	if input == nil {
  2680  		input = &OutputService17TestShapeOutputService17TestCaseOperation1Input{}
  2681  	}
  2682  
  2683  	output = &OutputService17TestShapeOutputService17TestCaseOperation1Output{}
  2684  	req = c.newRequest(op, input, output)
  2685  	return
  2686  }
  2687  
  2688  // OutputService17TestCaseOperation1 API operation for .
  2689  //
  2690  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2691  // with awserr.Error's Code and Message methods to get detailed information about
  2692  // the error.
  2693  //
  2694  // See the AWS API reference guide for 's
  2695  // API operation OutputService17TestCaseOperation1 for usage and error information.
  2696  func (c *OutputService17ProtocolTest) OutputService17TestCaseOperation1(input *OutputService17TestShapeOutputService17TestCaseOperation1Input) (*OutputService17TestShapeOutputService17TestCaseOperation1Output, error) {
  2697  	req, out := c.OutputService17TestCaseOperation1Request(input)
  2698  	return out, req.Send()
  2699  }
  2700  
  2701  // OutputService17TestCaseOperation1WithContext is the same as OutputService17TestCaseOperation1 with the addition of
  2702  // the ability to pass a context and additional request options.
  2703  //
  2704  // See OutputService17TestCaseOperation1 for details on how to use this API operation.
  2705  //
  2706  // The context must be non-nil and will be used for request cancellation. If
  2707  // the context is nil a panic will occur. In the future the SDK may create
  2708  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2709  // for more information on using Contexts.
  2710  func (c *OutputService17ProtocolTest) OutputService17TestCaseOperation1WithContext(ctx aws.Context, input *OutputService17TestShapeOutputService17TestCaseOperation1Input, opts ...request.Option) (*OutputService17TestShapeOutputService17TestCaseOperation1Output, error) {
  2711  	req, out := c.OutputService17TestCaseOperation1Request(input)
  2712  	req.SetContext(ctx)
  2713  	req.ApplyOptions(opts...)
  2714  	return out, req.Send()
  2715  }
  2716  
  2717  type OutputService17TestShapeOutputService17TestCaseOperation1Input struct {
  2718  	_ struct{} `type:"structure"`
  2719  }
  2720  
  2721  type OutputService17TestShapeOutputService17TestCaseOperation1Output struct {
  2722  	_ struct{} `type:"structure"`
  2723  
  2724  	FooEnum *string `type:"string" enum:"OutputService17TestShapeEC2EnumType"`
  2725  
  2726  	ListEnums []*string `type:"list"`
  2727  }
  2728  
  2729  // SetFooEnum sets the FooEnum field's value.
  2730  func (s *OutputService17TestShapeOutputService17TestCaseOperation1Output) SetFooEnum(v string) *OutputService17TestShapeOutputService17TestCaseOperation1Output {
  2731  	s.FooEnum = &v
  2732  	return s
  2733  }
  2734  
  2735  // SetListEnums sets the ListEnums field's value.
  2736  func (s *OutputService17TestShapeOutputService17TestCaseOperation1Output) SetListEnums(v []*string) *OutputService17TestShapeOutputService17TestCaseOperation1Output {
  2737  	s.ListEnums = v
  2738  	return s
  2739  }
  2740  
  2741  const (
  2742  	// EC2EnumTypeFoo is a OutputService17TestShapeEC2EnumType enum value
  2743  	EC2EnumTypeFoo = "foo"
  2744  
  2745  	// EC2EnumTypeBar is a OutputService17TestShapeEC2EnumType enum value
  2746  	EC2EnumTypeBar = "bar"
  2747  )
  2748  
  2749  // OutputService17TestShapeEC2EnumType_Values returns all elements of the OutputService17TestShapeEC2EnumType enum
  2750  func OutputService17TestShapeEC2EnumType_Values() []string {
  2751  	return []string{
  2752  		EC2EnumTypeFoo,
  2753  		EC2EnumTypeBar,
  2754  	}
  2755  }
  2756  
  2757  //
  2758  // Tests begin here
  2759  //
  2760  
  2761  func TestOutputService1ProtocolTestScalarMembersCase1(t *testing.T) {
  2762  	svc := NewOutputService1ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  2763  
  2764  	buf := bytes.NewReader([]byte("<OperationNameResponse><OperationNameResult><Str>myname</Str><FooNum>123</FooNum><FalseBool>false</FalseBool><TrueBool>true</TrueBool><Float>1.2</Float><Double>1.3</Double><Long>200</Long><Char>a</Char><Timestamp>2015-01-25T08:00:00Z</Timestamp></OperationNameResult><ResponseMetadata><RequestId>request-id</RequestId></ResponseMetadata></OperationNameResponse>"))
  2765  	req, out := svc.OutputService1TestCaseOperation1Request(nil)
  2766  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  2767  
  2768  	// set headers
  2769  
  2770  	// unmarshal response
  2771  	req.Handlers.UnmarshalMeta.Run(req)
  2772  	req.Handlers.Unmarshal.Run(req)
  2773  	if req.Error != nil {
  2774  		t.Errorf("expect not error, got %v", req.Error)
  2775  	}
  2776  
  2777  	// assert response
  2778  	if out == nil {
  2779  		t.Errorf("expect not to be nil")
  2780  	}
  2781  	if e, a := "a", *out.Char; e != a {
  2782  		t.Errorf("expect %v, got %v", e, a)
  2783  	}
  2784  	if e, a := 1.3, *out.Double; e != a {
  2785  		t.Errorf("expect %v, got %v", e, a)
  2786  	}
  2787  	if e, a := false, *out.FalseBool; e != a {
  2788  		t.Errorf("expect %v, got %v", e, a)
  2789  	}
  2790  	if e, a := 1.2, *out.Float; e != a {
  2791  		t.Errorf("expect %v, got %v", e, a)
  2792  	}
  2793  	if e, a := int64(200), *out.Long; e != a {
  2794  		t.Errorf("expect %v, got %v", e, a)
  2795  	}
  2796  	if e, a := int64(123), *out.Num; e != a {
  2797  		t.Errorf("expect %v, got %v", e, a)
  2798  	}
  2799  	if e, a := "myname", *out.Str; e != a {
  2800  		t.Errorf("expect %v, got %v", e, a)
  2801  	}
  2802  	if e, a := time.Unix(1.4221728e+09, 0).UTC().String(), out.Timestamp.UTC().String(); e != a {
  2803  		t.Errorf("expect %v, got %v", e, a)
  2804  	}
  2805  	if e, a := true, *out.TrueBool; e != a {
  2806  		t.Errorf("expect %v, got %v", e, a)
  2807  	}
  2808  
  2809  }
  2810  
  2811  func TestOutputService2ProtocolTestNotAllMembersInResponseCase1(t *testing.T) {
  2812  	svc := NewOutputService2ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  2813  
  2814  	buf := bytes.NewReader([]byte("<OperationNameResponse><OperationNameResult><Str>myname</Str></OperationNameResult><ResponseMetadata><RequestId>request-id</RequestId></ResponseMetadata></OperationNameResponse>"))
  2815  	req, out := svc.OutputService2TestCaseOperation1Request(nil)
  2816  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  2817  
  2818  	// set headers
  2819  
  2820  	// unmarshal response
  2821  	req.Handlers.UnmarshalMeta.Run(req)
  2822  	req.Handlers.Unmarshal.Run(req)
  2823  	if req.Error != nil {
  2824  		t.Errorf("expect not error, got %v", req.Error)
  2825  	}
  2826  
  2827  	// assert response
  2828  	if out == nil {
  2829  		t.Errorf("expect not to be nil")
  2830  	}
  2831  	if e, a := "myname", *out.Str; e != a {
  2832  		t.Errorf("expect %v, got %v", e, a)
  2833  	}
  2834  
  2835  }
  2836  
  2837  func TestOutputService3ProtocolTestBlobCase1(t *testing.T) {
  2838  	svc := NewOutputService3ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  2839  
  2840  	buf := bytes.NewReader([]byte("<OperationNameResponse><OperationNameResult><Blob>dmFsdWU=</Blob></OperationNameResult><ResponseMetadata><RequestId>requestid</RequestId></ResponseMetadata></OperationNameResponse>"))
  2841  	req, out := svc.OutputService3TestCaseOperation1Request(nil)
  2842  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  2843  
  2844  	// set headers
  2845  
  2846  	// unmarshal response
  2847  	req.Handlers.UnmarshalMeta.Run(req)
  2848  	req.Handlers.Unmarshal.Run(req)
  2849  	if req.Error != nil {
  2850  		t.Errorf("expect not error, got %v", req.Error)
  2851  	}
  2852  
  2853  	// assert response
  2854  	if out == nil {
  2855  		t.Errorf("expect not to be nil")
  2856  	}
  2857  	if e, a := "value", string(out.Blob); e != a {
  2858  		t.Errorf("expect %v, got %v", e, a)
  2859  	}
  2860  
  2861  }
  2862  
  2863  func TestOutputService4ProtocolTestListsCase1(t *testing.T) {
  2864  	svc := NewOutputService4ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  2865  
  2866  	buf := bytes.NewReader([]byte("<OperationNameResponse><OperationNameResult><ListMember><member>abc</member><member>123</member></ListMember></OperationNameResult><ResponseMetadata><RequestId>requestid</RequestId></ResponseMetadata></OperationNameResponse>"))
  2867  	req, out := svc.OutputService4TestCaseOperation1Request(nil)
  2868  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  2869  
  2870  	// set headers
  2871  
  2872  	// unmarshal response
  2873  	req.Handlers.UnmarshalMeta.Run(req)
  2874  	req.Handlers.Unmarshal.Run(req)
  2875  	if req.Error != nil {
  2876  		t.Errorf("expect not error, got %v", req.Error)
  2877  	}
  2878  
  2879  	// assert response
  2880  	if out == nil {
  2881  		t.Errorf("expect not to be nil")
  2882  	}
  2883  	if e, a := "abc", *out.ListMember[0]; e != a {
  2884  		t.Errorf("expect %v, got %v", e, a)
  2885  	}
  2886  	if e, a := "123", *out.ListMember[1]; e != a {
  2887  		t.Errorf("expect %v, got %v", e, a)
  2888  	}
  2889  
  2890  }
  2891  
  2892  func TestOutputService5ProtocolTestListWithCustomMemberNameCase1(t *testing.T) {
  2893  	svc := NewOutputService5ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  2894  
  2895  	buf := bytes.NewReader([]byte("<OperationNameResponse><OperationNameResult><ListMember><item>abc</item><item>123</item></ListMember></OperationNameResult><ResponseMetadata><RequestId>requestid</RequestId></ResponseMetadata></OperationNameResponse>"))
  2896  	req, out := svc.OutputService5TestCaseOperation1Request(nil)
  2897  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  2898  
  2899  	// set headers
  2900  
  2901  	// unmarshal response
  2902  	req.Handlers.UnmarshalMeta.Run(req)
  2903  	req.Handlers.Unmarshal.Run(req)
  2904  	if req.Error != nil {
  2905  		t.Errorf("expect not error, got %v", req.Error)
  2906  	}
  2907  
  2908  	// assert response
  2909  	if out == nil {
  2910  		t.Errorf("expect not to be nil")
  2911  	}
  2912  	if e, a := "abc", *out.ListMember[0]; e != a {
  2913  		t.Errorf("expect %v, got %v", e, a)
  2914  	}
  2915  	if e, a := "123", *out.ListMember[1]; e != a {
  2916  		t.Errorf("expect %v, got %v", e, a)
  2917  	}
  2918  
  2919  }
  2920  
  2921  func TestOutputService6ProtocolTestFlattenedListCase1(t *testing.T) {
  2922  	svc := NewOutputService6ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  2923  
  2924  	buf := bytes.NewReader([]byte("<OperationNameResponse><OperationNameResult><ListMember>abc</ListMember><ListMember>123</ListMember></OperationNameResult><ResponseMetadata><RequestId>requestid</RequestId></ResponseMetadata></OperationNameResponse>"))
  2925  	req, out := svc.OutputService6TestCaseOperation1Request(nil)
  2926  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  2927  
  2928  	// set headers
  2929  
  2930  	// unmarshal response
  2931  	req.Handlers.UnmarshalMeta.Run(req)
  2932  	req.Handlers.Unmarshal.Run(req)
  2933  	if req.Error != nil {
  2934  		t.Errorf("expect not error, got %v", req.Error)
  2935  	}
  2936  
  2937  	// assert response
  2938  	if out == nil {
  2939  		t.Errorf("expect not to be nil")
  2940  	}
  2941  	if e, a := "abc", *out.ListMember[0]; e != a {
  2942  		t.Errorf("expect %v, got %v", e, a)
  2943  	}
  2944  	if e, a := "123", *out.ListMember[1]; e != a {
  2945  		t.Errorf("expect %v, got %v", e, a)
  2946  	}
  2947  
  2948  }
  2949  
  2950  func TestOutputService7ProtocolTestFlattenedSingleElementListCase1(t *testing.T) {
  2951  	svc := NewOutputService7ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  2952  
  2953  	buf := bytes.NewReader([]byte("<OperationNameResponse><OperationNameResult><ListMember>abc</ListMember></OperationNameResult><ResponseMetadata><RequestId>requestid</RequestId></ResponseMetadata></OperationNameResponse>"))
  2954  	req, out := svc.OutputService7TestCaseOperation1Request(nil)
  2955  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  2956  
  2957  	// set headers
  2958  
  2959  	// unmarshal response
  2960  	req.Handlers.UnmarshalMeta.Run(req)
  2961  	req.Handlers.Unmarshal.Run(req)
  2962  	if req.Error != nil {
  2963  		t.Errorf("expect not error, got %v", req.Error)
  2964  	}
  2965  
  2966  	// assert response
  2967  	if out == nil {
  2968  		t.Errorf("expect not to be nil")
  2969  	}
  2970  	if e, a := "abc", *out.ListMember[0]; e != a {
  2971  		t.Errorf("expect %v, got %v", e, a)
  2972  	}
  2973  
  2974  }
  2975  
  2976  func TestOutputService8ProtocolTestListOfStructuresCase1(t *testing.T) {
  2977  	svc := NewOutputService8ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  2978  
  2979  	buf := bytes.NewReader([]byte("<OperationNameResponse xmlns=\"https://service.amazonaws.com/doc/2010-05-08/\"><OperationNameResult><List><member><Foo>firstfoo</Foo><Bar>firstbar</Bar><Baz>firstbaz</Baz></member><member><Foo>secondfoo</Foo><Bar>secondbar</Bar><Baz>secondbaz</Baz></member></List></OperationNameResult><ResponseMetadata><RequestId>requestid</RequestId></ResponseMetadata></OperationNameResponse>"))
  2980  	req, out := svc.OutputService8TestCaseOperation1Request(nil)
  2981  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  2982  
  2983  	// set headers
  2984  
  2985  	// unmarshal response
  2986  	req.Handlers.UnmarshalMeta.Run(req)
  2987  	req.Handlers.Unmarshal.Run(req)
  2988  	if req.Error != nil {
  2989  		t.Errorf("expect not error, got %v", req.Error)
  2990  	}
  2991  
  2992  	// assert response
  2993  	if out == nil {
  2994  		t.Errorf("expect not to be nil")
  2995  	}
  2996  	if e, a := "firstbar", *out.List[0].Bar; e != a {
  2997  		t.Errorf("expect %v, got %v", e, a)
  2998  	}
  2999  	if e, a := "firstbaz", *out.List[0].Baz; e != a {
  3000  		t.Errorf("expect %v, got %v", e, a)
  3001  	}
  3002  	if e, a := "firstfoo", *out.List[0].Foo; e != a {
  3003  		t.Errorf("expect %v, got %v", e, a)
  3004  	}
  3005  	if e, a := "secondbar", *out.List[1].Bar; e != a {
  3006  		t.Errorf("expect %v, got %v", e, a)
  3007  	}
  3008  	if e, a := "secondbaz", *out.List[1].Baz; e != a {
  3009  		t.Errorf("expect %v, got %v", e, a)
  3010  	}
  3011  	if e, a := "secondfoo", *out.List[1].Foo; e != a {
  3012  		t.Errorf("expect %v, got %v", e, a)
  3013  	}
  3014  
  3015  }
  3016  
  3017  func TestOutputService9ProtocolTestFlattenedListOfStructuresCase1(t *testing.T) {
  3018  	svc := NewOutputService9ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  3019  
  3020  	buf := bytes.NewReader([]byte("<OperationNameResponse xmlns=\"https://service.amazonaws.com/doc/2010-05-08/\"><OperationNameResult><List><Foo>firstfoo</Foo><Bar>firstbar</Bar><Baz>firstbaz</Baz></List><List><Foo>secondfoo</Foo><Bar>secondbar</Bar><Baz>secondbaz</Baz></List></OperationNameResult><ResponseMetadata><RequestId>requestid</RequestId></ResponseMetadata></OperationNameResponse>"))
  3021  	req, out := svc.OutputService9TestCaseOperation1Request(nil)
  3022  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  3023  
  3024  	// set headers
  3025  
  3026  	// unmarshal response
  3027  	req.Handlers.UnmarshalMeta.Run(req)
  3028  	req.Handlers.Unmarshal.Run(req)
  3029  	if req.Error != nil {
  3030  		t.Errorf("expect not error, got %v", req.Error)
  3031  	}
  3032  
  3033  	// assert response
  3034  	if out == nil {
  3035  		t.Errorf("expect not to be nil")
  3036  	}
  3037  	if e, a := "firstbar", *out.List[0].Bar; e != a {
  3038  		t.Errorf("expect %v, got %v", e, a)
  3039  	}
  3040  	if e, a := "firstbaz", *out.List[0].Baz; e != a {
  3041  		t.Errorf("expect %v, got %v", e, a)
  3042  	}
  3043  	if e, a := "firstfoo", *out.List[0].Foo; e != a {
  3044  		t.Errorf("expect %v, got %v", e, a)
  3045  	}
  3046  	if e, a := "secondbar", *out.List[1].Bar; e != a {
  3047  		t.Errorf("expect %v, got %v", e, a)
  3048  	}
  3049  	if e, a := "secondbaz", *out.List[1].Baz; e != a {
  3050  		t.Errorf("expect %v, got %v", e, a)
  3051  	}
  3052  	if e, a := "secondfoo", *out.List[1].Foo; e != a {
  3053  		t.Errorf("expect %v, got %v", e, a)
  3054  	}
  3055  
  3056  }
  3057  
  3058  func TestOutputService10ProtocolTestFlattenedListWithLocationNameCase1(t *testing.T) {
  3059  	svc := NewOutputService10ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  3060  
  3061  	buf := bytes.NewReader([]byte("<OperationNameResponse xmlns=\"https://service.amazonaws.com/doc/2010-05-08/\"><OperationNameResult><NamedList>a</NamedList><NamedList>b</NamedList></OperationNameResult><ResponseMetadata><RequestId>requestid</RequestId></ResponseMetadata></OperationNameResponse>"))
  3062  	req, out := svc.OutputService10TestCaseOperation1Request(nil)
  3063  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  3064  
  3065  	// set headers
  3066  
  3067  	// unmarshal response
  3068  	req.Handlers.UnmarshalMeta.Run(req)
  3069  	req.Handlers.Unmarshal.Run(req)
  3070  	if req.Error != nil {
  3071  		t.Errorf("expect not error, got %v", req.Error)
  3072  	}
  3073  
  3074  	// assert response
  3075  	if out == nil {
  3076  		t.Errorf("expect not to be nil")
  3077  	}
  3078  	if e, a := "a", *out.List[0]; e != a {
  3079  		t.Errorf("expect %v, got %v", e, a)
  3080  	}
  3081  	if e, a := "b", *out.List[1]; e != a {
  3082  		t.Errorf("expect %v, got %v", e, a)
  3083  	}
  3084  
  3085  }
  3086  
  3087  func TestOutputService11ProtocolTestNormalMapCase1(t *testing.T) {
  3088  	svc := NewOutputService11ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  3089  
  3090  	buf := bytes.NewReader([]byte("<OperationNameResponse xmlns=\"https://service.amazonaws.com/doc/2010-05-08\"><OperationNameResult><Map><entry><key>qux</key><value><foo>bar</foo></value></entry><entry><key>baz</key><value><foo>bam</foo></value></entry></Map></OperationNameResult><ResponseMetadata><RequestId>requestid</RequestId></ResponseMetadata></OperationNameResponse>"))
  3091  	req, out := svc.OutputService11TestCaseOperation1Request(nil)
  3092  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  3093  
  3094  	// set headers
  3095  
  3096  	// unmarshal response
  3097  	req.Handlers.UnmarshalMeta.Run(req)
  3098  	req.Handlers.Unmarshal.Run(req)
  3099  	if req.Error != nil {
  3100  		t.Errorf("expect not error, got %v", req.Error)
  3101  	}
  3102  
  3103  	// assert response
  3104  	if out == nil {
  3105  		t.Errorf("expect not to be nil")
  3106  	}
  3107  	if e, a := "bam", *out.Map["baz"].Foo; e != a {
  3108  		t.Errorf("expect %v, got %v", e, a)
  3109  	}
  3110  	if e, a := "bar", *out.Map["qux"].Foo; e != a {
  3111  		t.Errorf("expect %v, got %v", e, a)
  3112  	}
  3113  
  3114  }
  3115  
  3116  func TestOutputService12ProtocolTestFlattenedMapCase1(t *testing.T) {
  3117  	svc := NewOutputService12ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  3118  
  3119  	buf := bytes.NewReader([]byte("<OperationNameResponse><OperationNameResult><Map><key>qux</key><value>bar</value></Map><Map><key>baz</key><value>bam</value></Map></OperationNameResult><ResponseMetadata><RequestId>requestid</RequestId></ResponseMetadata></OperationNameResponse>"))
  3120  	req, out := svc.OutputService12TestCaseOperation1Request(nil)
  3121  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  3122  
  3123  	// set headers
  3124  
  3125  	// unmarshal response
  3126  	req.Handlers.UnmarshalMeta.Run(req)
  3127  	req.Handlers.Unmarshal.Run(req)
  3128  	if req.Error != nil {
  3129  		t.Errorf("expect not error, got %v", req.Error)
  3130  	}
  3131  
  3132  	// assert response
  3133  	if out == nil {
  3134  		t.Errorf("expect not to be nil")
  3135  	}
  3136  	if e, a := "bam", *out.Map["baz"]; e != a {
  3137  		t.Errorf("expect %v, got %v", e, a)
  3138  	}
  3139  	if e, a := "bar", *out.Map["qux"]; e != a {
  3140  		t.Errorf("expect %v, got %v", e, a)
  3141  	}
  3142  
  3143  }
  3144  
  3145  func TestOutputService13ProtocolTestFlattenedMapInShapeDefinitionCase1(t *testing.T) {
  3146  	svc := NewOutputService13ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  3147  
  3148  	buf := bytes.NewReader([]byte("<OperationNameResponse><OperationNameResult><Attribute><Name>qux</Name><Value>bar</Value></Attribute></OperationNameResult><ResponseMetadata><RequestId>requestid</RequestId></ResponseMetadata></OperationNameResponse>"))
  3149  	req, out := svc.OutputService13TestCaseOperation1Request(nil)
  3150  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  3151  
  3152  	// set headers
  3153  
  3154  	// unmarshal response
  3155  	req.Handlers.UnmarshalMeta.Run(req)
  3156  	req.Handlers.Unmarshal.Run(req)
  3157  	if req.Error != nil {
  3158  		t.Errorf("expect not error, got %v", req.Error)
  3159  	}
  3160  
  3161  	// assert response
  3162  	if out == nil {
  3163  		t.Errorf("expect not to be nil")
  3164  	}
  3165  	if e, a := "bar", *out.Map["qux"]; e != a {
  3166  		t.Errorf("expect %v, got %v", e, a)
  3167  	}
  3168  
  3169  }
  3170  
  3171  func TestOutputService14ProtocolTestNamedMapCase1(t *testing.T) {
  3172  	svc := NewOutputService14ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  3173  
  3174  	buf := bytes.NewReader([]byte("<OperationNameResponse><OperationNameResult><Map><foo>qux</foo><bar>bar</bar></Map><Map><foo>baz</foo><bar>bam</bar></Map></OperationNameResult><ResponseMetadata><RequestId>requestid</RequestId></ResponseMetadata></OperationNameResponse>"))
  3175  	req, out := svc.OutputService14TestCaseOperation1Request(nil)
  3176  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  3177  
  3178  	// set headers
  3179  
  3180  	// unmarshal response
  3181  	req.Handlers.UnmarshalMeta.Run(req)
  3182  	req.Handlers.Unmarshal.Run(req)
  3183  	if req.Error != nil {
  3184  		t.Errorf("expect not error, got %v", req.Error)
  3185  	}
  3186  
  3187  	// assert response
  3188  	if out == nil {
  3189  		t.Errorf("expect not to be nil")
  3190  	}
  3191  	if e, a := "bam", *out.Map["baz"]; e != a {
  3192  		t.Errorf("expect %v, got %v", e, a)
  3193  	}
  3194  	if e, a := "bar", *out.Map["qux"]; e != a {
  3195  		t.Errorf("expect %v, got %v", e, a)
  3196  	}
  3197  
  3198  }
  3199  
  3200  func TestOutputService15ProtocolTestEmptyStringCase1(t *testing.T) {
  3201  	svc := NewOutputService15ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  3202  
  3203  	buf := bytes.NewReader([]byte("<OperationNameResponse><OperationNameResult><Foo/></OperationNameResult><ResponseMetadata><RequestId>requestid</RequestId></ResponseMetadata></OperationNameResponse>"))
  3204  	req, out := svc.OutputService15TestCaseOperation1Request(nil)
  3205  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  3206  
  3207  	// set headers
  3208  
  3209  	// unmarshal response
  3210  	req.Handlers.UnmarshalMeta.Run(req)
  3211  	req.Handlers.Unmarshal.Run(req)
  3212  	if req.Error != nil {
  3213  		t.Errorf("expect not error, got %v", req.Error)
  3214  	}
  3215  
  3216  	// assert response
  3217  	if out == nil {
  3218  		t.Errorf("expect not to be nil")
  3219  	}
  3220  	if e, a := "", *out.Foo; e != a {
  3221  		t.Errorf("expect %v, got %v", e, a)
  3222  	}
  3223  
  3224  }
  3225  
  3226  func TestOutputService16ProtocolTestTimestampMembersCase1(t *testing.T) {
  3227  	svc := NewOutputService16ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  3228  
  3229  	buf := bytes.NewReader([]byte("<OperationNameResponse><StructMember><foo>2014-04-29T18:30:38Z</foo><bar>1398796238</bar></StructMember><TimeArg>2014-04-29T18:30:38Z</TimeArg><TimeCustom>Tue, 29 Apr 2014 18:30:38 GMT</TimeCustom><TimeFormat>1398796238</TimeFormat><RequestId>requestid</RequestId></OperationNameResponse>"))
  3230  	req, out := svc.OutputService16TestCaseOperation1Request(nil)
  3231  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  3232  
  3233  	// set headers
  3234  
  3235  	// unmarshal response
  3236  	req.Handlers.UnmarshalMeta.Run(req)
  3237  	req.Handlers.Unmarshal.Run(req)
  3238  	if req.Error != nil {
  3239  		t.Errorf("expect not error, got %v", req.Error)
  3240  	}
  3241  
  3242  	// assert response
  3243  	if out == nil {
  3244  		t.Errorf("expect not to be nil")
  3245  	}
  3246  	if e, a := time.Unix(1.398796238e+09, 0).UTC().String(), out.StructMember.Bar.UTC().String(); e != a {
  3247  		t.Errorf("expect %v, got %v", e, a)
  3248  	}
  3249  	if e, a := time.Unix(1.398796238e+09, 0).UTC().String(), out.StructMember.Foo.UTC().String(); e != a {
  3250  		t.Errorf("expect %v, got %v", e, a)
  3251  	}
  3252  	if e, a := time.Unix(1.398796238e+09, 0).UTC().String(), out.TimeArg.UTC().String(); e != a {
  3253  		t.Errorf("expect %v, got %v", e, a)
  3254  	}
  3255  	if e, a := time.Unix(1.398796238e+09, 0).UTC().String(), out.TimeCustom.UTC().String(); e != a {
  3256  		t.Errorf("expect %v, got %v", e, a)
  3257  	}
  3258  	if e, a := time.Unix(1.398796238e+09, 0).UTC().String(), out.TimeFormat.UTC().String(); e != a {
  3259  		t.Errorf("expect %v, got %v", e, a)
  3260  	}
  3261  
  3262  }
  3263  
  3264  func TestOutputService17ProtocolTestEnumOutputCase1(t *testing.T) {
  3265  	svc := NewOutputService17ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
  3266  
  3267  	buf := bytes.NewReader([]byte("<OperationNameResponse><FooEnum>foo</FooEnum><ListEnums><member>foo</member><member>bar</member></ListEnums></OperationNameResponse>"))
  3268  	req, out := svc.OutputService17TestCaseOperation1Request(nil)
  3269  	req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  3270  
  3271  	// set headers
  3272  
  3273  	// unmarshal response
  3274  	req.Handlers.UnmarshalMeta.Run(req)
  3275  	req.Handlers.Unmarshal.Run(req)
  3276  	if req.Error != nil {
  3277  		t.Errorf("expect not error, got %v", req.Error)
  3278  	}
  3279  
  3280  	// assert response
  3281  	if out == nil {
  3282  		t.Errorf("expect not to be nil")
  3283  	}
  3284  	if e, a := "foo", *out.FooEnum; e != a {
  3285  		t.Errorf("expect %v, got %v", e, a)
  3286  	}
  3287  	if e, a := "foo", *out.ListEnums[0]; e != a {
  3288  		t.Errorf("expect %v, got %v", e, a)
  3289  	}
  3290  	if e, a := "bar", *out.ListEnums[1]; e != a {
  3291  		t.Errorf("expect %v, got %v", e, a)
  3292  	}
  3293  
  3294  }