github.com/aavshr/aws-sdk-go@v1.41.3/private/model/api/codegentest/service/awsendpointdiscoverytest/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package awsendpointdiscoverytest
     4  
     5  import (
     6  	"fmt"
     7  	"net/url"
     8  	"strings"
     9  	"time"
    10  
    11  	"github.com/aavshr/aws-sdk-go/aws"
    12  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    13  	"github.com/aavshr/aws-sdk-go/aws/crr"
    14  	"github.com/aavshr/aws-sdk-go/aws/request"
    15  )
    16  
    17  const opDescribeEndpoints = "DescribeEndpoints"
    18  
    19  // DescribeEndpointsRequest generates a "aws/request.Request" representing the
    20  // client's request for the DescribeEndpoints operation. The "output" return
    21  // value will be populated with the request's response once the request completes
    22  // successfully.
    23  //
    24  // Use "Send" method on the returned Request to send the API call to the service.
    25  // the "output" return value is not valid until after Send returns without error.
    26  //
    27  // See DescribeEndpoints for more information on using the DescribeEndpoints
    28  // API call, and error handling.
    29  //
    30  // This method is useful when you want to inject custom logic or configuration
    31  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    32  //
    33  //
    34  //    // Example sending a request using the DescribeEndpointsRequest method.
    35  //    req, resp := client.DescribeEndpointsRequest(params)
    36  //
    37  //    err := req.Send()
    38  //    if err == nil { // resp is now filled
    39  //        fmt.Println(resp)
    40  //    }
    41  func (c *AwsEndpointDiscoveryTest) DescribeEndpointsRequest(input *DescribeEndpointsInput) (req *request.Request, output *DescribeEndpointsOutput) {
    42  	op := &request.Operation{
    43  		Name:       opDescribeEndpoints,
    44  		HTTPMethod: "POST",
    45  		HTTPPath:   "/",
    46  	}
    47  
    48  	if input == nil {
    49  		input = &DescribeEndpointsInput{}
    50  	}
    51  
    52  	output = &DescribeEndpointsOutput{}
    53  	req = c.newRequest(op, input, output)
    54  	return
    55  }
    56  
    57  // DescribeEndpoints API operation for AwsEndpointDiscoveryTest.
    58  //
    59  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    60  // with awserr.Error's Code and Message methods to get detailed information about
    61  // the error.
    62  //
    63  // See the AWS API reference guide for AwsEndpointDiscoveryTest's
    64  // API operation DescribeEndpoints for usage and error information.
    65  func (c *AwsEndpointDiscoveryTest) DescribeEndpoints(input *DescribeEndpointsInput) (*DescribeEndpointsOutput, error) {
    66  	req, out := c.DescribeEndpointsRequest(input)
    67  	return out, req.Send()
    68  }
    69  
    70  // DescribeEndpointsWithContext is the same as DescribeEndpoints with the addition of
    71  // the ability to pass a context and additional request options.
    72  //
    73  // See DescribeEndpoints for details on how to use this API operation.
    74  //
    75  // The context must be non-nil and will be used for request cancellation. If
    76  // the context is nil a panic will occur. In the future the SDK may create
    77  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    78  // for more information on using Contexts.
    79  func (c *AwsEndpointDiscoveryTest) DescribeEndpointsWithContext(ctx aws.Context, input *DescribeEndpointsInput, opts ...request.Option) (*DescribeEndpointsOutput, error) {
    80  	req, out := c.DescribeEndpointsRequest(input)
    81  	req.SetContext(ctx)
    82  	req.ApplyOptions(opts...)
    83  	return out, req.Send()
    84  }
    85  
    86  type discovererDescribeEndpoints struct {
    87  	Client        *AwsEndpointDiscoveryTest
    88  	Required      bool
    89  	EndpointCache *crr.EndpointCache
    90  	Params        map[string]*string
    91  	Key           string
    92  	req           *request.Request
    93  }
    94  
    95  func (d *discovererDescribeEndpoints) Discover() (crr.Endpoint, error) {
    96  	input := &DescribeEndpointsInput{
    97  		Operation: d.Params["op"],
    98  	}
    99  
   100  	resp, err := d.Client.DescribeEndpoints(input)
   101  	if err != nil {
   102  		return crr.Endpoint{}, err
   103  	}
   104  
   105  	endpoint := crr.Endpoint{
   106  		Key: d.Key,
   107  	}
   108  
   109  	for _, e := range resp.Endpoints {
   110  		if e.Address == nil {
   111  			continue
   112  		}
   113  
   114  		address := *e.Address
   115  
   116  		var scheme string
   117  		if idx := strings.Index(address, "://"); idx != -1 {
   118  			scheme = address[:idx]
   119  		}
   120  
   121  		if len(scheme) == 0 {
   122  			address = fmt.Sprintf("%s://%s", d.req.HTTPRequest.URL.Scheme, address)
   123  		}
   124  
   125  		cachedInMinutes := aws.Int64Value(e.CachePeriodInMinutes)
   126  		u, err := url.Parse(address)
   127  		if err != nil {
   128  			continue
   129  		}
   130  
   131  		addr := crr.WeightedAddress{
   132  			URL:     u,
   133  			Expired: time.Now().Add(time.Duration(cachedInMinutes) * time.Minute),
   134  		}
   135  
   136  		endpoint.Add(addr)
   137  	}
   138  
   139  	d.EndpointCache.Add(endpoint)
   140  
   141  	return endpoint, nil
   142  }
   143  
   144  func (d *discovererDescribeEndpoints) Handler(r *request.Request) {
   145  	endpointKey := crr.BuildEndpointKey(d.Params)
   146  	d.Key = endpointKey
   147  	d.req = r
   148  
   149  	endpoint, err := d.EndpointCache.Get(d, endpointKey, d.Required)
   150  	if err != nil {
   151  		r.Error = err
   152  		return
   153  	}
   154  
   155  	if endpoint.URL != nil && len(endpoint.URL.String()) > 0 {
   156  		r.HTTPRequest.URL = endpoint.URL
   157  	}
   158  }
   159  
   160  const opTestDiscoveryIdentifiersRequired = "TestDiscoveryIdentifiersRequired"
   161  
   162  // TestDiscoveryIdentifiersRequiredRequest generates a "aws/request.Request" representing the
   163  // client's request for the TestDiscoveryIdentifiersRequired operation. The "output" return
   164  // value will be populated with the request's response once the request completes
   165  // successfully.
   166  //
   167  // Use "Send" method on the returned Request to send the API call to the service.
   168  // the "output" return value is not valid until after Send returns without error.
   169  //
   170  // See TestDiscoveryIdentifiersRequired for more information on using the TestDiscoveryIdentifiersRequired
   171  // API call, and error handling.
   172  //
   173  // This method is useful when you want to inject custom logic or configuration
   174  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   175  //
   176  //
   177  //    // Example sending a request using the TestDiscoveryIdentifiersRequiredRequest method.
   178  //    req, resp := client.TestDiscoveryIdentifiersRequiredRequest(params)
   179  //
   180  //    err := req.Send()
   181  //    if err == nil { // resp is now filled
   182  //        fmt.Println(resp)
   183  //    }
   184  func (c *AwsEndpointDiscoveryTest) TestDiscoveryIdentifiersRequiredRequest(input *TestDiscoveryIdentifiersRequiredInput) (req *request.Request, output *TestDiscoveryIdentifiersRequiredOutput) {
   185  	op := &request.Operation{
   186  		Name:       opTestDiscoveryIdentifiersRequired,
   187  		HTTPMethod: "POST",
   188  		HTTPPath:   "/",
   189  	}
   190  
   191  	if input == nil {
   192  		input = &TestDiscoveryIdentifiersRequiredInput{}
   193  	}
   194  
   195  	output = &TestDiscoveryIdentifiersRequiredOutput{}
   196  	req = c.newRequest(op, input, output)
   197  	// if custom endpoint for the request is set to a non empty string,
   198  	// we skip the endpoint discovery workflow.
   199  	if req.Config.Endpoint == nil || *req.Config.Endpoint == "" {
   200  		de := discovererDescribeEndpoints{
   201  			Required:      true,
   202  			EndpointCache: c.endpointCache,
   203  			Params: map[string]*string{
   204  				"op":  aws.String(req.Operation.Name),
   205  				"Sdk": input.Sdk,
   206  			},
   207  			Client: c,
   208  		}
   209  
   210  		for k, v := range de.Params {
   211  			if v == nil {
   212  				delete(de.Params, k)
   213  			}
   214  		}
   215  
   216  		req.Handlers.Build.PushFrontNamed(request.NamedHandler{
   217  			Name: "crr.endpointdiscovery",
   218  			Fn:   de.Handler,
   219  		})
   220  	}
   221  	return
   222  }
   223  
   224  // TestDiscoveryIdentifiersRequired API operation for AwsEndpointDiscoveryTest.
   225  //
   226  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   227  // with awserr.Error's Code and Message methods to get detailed information about
   228  // the error.
   229  //
   230  // See the AWS API reference guide for AwsEndpointDiscoveryTest's
   231  // API operation TestDiscoveryIdentifiersRequired for usage and error information.
   232  func (c *AwsEndpointDiscoveryTest) TestDiscoveryIdentifiersRequired(input *TestDiscoveryIdentifiersRequiredInput) (*TestDiscoveryIdentifiersRequiredOutput, error) {
   233  	req, out := c.TestDiscoveryIdentifiersRequiredRequest(input)
   234  	return out, req.Send()
   235  }
   236  
   237  // TestDiscoveryIdentifiersRequiredWithContext is the same as TestDiscoveryIdentifiersRequired with the addition of
   238  // the ability to pass a context and additional request options.
   239  //
   240  // See TestDiscoveryIdentifiersRequired for details on how to use this API operation.
   241  //
   242  // The context must be non-nil and will be used for request cancellation. If
   243  // the context is nil a panic will occur. In the future the SDK may create
   244  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   245  // for more information on using Contexts.
   246  func (c *AwsEndpointDiscoveryTest) TestDiscoveryIdentifiersRequiredWithContext(ctx aws.Context, input *TestDiscoveryIdentifiersRequiredInput, opts ...request.Option) (*TestDiscoveryIdentifiersRequiredOutput, error) {
   247  	req, out := c.TestDiscoveryIdentifiersRequiredRequest(input)
   248  	req.SetContext(ctx)
   249  	req.ApplyOptions(opts...)
   250  	return out, req.Send()
   251  }
   252  
   253  const opTestDiscoveryOptional = "TestDiscoveryOptional"
   254  
   255  // TestDiscoveryOptionalRequest generates a "aws/request.Request" representing the
   256  // client's request for the TestDiscoveryOptional operation. The "output" return
   257  // value will be populated with the request's response once the request completes
   258  // successfully.
   259  //
   260  // Use "Send" method on the returned Request to send the API call to the service.
   261  // the "output" return value is not valid until after Send returns without error.
   262  //
   263  // See TestDiscoveryOptional for more information on using the TestDiscoveryOptional
   264  // API call, and error handling.
   265  //
   266  // This method is useful when you want to inject custom logic or configuration
   267  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   268  //
   269  //
   270  //    // Example sending a request using the TestDiscoveryOptionalRequest method.
   271  //    req, resp := client.TestDiscoveryOptionalRequest(params)
   272  //
   273  //    err := req.Send()
   274  //    if err == nil { // resp is now filled
   275  //        fmt.Println(resp)
   276  //    }
   277  func (c *AwsEndpointDiscoveryTest) TestDiscoveryOptionalRequest(input *TestDiscoveryOptionalInput) (req *request.Request, output *TestDiscoveryOptionalOutput) {
   278  	op := &request.Operation{
   279  		Name:       opTestDiscoveryOptional,
   280  		HTTPMethod: "POST",
   281  		HTTPPath:   "/",
   282  	}
   283  
   284  	if input == nil {
   285  		input = &TestDiscoveryOptionalInput{}
   286  	}
   287  
   288  	output = &TestDiscoveryOptionalOutput{}
   289  	req = c.newRequest(op, input, output)
   290  	// if custom endpoint for the request is set to a non empty string,
   291  	// we skip the endpoint discovery workflow.
   292  	if req.Config.Endpoint == nil || *req.Config.Endpoint == "" {
   293  		if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
   294  			de := discovererDescribeEndpoints{
   295  				Required:      false,
   296  				EndpointCache: c.endpointCache,
   297  				Params: map[string]*string{
   298  					"op": aws.String(req.Operation.Name),
   299  				},
   300  				Client: c,
   301  			}
   302  
   303  			for k, v := range de.Params {
   304  				if v == nil {
   305  					delete(de.Params, k)
   306  				}
   307  			}
   308  
   309  			req.Handlers.Build.PushFrontNamed(request.NamedHandler{
   310  				Name: "crr.endpointdiscovery",
   311  				Fn:   de.Handler,
   312  			})
   313  		}
   314  	}
   315  	return
   316  }
   317  
   318  // TestDiscoveryOptional API operation for AwsEndpointDiscoveryTest.
   319  //
   320  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   321  // with awserr.Error's Code and Message methods to get detailed information about
   322  // the error.
   323  //
   324  // See the AWS API reference guide for AwsEndpointDiscoveryTest's
   325  // API operation TestDiscoveryOptional for usage and error information.
   326  func (c *AwsEndpointDiscoveryTest) TestDiscoveryOptional(input *TestDiscoveryOptionalInput) (*TestDiscoveryOptionalOutput, error) {
   327  	req, out := c.TestDiscoveryOptionalRequest(input)
   328  	return out, req.Send()
   329  }
   330  
   331  // TestDiscoveryOptionalWithContext is the same as TestDiscoveryOptional with the addition of
   332  // the ability to pass a context and additional request options.
   333  //
   334  // See TestDiscoveryOptional for details on how to use this API operation.
   335  //
   336  // The context must be non-nil and will be used for request cancellation. If
   337  // the context is nil a panic will occur. In the future the SDK may create
   338  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   339  // for more information on using Contexts.
   340  func (c *AwsEndpointDiscoveryTest) TestDiscoveryOptionalWithContext(ctx aws.Context, input *TestDiscoveryOptionalInput, opts ...request.Option) (*TestDiscoveryOptionalOutput, error) {
   341  	req, out := c.TestDiscoveryOptionalRequest(input)
   342  	req.SetContext(ctx)
   343  	req.ApplyOptions(opts...)
   344  	return out, req.Send()
   345  }
   346  
   347  const opTestDiscoveryRequired = "TestDiscoveryRequired"
   348  
   349  // TestDiscoveryRequiredRequest generates a "aws/request.Request" representing the
   350  // client's request for the TestDiscoveryRequired operation. The "output" return
   351  // value will be populated with the request's response once the request completes
   352  // successfully.
   353  //
   354  // Use "Send" method on the returned Request to send the API call to the service.
   355  // the "output" return value is not valid until after Send returns without error.
   356  //
   357  // See TestDiscoveryRequired for more information on using the TestDiscoveryRequired
   358  // API call, and error handling.
   359  //
   360  // This method is useful when you want to inject custom logic or configuration
   361  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   362  //
   363  //
   364  //    // Example sending a request using the TestDiscoveryRequiredRequest method.
   365  //    req, resp := client.TestDiscoveryRequiredRequest(params)
   366  //
   367  //    err := req.Send()
   368  //    if err == nil { // resp is now filled
   369  //        fmt.Println(resp)
   370  //    }
   371  func (c *AwsEndpointDiscoveryTest) TestDiscoveryRequiredRequest(input *TestDiscoveryRequiredInput) (req *request.Request, output *TestDiscoveryRequiredOutput) {
   372  	op := &request.Operation{
   373  		Name:       opTestDiscoveryRequired,
   374  		HTTPMethod: "POST",
   375  		HTTPPath:   "/",
   376  	}
   377  
   378  	if input == nil {
   379  		input = &TestDiscoveryRequiredInput{}
   380  	}
   381  
   382  	output = &TestDiscoveryRequiredOutput{}
   383  	req = c.newRequest(op, input, output)
   384  	// if custom endpoint for the request is set to a non empty string,
   385  	// we skip the endpoint discovery workflow.
   386  	if req.Config.Endpoint == nil || *req.Config.Endpoint == "" {
   387  		if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
   388  			de := discovererDescribeEndpoints{
   389  				Required:      false,
   390  				EndpointCache: c.endpointCache,
   391  				Params: map[string]*string{
   392  					"op": aws.String(req.Operation.Name),
   393  				},
   394  				Client: c,
   395  			}
   396  
   397  			for k, v := range de.Params {
   398  				if v == nil {
   399  					delete(de.Params, k)
   400  				}
   401  			}
   402  
   403  			req.Handlers.Build.PushFrontNamed(request.NamedHandler{
   404  				Name: "crr.endpointdiscovery",
   405  				Fn:   de.Handler,
   406  			})
   407  		}
   408  	}
   409  	return
   410  }
   411  
   412  // TestDiscoveryRequired API operation for AwsEndpointDiscoveryTest.
   413  //
   414  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   415  // with awserr.Error's Code and Message methods to get detailed information about
   416  // the error.
   417  //
   418  // See the AWS API reference guide for AwsEndpointDiscoveryTest's
   419  // API operation TestDiscoveryRequired for usage and error information.
   420  func (c *AwsEndpointDiscoveryTest) TestDiscoveryRequired(input *TestDiscoveryRequiredInput) (*TestDiscoveryRequiredOutput, error) {
   421  	req, out := c.TestDiscoveryRequiredRequest(input)
   422  	return out, req.Send()
   423  }
   424  
   425  // TestDiscoveryRequiredWithContext is the same as TestDiscoveryRequired with the addition of
   426  // the ability to pass a context and additional request options.
   427  //
   428  // See TestDiscoveryRequired for details on how to use this API operation.
   429  //
   430  // The context must be non-nil and will be used for request cancellation. If
   431  // the context is nil a panic will occur. In the future the SDK may create
   432  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   433  // for more information on using Contexts.
   434  func (c *AwsEndpointDiscoveryTest) TestDiscoveryRequiredWithContext(ctx aws.Context, input *TestDiscoveryRequiredInput, opts ...request.Option) (*TestDiscoveryRequiredOutput, error) {
   435  	req, out := c.TestDiscoveryRequiredRequest(input)
   436  	req.SetContext(ctx)
   437  	req.ApplyOptions(opts...)
   438  	return out, req.Send()
   439  }
   440  
   441  type DescribeEndpointsInput struct {
   442  	_ struct{} `type:"structure"`
   443  
   444  	Operation *string `type:"string"`
   445  }
   446  
   447  // String returns the string representation.
   448  //
   449  // API parameter values that are decorated as "sensitive" in the API will not
   450  // be included in the string output. The member name will be present, but the
   451  // value will be replaced with "sensitive".
   452  func (s DescribeEndpointsInput) String() string {
   453  	return awsutil.Prettify(s)
   454  }
   455  
   456  // GoString returns the string representation.
   457  //
   458  // API parameter values that are decorated as "sensitive" in the API will not
   459  // be included in the string output. The member name will be present, but the
   460  // value will be replaced with "sensitive".
   461  func (s DescribeEndpointsInput) GoString() string {
   462  	return s.String()
   463  }
   464  
   465  // SetOperation sets the Operation field's value.
   466  func (s *DescribeEndpointsInput) SetOperation(v string) *DescribeEndpointsInput {
   467  	s.Operation = &v
   468  	return s
   469  }
   470  
   471  type DescribeEndpointsOutput struct {
   472  	_ struct{} `type:"structure"`
   473  
   474  	// Endpoints is a required field
   475  	Endpoints []*Endpoint `type:"list" required:"true"`
   476  }
   477  
   478  // String returns the string representation.
   479  //
   480  // API parameter values that are decorated as "sensitive" in the API will not
   481  // be included in the string output. The member name will be present, but the
   482  // value will be replaced with "sensitive".
   483  func (s DescribeEndpointsOutput) String() string {
   484  	return awsutil.Prettify(s)
   485  }
   486  
   487  // GoString returns the string representation.
   488  //
   489  // API parameter values that are decorated as "sensitive" in the API will not
   490  // be included in the string output. The member name will be present, but the
   491  // value will be replaced with "sensitive".
   492  func (s DescribeEndpointsOutput) GoString() string {
   493  	return s.String()
   494  }
   495  
   496  // SetEndpoints sets the Endpoints field's value.
   497  func (s *DescribeEndpointsOutput) SetEndpoints(v []*Endpoint) *DescribeEndpointsOutput {
   498  	s.Endpoints = v
   499  	return s
   500  }
   501  
   502  type Endpoint struct {
   503  	_ struct{} `type:"structure"`
   504  
   505  	// Address is a required field
   506  	Address *string `type:"string" required:"true"`
   507  
   508  	// CachePeriodInMinutes is a required field
   509  	CachePeriodInMinutes *int64 `type:"long" required:"true"`
   510  }
   511  
   512  // String returns the string representation.
   513  //
   514  // API parameter values that are decorated as "sensitive" in the API will not
   515  // be included in the string output. The member name will be present, but the
   516  // value will be replaced with "sensitive".
   517  func (s Endpoint) String() string {
   518  	return awsutil.Prettify(s)
   519  }
   520  
   521  // GoString returns the string representation.
   522  //
   523  // API parameter values that are decorated as "sensitive" in the API will not
   524  // be included in the string output. The member name will be present, but the
   525  // value will be replaced with "sensitive".
   526  func (s Endpoint) GoString() string {
   527  	return s.String()
   528  }
   529  
   530  // SetAddress sets the Address field's value.
   531  func (s *Endpoint) SetAddress(v string) *Endpoint {
   532  	s.Address = &v
   533  	return s
   534  }
   535  
   536  // SetCachePeriodInMinutes sets the CachePeriodInMinutes field's value.
   537  func (s *Endpoint) SetCachePeriodInMinutes(v int64) *Endpoint {
   538  	s.CachePeriodInMinutes = &v
   539  	return s
   540  }
   541  
   542  type TestDiscoveryIdentifiersRequiredInput struct {
   543  	_ struct{} `type:"structure"`
   544  
   545  	// Sdk is a required field
   546  	Sdk *string `type:"string" required:"true"`
   547  }
   548  
   549  // String returns the string representation.
   550  //
   551  // API parameter values that are decorated as "sensitive" in the API will not
   552  // be included in the string output. The member name will be present, but the
   553  // value will be replaced with "sensitive".
   554  func (s TestDiscoveryIdentifiersRequiredInput) String() string {
   555  	return awsutil.Prettify(s)
   556  }
   557  
   558  // GoString returns the string representation.
   559  //
   560  // API parameter values that are decorated as "sensitive" in the API will not
   561  // be included in the string output. The member name will be present, but the
   562  // value will be replaced with "sensitive".
   563  func (s TestDiscoveryIdentifiersRequiredInput) GoString() string {
   564  	return s.String()
   565  }
   566  
   567  // Validate inspects the fields of the type to determine if they are valid.
   568  func (s *TestDiscoveryIdentifiersRequiredInput) Validate() error {
   569  	invalidParams := request.ErrInvalidParams{Context: "TestDiscoveryIdentifiersRequiredInput"}
   570  	if s.Sdk == nil {
   571  		invalidParams.Add(request.NewErrParamRequired("Sdk"))
   572  	}
   573  
   574  	if invalidParams.Len() > 0 {
   575  		return invalidParams
   576  	}
   577  	return nil
   578  }
   579  
   580  // SetSdk sets the Sdk field's value.
   581  func (s *TestDiscoveryIdentifiersRequiredInput) SetSdk(v string) *TestDiscoveryIdentifiersRequiredInput {
   582  	s.Sdk = &v
   583  	return s
   584  }
   585  
   586  type TestDiscoveryIdentifiersRequiredOutput struct {
   587  	_ struct{} `type:"structure"`
   588  
   589  	RequestSuccessful *bool `type:"boolean"`
   590  }
   591  
   592  // String returns the string representation.
   593  //
   594  // API parameter values that are decorated as "sensitive" in the API will not
   595  // be included in the string output. The member name will be present, but the
   596  // value will be replaced with "sensitive".
   597  func (s TestDiscoveryIdentifiersRequiredOutput) String() string {
   598  	return awsutil.Prettify(s)
   599  }
   600  
   601  // GoString returns the string representation.
   602  //
   603  // API parameter values that are decorated as "sensitive" in the API will not
   604  // be included in the string output. The member name will be present, but the
   605  // value will be replaced with "sensitive".
   606  func (s TestDiscoveryIdentifiersRequiredOutput) GoString() string {
   607  	return s.String()
   608  }
   609  
   610  // SetRequestSuccessful sets the RequestSuccessful field's value.
   611  func (s *TestDiscoveryIdentifiersRequiredOutput) SetRequestSuccessful(v bool) *TestDiscoveryIdentifiersRequiredOutput {
   612  	s.RequestSuccessful = &v
   613  	return s
   614  }
   615  
   616  type TestDiscoveryOptionalInput struct {
   617  	_ struct{} `type:"structure"`
   618  
   619  	Sdk *string `type:"string"`
   620  }
   621  
   622  // String returns the string representation.
   623  //
   624  // API parameter values that are decorated as "sensitive" in the API will not
   625  // be included in the string output. The member name will be present, but the
   626  // value will be replaced with "sensitive".
   627  func (s TestDiscoveryOptionalInput) String() string {
   628  	return awsutil.Prettify(s)
   629  }
   630  
   631  // GoString returns the string representation.
   632  //
   633  // API parameter values that are decorated as "sensitive" in the API will not
   634  // be included in the string output. The member name will be present, but the
   635  // value will be replaced with "sensitive".
   636  func (s TestDiscoveryOptionalInput) GoString() string {
   637  	return s.String()
   638  }
   639  
   640  // SetSdk sets the Sdk field's value.
   641  func (s *TestDiscoveryOptionalInput) SetSdk(v string) *TestDiscoveryOptionalInput {
   642  	s.Sdk = &v
   643  	return s
   644  }
   645  
   646  type TestDiscoveryOptionalOutput struct {
   647  	_ struct{} `type:"structure"`
   648  
   649  	RequestSuccessful *bool `type:"boolean"`
   650  }
   651  
   652  // String returns the string representation.
   653  //
   654  // API parameter values that are decorated as "sensitive" in the API will not
   655  // be included in the string output. The member name will be present, but the
   656  // value will be replaced with "sensitive".
   657  func (s TestDiscoveryOptionalOutput) String() string {
   658  	return awsutil.Prettify(s)
   659  }
   660  
   661  // GoString returns the string representation.
   662  //
   663  // API parameter values that are decorated as "sensitive" in the API will not
   664  // be included in the string output. The member name will be present, but the
   665  // value will be replaced with "sensitive".
   666  func (s TestDiscoveryOptionalOutput) GoString() string {
   667  	return s.String()
   668  }
   669  
   670  // SetRequestSuccessful sets the RequestSuccessful field's value.
   671  func (s *TestDiscoveryOptionalOutput) SetRequestSuccessful(v bool) *TestDiscoveryOptionalOutput {
   672  	s.RequestSuccessful = &v
   673  	return s
   674  }
   675  
   676  type TestDiscoveryRequiredInput struct {
   677  	_ struct{} `type:"structure"`
   678  
   679  	Sdk *string `type:"string"`
   680  }
   681  
   682  // String returns the string representation.
   683  //
   684  // API parameter values that are decorated as "sensitive" in the API will not
   685  // be included in the string output. The member name will be present, but the
   686  // value will be replaced with "sensitive".
   687  func (s TestDiscoveryRequiredInput) String() string {
   688  	return awsutil.Prettify(s)
   689  }
   690  
   691  // GoString returns the string representation.
   692  //
   693  // API parameter values that are decorated as "sensitive" in the API will not
   694  // be included in the string output. The member name will be present, but the
   695  // value will be replaced with "sensitive".
   696  func (s TestDiscoveryRequiredInput) GoString() string {
   697  	return s.String()
   698  }
   699  
   700  // SetSdk sets the Sdk field's value.
   701  func (s *TestDiscoveryRequiredInput) SetSdk(v string) *TestDiscoveryRequiredInput {
   702  	s.Sdk = &v
   703  	return s
   704  }
   705  
   706  type TestDiscoveryRequiredOutput struct {
   707  	_ struct{} `type:"structure"`
   708  
   709  	RequestSuccessful *bool `type:"boolean"`
   710  }
   711  
   712  // String returns the string representation.
   713  //
   714  // API parameter values that are decorated as "sensitive" in the API will not
   715  // be included in the string output. The member name will be present, but the
   716  // value will be replaced with "sensitive".
   717  func (s TestDiscoveryRequiredOutput) String() string {
   718  	return awsutil.Prettify(s)
   719  }
   720  
   721  // GoString returns the string representation.
   722  //
   723  // API parameter values that are decorated as "sensitive" in the API will not
   724  // be included in the string output. The member name will be present, but the
   725  // value will be replaced with "sensitive".
   726  func (s TestDiscoveryRequiredOutput) GoString() string {
   727  	return s.String()
   728  }
   729  
   730  // SetRequestSuccessful sets the RequestSuccessful field's value.
   731  func (s *TestDiscoveryRequiredOutput) SetRequestSuccessful(v bool) *TestDiscoveryRequiredOutput {
   732  	s.RequestSuccessful = &v
   733  	return s
   734  }